Package org.eclipse.birt.chart.computation

# Class Object3D

java.lang.Object
org.eclipse.birt.chart.computation.Object3D

public class Object3D extends 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 coordinates
`Object3D(Object3D original)`
Construction by another Object3D object
`Object3D(Location3D la)`
Construction by one 3d coordinate
`Object3D(Location3D[] loa)`
Construction by an array of 3d coordinates
`Object3D(Location3D[] loa, boolean inverted)`
Construction by an array of 3d coordinates

## Method Summary

Modifier and Type
Method
Description
`void`
`clip(Engine3D engine)`
Check and clip vectors by given engine.
`Vector`
`getCenter()`
Returns center of gravity of polygon
`Location3D[]`
`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 pt2
`Location[]`
`getPoints2D(double xOffset, double yOffset)`
Returns the projected 2D coordinates for this object
`Object3D`
`getSharedEdge(Object3D other)`
`Vector[]`
`getVectors()`
Returns vectors in model frame for this object
`Vector[]`
`getViewerVectors()`
Returns vectors in viewer frame for this object
`double`
`getXMax()`
Returns maximum X value for this object
`double`
`getXMin()`
Returns minimum X value for this object
`double`
`getYMax()`
Returns maximum Y value for this object
`double`
`getYMin()`
Returns minimum Y value for this object
`double`
`getZMax()`
Returns maximum Z value for this object
`Vector`
`getZMaxPoint()`
`double`
`getZMin()`
Returns minimum Z value for this object
`Vector`
`getZMinPoint()`
`boolean`
`isBehind(Vector point)`
`void`
`perspective(double distance)`
Perspective transformation of the vectors.
`void`
`prepareZSort()`
Prepars for Z-sorting
`void`
`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

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### 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 Details

### 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.

### getSharedEdge

public Object3D getSharedEdge(Object3D other)