Shapes 3D  3.0
 All Classes Functions Variables Pages
shapes3d.path.AbstractPath Class Referenceabstract
Inheritance diagram for shapes3d.path.AbstractPath:

Public Member Functions

int nbrSlices ()
 
abstract PVector point (float t)
 
PVector tangent (float t)
 
PVector orthogonal (float t)
 
boolean isOpenPath ()
 

Public Attributes

PathOrthogonal orthoCalculator = null
 
- Public Attributes inherited from shapes3d.utils.SConstants
int WIRE = 0x00000011
 
int SOLID = 0x00000012
 
int TEXTURE = 0x00000014
 
int DRAWALL = WIRE | SOLID | TEXTURE
 
int WHITE = 0xFFFFFFFF
 
int BLACK = 0xFF000000
 
int GREY = 0xFFC0C0C0
 
int RED = 0xFFFF0000
 
int GREEN = 0xFF00FF00
 
int BLUE = 0xFF0000FF
 
int YELLOW = 0xFFFFFF00
 
int PURPLE = 0xFFFF00FF
 
int CYAN = 0xFF00FFFF
 
int ORANGE = 0xFFFFC000
 
int CW = 1
 
int CCW = 2
 
int ALL = 0b11111111
 
int BOTTOM = 0b00000001
 
int TOP = 0b00000010
 
int FRONT = 0b00000100
 
int BACK = 0b00001000
 
int LEFT = 0b00010000
 
int RIGHT = 0b00100000
 
int BODY = 0b00000001
 
int END0 = 0b00000010
 
int END1 = 0b00000100
 
float ONE_DEG_T = (float) (Math.PI / 180.0)
 
PathOrthogonal ORTHO_X = new PathOrthogonal.PathNormalX()
 
PathOrthogonal ORTHO_Y = new PathOrthogonal.PathNormalY()
 
PathOrthogonal ORTHO_Z = new PathOrthogonal.PathNormalZ()
 
PathOrthogonal ORTHO_A = new PathOrthogonal.PathNormalAMC()
 
TransformUV ROT_0 = TransformUV.ROT0
 
TransformUV ROT_90 = TransformUV.ROT90
 
TransformUV ROT_180 = TransformUV.ROT180
 
TransformUV ROT_270 = TransformUV.ROT270
 
TransformUV FLIP_H = TransformUV.FLIPH
 
TransformUV FLIP_V = TransformUV.FLIPV
 
Rotation ROTATION_ZERO = new Rotation()
 
int T_BOX = 0x1001
 
int T_DOME = 0x1002
 
int T_CONE = 0x1003
 
int T_ELLIPSOID = 0x1004
 
int T_EXTRUSION = 0x1005
 
int T_LATHESTOCK = 0x1006
 
int T_MD2 = 0x1007
 
int T_SKYBOX = 0x1008
 
int T_SKYDOME = 0x1009
 
int T_TERRAIN = 0x100A
 
int T_TUBE = 0x100B
 
int C_LATHESURFACE = 0x2001
 
int C_OVAL = 0x2002
 
int C_POLYGON = 0x2003
 
int P_BCURVE2D = 0x3001
 
int P_BCURVE3D = 0x3002
 
int P_BSPLINE2D = 0x3003
 
int P_BSPLINE3D = 0x3004
 
int P_LINEAR = 0x3005
 
int P_LISSAJOUS = 0x3006
 
int P_RING = 0x3007
 
int P_SPIRAL = 0x3008
 

Protected Member Functions

 AbstractPath ()
 
 AbstractPath (int nbrSlices)
 

Protected Attributes

final int DEFAULT_NBR_SLICES = 100
 
final int nbrSlices
 
boolean pathIsOpen = true
 

Detailed Description

Defines the path that a tubular or extruded shape follows in 3D space.
The parametric parameter 't' defines a position along the path where t=0 is the start and t=1 the end of the shape.

Values of outside the range ≥0 and ≤1 are not on the path and need not be defined in any class implementing this interface.

The attribute nbrSlices does not affect the shape or the path, it only affects the level of detail in shapes using the path.

Author
Peter Lager

Constructor & Destructor Documentation

shapes3d.path.AbstractPath.AbstractPath ( )
protected
Parameters
nbrSlices
shapes3d.path.AbstractPath.AbstractPath ( int  nbrSlices)
protected
Parameters
nbrSlices

Member Function Documentation

boolean shapes3d.path.AbstractPath.isOpenPath ( )
Returns
false if the path forms a closed loop, else true

Implements shapes3d.path.Path.

int shapes3d.path.AbstractPath.nbrSlices ( )
Returns
the number of slices to use in this path

Implements shapes3d.path.Path.

PVector shapes3d.path.AbstractPath.orthogonal ( float  t)

If you don't provide an implementation in the child class this version will attempt to find a solution that minimizes twist along the path.

Parameters
t≥0 and ≤1.0
Returns
a PVector giving the x,y,z coordinates of the tangent orthogonal at position t

Implements shapes3d.path.Path.

abstract PVector shapes3d.path.AbstractPath.point ( float  t)
pure virtual

Get the position along the path.

Parameters
t≥0 and ≤1.0
Returns
a PVector giving the x,y,z coordinates at a position t

Implements shapes3d.path.Path.

Implemented in shapes3d.path.BCurve2D, shapes3d.path.BCurve3D, shapes3d.path.BSpline3D, shapes3d.path.BSpline2D, shapes3d.path.Lissajous, shapes3d.path.Spiral, shapes3d.path.Linear, and shapes3d.path.Ring.

PVector shapes3d.path.AbstractPath.tangent ( float  t)

Get the normalised tangent to the path.

Parameters
t≥0 and ≤1.0
Returns
a PVector giving the x,y,z coordinates of the tangent at position t

Implements shapes3d.path.Path.


The documentation for this class was generated from the following file: