jvx.geom
Class PgFrame
- java.lang.Object
-
- jv.object.PsObject
-
- jvx.geom.PgFrame
-
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, PsUpdateIf
public class PgFrame extends PsObject
Moving frame along curves (pending: and surfaces) in R^3.Note: access to public instance variables will soon be restricted.
- See Also:
- Serialized Form
- Author:
- Konrad Polthier
- Version:
- 29.11.04, 2.20 revised (ep) Getter/Setter methods for instance variables.
Parallel translation with constant vector lengths at vertices and edges.
18.03.04, 2.10 revised (kp) Instance variables are no longer public.
01.04.00, 2.00 revised (kp) Moved from package jv.rsrc to jvx.rsrc.
00.00.98, 1.00 created (kp)
-
-
Field Summary
Fields Modifier and Type Field and Description PdVectorbaseBase point.PdVectore1Tangent direction.PdVectore2Other orthogonal tangent direction (in case of surfaces).PdVectore3Surface normal (in case of surfaces).-
Fields inherited from class jv.object.PsObject
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 Summary
Constructors Constructor and Description PgFrame(int aDim)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description booleanblend(double s, PgFrame a, double t, PgFrame b)voidcopy(PgFrame aFrame)voidcopyVectors(PgFrame aFrame)PdVectorgetBase()PdVectorgetE1()PdVectorgetE2()PdVectorgetE3()voidinit()If instance has missing name then assign default name 'Object_NUMBER' where number is the total number of already created instances.voidleftMultMatrix(PdMatrix aMatrix)voidleftMultMatrix(PdMatrix aMatrix, PgFrame aFrame)voidparallelTranslate(PgFrame oldFrame, PgFrame vertexFrame, PdVector newVertex, PdVector newEdge)Parallel translate a frame along a polygonal curve in R^3.voidparallelTranslateConstantLength(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)voidsetBase(PdVector base)voidsetE1(PdVector e1)voidsetE2(PdVector e2)voidsetE3(PdVector e3)-
Methods inherited from class jv.object.PsObject
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
-
-
-
-
Field Detail
-
base
public PdVector base
Base point.
-
e1
public PdVector e1
Tangent direction.
-
e2
public PdVector e2
Other orthogonal tangent direction (in case of surfaces).
-
e3
public PdVector e3
Surface normal (in case of surfaces).
-
-
Method Detail
-
init
public void init()
Description copied from class:PsObjectIf instance has missing name then assign default name 'Object_NUMBER' where number is the total number of already created instances.
-
copy
public void copy(PgFrame aFrame)
-
copyVectors
public void copyVectors(PgFrame aFrame)
-
leftMultMatrix
public void leftMultMatrix(PdMatrix aMatrix)
-
parallelTranslate
public void parallelTranslate(PgFrame oldFrame, PgFrame vertexFrame, PdVector newVertex, PdVector newEdge)
Parallel translate a frame along a polygonal curve in R^3. The vertexFrame is the resulting frame at the given vertex. This frame object is used to store a frame at the current vertex whose e1 direction is parallel to the newEdge, i.e. this frame can be used as the oldFrame for another call of this method to compute the frame at the next vertex.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.
- Parameters:
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.
-
parallelTranslateConstantLength
public void parallelTranslateConstantLength(PgFrame oldFrame, PgFrame vertexFrame, PdVector newVertex, PdVector newEdge)
Parallel translate a frame along a polygonal curve in R^3. The vertexFrame is the resulting frame at the given vertex. This frame object is used to store a frame at the current vertex whose e1 direction is parallel to the newEdge, i.e. this frame can be used as the oldFrame for another call of this method to compute the frame at the next vertex.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.
- Parameters:
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.
-
getBase
public PdVector getBase()
-
setBase
public void setBase(PdVector base)
-
getE1
public PdVector getE1()
-
setE1
public void setE1(PdVector e1)
-
getE2
public PdVector getE2()
-
setE2
public void setE2(PdVector e2)
-
getE3
public PdVector getE3()
-
setE3
public void setE3(PdVector e3)
-
-
"