|
|||||||||
| Home >> All >> com >> xerox >> VTM >> [ glyphs overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
com.xerox.VTM.glyphs
Class FPolygon

java.lang.Objectcom.xerox.VTM.glyphs.Glyph
com.xerox.VTM.glyphs.FPolygon
- All Implemented Interfaces:
- java.lang.Cloneable
- Direct Known Subclasses:
- FPolygonST
- public class FPolygon
- extends Glyph
- implements java.lang.Cloneable
- extends Glyph
Custom polygon - CANNOT be resized nor reoriented. This is the old implementation of VPolygon, as found in zvtm 0.8.2. The new version of VPolygon can be resized, but at some cost from the efficiency point of view, so the old version is still provided here and can be used by people who do not intend to resize their Polygon instances (this implementation uses longs instead of doubles for its internal representation of the vertices, see VPolygon for other details)
| Field Summary | |
(package private) ProjPolygon[] |
pc
array of projected coordinates - index of camera in virtual space is equal to index of projected coords in this array |
(package private) long |
vs
height=width in virtual space |
(package private) long[] |
xcoords
|
(package private) long[] |
ycoords
|
| Fields inherited from class com.xerox.VTM.glyphs.Glyph |
bColor, borderColor, cGlyph, coef, color, dashedContour, DEFAULT_STROKE_WIDTH, dependants, filled, font, fontSize, fontSizePolicy, HSV, HSVb, ID, mouseInsideColor, orient, owner, paintBorder, selected, selectedColor, sensit, size, stickedGlyphs, stickedTo, stroke, strokeWidth, text, textHeight, textPos, textWidth, type, visible, vsm, vx, vy, vz |
| Constructor Summary | |
FPolygon(com.xerox.VTM.engine.LongPoint[] v,
java.awt.Color c)
|
|
| Method Summary | |
void |
addCamera(int verifIndex)
used internally to create new projected coordinates to use with the new camera |
java.lang.Object |
clone()
returns a clone of this object (only basic information is cloned for now: shape, orientation, position, size) |
(package private) void |
computeSize()
compute size (bounding circle radius) |
boolean |
coordInside(int x,
int y,
int camIndex)
detects whether the given point is inside this glyph or not |
void |
draw(java.awt.Graphics2D g,
int vW,
int vH,
int i,
java.awt.Stroke stdS,
java.awt.geom.AffineTransform stdT)
draw glyph |
boolean |
fillsView(long w,
long h,
int camIndex)
used to find out if glyph completely fills the view (in which case it is not necessary to repaint objects at a lower altitude) |
com.xerox.VTM.engine.LongPoint[] |
getAbsoluteVertices()
list of vertices in relative coordinates (absolute coordinates) |
double |
getArea()
returns a given FPolygon's area |
com.xerox.VTM.engine.LongPoint |
getCentroid()
return the coordinates of this VShape's centroid in virtual space |
float |
getOrient()
get orientation |
java.awt.geom.Point2D.Double |
getPreciseCentroid()
return the double precision coordinates of this VShape's centroid |
float |
getSize()
get size (bounding circle radius) |
com.xerox.VTM.engine.LongPoint[] |
getVertices()
list of vertices in relative coordinates (w.r.t polygon centroid) |
java.lang.String |
getVerticesAsText()
returns a semicolon-separated string representation of the vertex absolute coordinates for this polygon (x and y coordinates seperated by commas, e.g. |
void |
initCams(int nbCam)
called when glyph is created in order to create the initial set of projected coordinates wrt the number of cameras in the space |
int |
mouseInOut(int x,
int y,
int camIndex)
returns 1 if mouse has entered the glyph, -1 if it has exited the glyph, 0 if nothing has changed (meaning it was already inside or outside it) |
void |
orientTo(float angle)
set orientation (absolute) - no effect |
void |
project(com.xerox.VTM.engine.Camera c,
com.xerox.VTM.engine.ViewPanel v)
project shape in camera coord sys prior to actual painting |
void |
removeCamera(int index)
if a camera is removed from the virtual space, we should delete the corresponding projected coordinates, but do not modify the array it self because we do not want to change other cameras' index - just point to null |
void |
resetMouseIn(int i)
reset prevMouseIn for projected coordinates nb i |
void |
reSize(float factor)
multiply bounding circle radius by factor (no effect) |
void |
sizeTo(float radius)
set absolute size by setting bounding circle radius (no effect) |
(package private) void |
textDraw(java.awt.Graphics2D g,
int i)
draw text associated with this glyph |
| Methods inherited from class com.xerox.VTM.glyphs.Glyph |
addDependant, addHSVbColor, addHSVColor, drawMe, getCGlyph, getColor, getColorb, getDependants, getFillStatus, getFont, getHSVbColor, getHSVColor, getID, getLocation, getOwner, getPaintBorderStatus, getStickedGlyphs, getStroke, getStrokeWidth, getText, getType, isSelected, isSensitive, isVisible, move, moveTo, propagateMove, removeDependant, select, setBorderColor, setCGlyph, setColor, setDashed, setFill, setFontSizePolicy, setHSVbColor, setHSVColor, setID, setMouseInsideColor, setOwner, setPaintBorder, setSelectedColor, setSensitivity, setSpecialFont, setStroke, setStrokeWidth, setText, setTextPos, setType, setVisible, setVSM, stick, toString, unstick, usesSpecialFont |
| Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
vs
long vs
- height=width in virtual space
pc
ProjPolygon[] pc
- array of projected coordinates - index of camera in virtual space is equal to index of projected coords in this array
xcoords
long[] xcoords
ycoords
long[] ycoords
| Constructor Detail |
FPolygon
public FPolygon(com.xerox.VTM.engine.LongPoint[] v, java.awt.Color c)
| Method Detail |
initCams
public void initCams(int nbCam)
- called when glyph is created in order to create the initial set of projected coordinates wrt the number of cameras in the space
addCamera
public void addCamera(int verifIndex)
- used internally to create new projected coordinates to use with the new camera
removeCamera
public void removeCamera(int index)
- if a camera is removed from the virtual space, we should delete the corresponding projected coordinates, but do not modify the array it self because we do not want to change other cameras' index - just point to null
- Specified by:
removeCamerain classGlyph
resetMouseIn
public void resetMouseIn(int i)
- reset prevMouseIn for projected coordinates nb i
- Specified by:
resetMouseInin classGlyph
getOrient
public float getOrient()
orientTo
public void orientTo(float angle)
getSize
public float getSize()
computeSize
void computeSize()
- compute size (bounding circle radius)
sizeTo
public void sizeTo(float radius)
reSize
public void reSize(float factor)
fillsView
public boolean fillsView(long w,
long h,
int camIndex)
- used to find out if glyph completely fills the view (in which case it is not necessary to repaint objects at a lower altitude)
coordInside
public boolean coordInside(int x,
int y,
int camIndex)
- detects whether the given point is inside this glyph or not
- Specified by:
coordInsidein classGlyph
mouseInOut
public int mouseInOut(int x,
int y,
int camIndex)
- returns 1 if mouse has entered the glyph, -1 if it has exited the glyph, 0 if nothing has changed (meaning it was already inside or outside it)
- Specified by:
mouseInOutin classGlyph
getVertices
public com.xerox.VTM.engine.LongPoint[] getVertices()
- list of vertices in relative coordinates (w.r.t polygon centroid)
getAbsoluteVertices
public com.xerox.VTM.engine.LongPoint[] getAbsoluteVertices()
- list of vertices in relative coordinates (absolute coordinates)
getVerticesAsText
public java.lang.String getVerticesAsText()
- returns a semicolon-separated string representation of the vertex absolute coordinates for this polygon (x and y coordinates seperated by commas, e.g. x1,y1;x2,y2;x3,y3 etc.)
project
public void project(com.xerox.VTM.engine.Camera c, com.xerox.VTM.engine.ViewPanel v)
textDraw
void textDraw(java.awt.Graphics2D g, int i)
- draw text associated with this glyph
draw
public void draw(java.awt.Graphics2D g, int vW, int vH, int i, java.awt.Stroke stdS, java.awt.geom.AffineTransform stdT)
getArea
public double getArea()
- returns a given FPolygon's area
getPreciseCentroid
public java.awt.geom.Point2D.Double getPreciseCentroid()
- return the double precision coordinates of this VShape's centroid
getCentroid
public com.xerox.VTM.engine.LongPoint getCentroid()
- return the coordinates of this VShape's centroid in virtual space
clone
public java.lang.Object clone()
- returns a clone of this object (only basic information is cloned for now: shape, orientation, position, size)
|
|||||||||
| Home >> All >> com >> xerox >> VTM >> [ glyphs overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC