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 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)