public class PgFrame extends PsObject
Note: access to public instance variables will soon be restricted.
Modifier and Type | Field and Description |
---|---|
PdVector |
base
Base point.
|
PdVector |
e1
Tangent direction.
|
PdVector |
e2
Other orthogonal tangent direction (in case of surfaces).
|
PdVector |
e3
Surface normal (in case of surfaces).
|
HAS_BOUNDARY_PANEL, HAS_CONFIG_PANEL, HAS_INFO_PANEL, HAS_LABEL_PANEL, HAS_MATERIAL_PANEL, HAS_TEXTURE_PANEL, HAS_VECTOR_PANEL, INSPECTOR_INFO, INSPECTOR_INFO_EXT, IS_DELETED, IS_FIXED, IS_FOCUSSED, IS_PICKED, IS_SELECTED, IS_USED, NUM_TAGS
Constructor and Description |
---|
PgFrame(int aDim) |
Modifier and Type | Method and Description |
---|---|
boolean |
blend(double s,
PgFrame a,
double t,
PgFrame b) |
void |
copy(PgFrame aFrame) |
void |
copyVectors(PgFrame aFrame) |
PdVector |
getBase() |
PdVector |
getE1() |
PdVector |
getE2() |
PdVector |
getE3() |
void |
init()
If instance has missing name then assign default name 'Object_NUMBER' where
number is the total number of already created instances.
|
void |
leftMultMatrix(PdMatrix aMatrix) |
void |
leftMultMatrix(PdMatrix aMatrix,
PgFrame aFrame) |
void |
parallelTranslate(PgFrame oldFrame,
PgFrame vertexFrame,
PdVector newVertex,
PdVector newEdge)
Parallel translate a frame along a polygonal curve in R^3.
|
void |
parallelTranslateConstantLength(PgFrame oldFrame,
PgFrame vertexFrame,
PdVector newVertex,
PdVector newEdge)
Parallel translate a frame along a polygonal curve in R^3.
|
static PgFrame[] |
realloc(PgFrame[] data,
int arraySize,
int aDim) |
void |
setBase(PdVector base) |
void |
setE1(PdVector e1) |
void |
setE2(PdVector e2) |
void |
setE3(PdVector e3) |
addInspector, addUpdateListener, assureInspector, clearTag, clone, clone, clone, copy, getFather, getInfoPanel, getInspector, getName, getNumObjects, getSymbol, hasInspector, hasTag, hasUpdateListener, instanceOf, instanceOf, newInspector, newInspector, removeInspector, removeInspector, removeUpdateListener, setName, setParent, setSymbol, setTag, toString, update, updatePanels
public PdVector base
public PdVector e1
public PdVector e2
public PdVector e3
public void init()
PsObject
public void copy(PgFrame aFrame)
public void copyVectors(PgFrame aFrame)
public void leftMultMatrix(PdMatrix aMatrix)
public void parallelTranslate(PgFrame oldFrame, PgFrame vertexFrame, PdVector newVertex, PdVector newEdge)
This version produces a vertex frame such that the connection between the endpoints of two vertex frames has constant distance to the polygon edge. This is what you want to construct a tube (with constant radius) around the polygon.
oldFrame
- frame at previous vertex with e1 parallel to previous edge.vertexFrame
- frame at current vertex, this is the actual result.newVertex
- current vertex where to compute the frame.newEdge
- edge outgoing from current vertex.public void parallelTranslateConstantLength(PgFrame oldFrame, PgFrame vertexFrame, PdVector newVertex, PdVector newEdge)
This version produces a frame with constant vector lengths. This is what you want e.g. if you need an ONB of the normal space at each vertex of a polygon.
oldFrame
- frame at previous vertex with e1 parallel to previous edge.vertexFrame
- frame at current vertex, this is the actual result.newVertex
- current vertex where to compute the frame.newEdge
- edge outgoing from current vertex.public PdVector getBase()
public void setBase(PdVector base)
public PdVector getE1()
public void setE1(PdVector e1)
public PdVector getE2()
public void setE2(PdVector e2)
public PdVector getE3()
public void setE3(PdVector e3)
"