Package com.reportmill.graphics
Class RMPath3D
- java.lang.Object
-
- com.reportmill.graphics.RMPath3D
-
- All Implemented Interfaces:
java.lang.Cloneable
public class RMPath3D extends java.lang.Object implements java.lang.CloneableThis class represents a path in 3D space.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddPath(RMPath aPath, float aDepth)Adds a 2D path to the path3D at the given depth.voidalign(RMVector3D vector)Transforms the path so the normal is aligned with the given vector.java.lang.Objectclone()voidclose()Adds a close element to the path3d.intcompare(java.lang.Object anObj)UNUSED!!! Returns wether the given path is behind (ASCEND) or in front (DESCEND) of this path.intcomparePlane(RMPath3D aPath)Returns whether receiver is in front (ORDER_ASCEND) or aPath in front (ORDER_DESCEND).voidcurveTo(float cp1x, float cp1y, float cp1z, float cp2x, float cp2y, float cp2z, float x, float y, float z)Adds a curve-to to the path3d with the given 3d coords.RMPoint3D[]getBBox()Returns the bounding box for the path as {min,max}RMPoint3DgetCenter()Returns the center point of the path.floatgetDistance(RMPoint3D aPoint)Returns the distance from a point to the plane of this polygon.bytegetElement(int anIndex, RMPoint3D[] points)Returns the element at the given index.intgetElementCount()Returns the number of elements in the path3d.RMVector3DgetNormal()Returns the normal of the path3d.RMPathgetPath()Returns a path for the path3d.RMPoint3DgetPoint(int anIndex)Returns the point3d at the given index.intgetPointCount()Returns the number of points in the path3d.floatgetXMax()Returns the max X for the path.floatgetXMin()Returns the max X for the path.floatgetYMax()Returns the max Y for the path.floatgetYMin()Returns the max Y for the path.floatgetZMax()Returns the max Z for the path.floatgetZMin()Returns the max Z for the path.voidlineTo(float x, float y, float z)Adds a line to the path3d with the given 3D coords.voidmoveTo(float x, float y, float z)Adds a moveto to the path3d with the given 3D coords.voidquadTo(float cpx, float cpy, float cpz, float x, float y, float z)Adds a quad to to the path3d with the given 3D control point and coords.voidreverse()Reverses the path3d.voidsetCenter(RMPoint3D aPoint)Sets the center point of the path.voidtransform(RMTransform3D xform)Transforms the path by the given transform3d.
-
-
-
Field Detail
-
MOVE_TO
public static final byte MOVE_TO
- See Also:
- Constant Field Values
-
LINE_TO
public static final byte LINE_TO
- See Also:
- Constant Field Values
-
QUAD_TO
public static final byte QUAD_TO
- See Also:
- Constant Field Values
-
CURVE_TO
public static final byte CURVE_TO
- See Also:
- Constant Field Values
-
CLOSE
public static final byte CLOSE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
RMPath3D
public RMPath3D()
Creates a new empty path.
-
RMPath3D
public RMPath3D(RMPath aPath, float aDepth)
Creates a 3D path from a 2D path with a depth.
-
-
Method Detail
-
clone
public java.lang.Object clone()
- Overrides:
clonein classjava.lang.Object
-
getElement
public byte getElement(int anIndex, RMPoint3D[] points)Returns the element at the given index.
-
getElementCount
public int getElementCount()
Returns the number of elements in the path3d.
-
getPoint
public RMPoint3D getPoint(int anIndex)
Returns the point3d at the given index.
-
getPointCount
public int getPointCount()
Returns the number of points in the path3d.
-
getCenter
public RMPoint3D getCenter()
Returns the center point of the path.
-
setCenter
public void setCenter(RMPoint3D aPoint)
Sets the center point of the path.
-
getNormal
public RMVector3D getNormal()
Returns the normal of the path3d. Right hand rule for clockwise/counter-clockwise defined polygons.
-
getDistance
public float getDistance(RMPoint3D aPoint)
Returns the distance from a point to the plane of this polygon.
-
moveTo
public void moveTo(float x, float y, float z)Adds a moveto to the path3d with the given 3D coords.
-
lineTo
public void lineTo(float x, float y, float z)Adds a line to the path3d with the given 3D coords.
-
quadTo
public void quadTo(float cpx, float cpy, float cpz, float x, float y, float z)Adds a quad to to the path3d with the given 3D control point and coords.
-
curveTo
public void curveTo(float cp1x, float cp1y, float cp1z, float cp2x, float cp2y, float cp2z, float x, float y, float z)Adds a curve-to to the path3d with the given 3d coords.
-
close
public void close()
Adds a close element to the path3d.
-
addPath
public void addPath(RMPath aPath, float aDepth)
Adds a 2D path to the path3D at the given depth.
-
reverse
public void reverse()
Reverses the path3d.
-
transform
public void transform(RMTransform3D xform)
Transforms the path by the given transform3d.
-
align
public void align(RMVector3D vector)
Transforms the path so the normal is aligned with the given vector.
-
getPath
public RMPath getPath()
Returns a path for the path3d.
-
compare
public int compare(java.lang.Object anObj)
UNUSED!!! Returns wether the given path is behind (ASCEND) or in front (DESCEND) of this path.
-
comparePlane
public int comparePlane(RMPath3D aPath)
Returns whether receiver is in front (ORDER_ASCEND) or aPath in front (ORDER_DESCEND). Returns (ORDER_SAME) if the two paths are coplanar, or (ORDER_INDETERMINATE) if they intersect.
-
getBBox
public RMPoint3D[] getBBox()
Returns the bounding box for the path as {min,max}
-
getXMin
public float getXMin()
Returns the max X for the path.
-
getXMax
public float getXMax()
Returns the max X for the path.
-
getYMin
public float getYMin()
Returns the max Y for the path.
-
getYMax
public float getYMax()
Returns the max Y for the path.
-
getZMin
public float getZMin()
Returns the max Z for the path.
-
getZMax
public float getZMax()
Returns the max Z for the path.
-
-