Class Object3D
- java.lang.Object
-
- org.eclipse.birt.chart.computation.Object3D
-
public class Object3D extends java.lang.Object
This class represents a 3D object and is used to perform all 3d operations.
-
-
Constructor Summary
Constructors Constructor Description Object3D(int points)
Construction by an empty array of coordinatesObject3D(Object3D original)
Construction by another Object3D objectObject3D(Location3D la)
Construction by one 3d coordinateObject3D(Location3D[] loa)
Construction by an array of 3d coordinatesObject3D(Location3D[] loa, boolean inverted)
Construction by an array of 3d coordinates
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clip(Engine3D engine)
Check and clip vectors by given engine.Vector
getCenter()
Returns center of gravity of polygonLocation3D[]
getLocation3D()
Returns the 3d coordinates for this object.Vector
getNormal()
returns the normal vector (pointing outside the enclosed volume for oriented polygons.)static Vector
getPlaneNormal(Vector pt0, Vector pt1, Vector pt2)
return the normal (orientation) vector of the plane determined by points pt0, pt1 and pt2Location[]
getPoints2D(double xOffset, double yOffset)
Returns the projected 2D coordinates for this objectObject3D
getSharedEdge(Object3D other)
Vector[]
getVectors()
Returns vectors in model frame for this objectVector[]
getViewerVectors()
Returns vectors in viewer frame for this objectdouble
getXMax()
Returns maximum X value for this objectdouble
getXMin()
Returns minimum X value for this objectdouble
getYMax()
Returns maximum Y value for this objectdouble
getYMin()
Returns minimum Y value for this objectdouble
getZMax()
Returns maximum Z value for this objectVector
getZMaxPoint()
double
getZMin()
Returns minimum Z value for this objectVector
getZMinPoint()
boolean
isBehind(Vector point)
void
perspective(double distance)
Perspective transformation of the vectors.void
prepareZSort()
Prepars for Z-sortingvoid
reset()
Resets all values to defaults.boolean
testSwap(Object3D near, Engine3D engine)
Tests if two objects need swapping.boolean
testZOverlap(Object3D near)
Tests if two objects overlap in Z direction.void
transform(org.eclipse.birt.chart.internal.computations.Matrix m)
Performs transformation by given matrix
-
-
-
Constructor Detail
-
Object3D
public Object3D(int points)
Construction by an empty array of coordinates
-
Object3D
public Object3D(Location3D la)
Construction by one 3d coordinate
-
Object3D
public Object3D(Location3D[] loa)
Construction by an array of 3d coordinates- Parameters:
the
- points that constitue the 3D object. If there are more than 2 points the order of points decides the orientation of the surface. Only the outside face is painted, unless the object is double-sided. Note that polygons making a volume should not be double-sided.
-
Object3D
public Object3D(Location3D[] loa, boolean inverted)
Construction by an array of 3d coordinates- Parameters:
loa
-inverted
- invert the order of points to change the surface orientation
-
Object3D
public Object3D(Object3D original)
Construction by another Object3D object
-
-
Method Detail
-
getLocation3D
public Location3D[] getLocation3D()
Returns the 3d coordinates for this object.
-
getPlaneNormal
public static Vector getPlaneNormal(Vector pt0, Vector pt1, Vector pt2)
return the normal (orientation) vector of the plane determined by points pt0, pt1 and pt2- Parameters:
pt0
-pt1
-pt2
-- Returns:
-
getNormal
public Vector getNormal()
returns the normal vector (pointing outside the enclosed volume for oriented polygons.)
-
getCenter
public Vector getCenter()
Returns center of gravity of polygon
-
reset
public void reset()
Resets all values to defaults.
-
getZMaxPoint
public Vector getZMaxPoint()
-
getZMinPoint
public Vector getZMinPoint()
-
getXMax
public double getXMax()
Returns maximum X value for this object
-
getXMin
public double getXMin()
Returns minimum X value for this object
-
getYMax
public double getYMax()
Returns maximum Y value for this object
-
getYMin
public double getYMin()
Returns minimum Y value for this object
-
getZMax
public double getZMax()
Returns maximum Z value for this object
-
getZMin
public double getZMin()
Returns minimum Z value for this object
-
transform
public void transform(org.eclipse.birt.chart.internal.computations.Matrix m)
Performs transformation by given matrix
-
clip
public void clip(Engine3D engine)
Check and clip vectors by given engine.
-
prepareZSort
public void prepareZSort()
Prepars for Z-sorting
-
perspective
public void perspective(double distance)
Perspective transformation of the vectors.
-
getVectors
public Vector[] getVectors()
Returns vectors in model frame for this object
-
getViewerVectors
public Vector[] getViewerVectors()
Returns vectors in viewer frame for this object
-
getPoints2D
public Location[] getPoints2D(double xOffset, double yOffset)
Returns the projected 2D coordinates for this object
-
isBehind
public boolean isBehind(Vector point)
-
testSwap
public boolean testSwap(Object3D near, Engine3D engine)
Tests if two objects need swapping.
-
testZOverlap
public boolean testZOverlap(Object3D near)
Tests if two objects overlap in Z direction.
-
-