Class BoundingBox

java.lang.Object
javax.media.j3d.Bounds
javax.media.j3d.BoundingBox
All Implemented Interfaces:
Cloneable

public class BoundingBox extends Bounds
This class defines an axis aligned bounding box which is used for bounding regions.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs and initializes a 2X bounding box about the origin.
    BoundingBox(Bounds boundsObject)
    Constructs a BoundingBox from a bounding object.
    BoundingBox(Bounds[] bounds)
    Constructs a BoundingBox from an array of bounding objects.
    BoundingBox(javax.vecmath.Point3d lower, javax.vecmath.Point3d upper)
    Constructs and initializes a BoundingBox given min,max in x,y,z.
  • Method Summary

    Modifier and Type
    Method
    Description
    Creates a copy of this bounding box.
    closestIntersection(Bounds[] boundsObjects)
    Finds closest bounding object that intersects this bounding box.
    void
    combine(Bounds boundsObject)
    Combines this bounding box with a bounding object so that the resulting bounding box encloses the original bounding box and the specified bounds object.
    void
    combine(Bounds[] bounds)
    Combines this bounding box with an array of bounding objects so that the resulting bounding box encloses the original bounding box and the array of bounding objects.
    void
    combine(javax.vecmath.Point3d point)
    Combines this bounding box with a point so that the resulting bounding box encloses the original bounding box and the point.
    void
    combine(javax.vecmath.Point3d[] points)
    Combines this bounding box with an array of points so that the resulting bounding box encloses the original bounding box and the array of points.
    boolean
    equals(Object bounds)
    Indicates whether the specified bounds object is equal to this BoundingBox object.
    void
    getLower(javax.vecmath.Point3d p1)
    Gets the lower corner of this bounding box.
    void
    getUpper(javax.vecmath.Point3d p1)
    Gets the upper corner of this bounding box.
    int
    Returns a hash code value for this BoundingBox object based on the data values in this object.
    boolean
    intersect(Bounds boundsObject)
    Test for intersection with another bounds object.
    boolean
    intersect(Bounds[] boundsObjects)
    Test for intersection with an array of bounds objects.
    boolean
    intersect(Bounds[] boundsObjects, BoundingBox newBoundBox)
    Test for intersection with an array of bounds objects.
    boolean
    intersect(Bounds boundsObject, BoundingBox newBoundBox)
    Test for intersection with another bounding box.
    boolean
    intersect(javax.vecmath.Point3d point)
    Test for intersection with a point.
    boolean
    intersect(javax.vecmath.Point3d origin, javax.vecmath.Vector3d direction)
    Test for intersection with a ray.
    boolean
    Tests whether the bounding box is empty.
    void
    set(Bounds boundsObject)
    Sets the the value of this BoundingBox
    void
    setLower(double xmin, double ymin, double zmin)
    Sets the lower corner of this bounding box.
    void
    setLower(javax.vecmath.Point3d p1)
    Sets the lower corner of this bounding box.
    void
    setUpper(double xmax, double ymax, double zmax)
    Sets the upper corner of this bounding box.
    void
    setUpper(javax.vecmath.Point3d p1)
    Sets the upper corner of this bounding box.
    Returns a string representation of this class.
    void
    transform(Bounds boundsObject, Transform3D matrix)
    Modifies the bounding box so that it bounds the volume generated by transforming the given bounding object.
    void
    Transforms this bounding box by the given matrix.

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • BoundingBox

      public BoundingBox(javax.vecmath.Point3d lower, javax.vecmath.Point3d upper)
      Constructs and initializes a BoundingBox given min,max in x,y,z.
      Parameters:
      lower - the "small" corner
      upper - the "large" corner
    • BoundingBox

      public BoundingBox()
      Constructs and initializes a 2X bounding box about the origin. The lower corner is initialized to (-1.0d, -1.0d, -1.0d) and the opper corner is initialized to (1.0d, 1.0d, 1.0d).
    • BoundingBox

      public BoundingBox(Bounds boundsObject)
      Constructs a BoundingBox from a bounding object.
      Parameters:
      boundsObject - a bounds object
    • BoundingBox

      public BoundingBox(Bounds[] bounds)
      Constructs a BoundingBox from an array of bounding objects.
      Parameters:
      bounds - an array of bounding objects
  • Method Details

    • getLower

      public void getLower(javax.vecmath.Point3d p1)
      Gets the lower corner of this bounding box.
      Parameters:
      p1 - a Point to receive the lower corner of the bounding box
    • setLower

      public void setLower(double xmin, double ymin, double zmin)
      Sets the lower corner of this bounding box.
      Parameters:
      xmin - minimum x value of boundining box
      ymin - minimum y value of boundining box
      zmin - minimum z value of boundining box
    • setLower

      public void setLower(javax.vecmath.Point3d p1)
      Sets the lower corner of this bounding box.
      Parameters:
      p1 - a Point defining the new lower corner of the bounding box
    • getUpper

      public void getUpper(javax.vecmath.Point3d p1)
      Gets the upper corner of this bounding box.
      Parameters:
      p1 - a Point to receive the upper corner of the bounding box
    • setUpper

      public void setUpper(double xmax, double ymax, double zmax)
      Sets the upper corner of this bounding box.
      Parameters:
      xmax - max x value of boundining box
      ymax - max y value of boundining box
      zmax - max z value of boundining box
    • setUpper

      public void setUpper(javax.vecmath.Point3d p1)
      Sets the upper corner of this bounding box.
      Parameters:
      p1 - a Point defining the new upper corner of the bounding box
    • set

      public void set(Bounds boundsObject)
      Sets the the value of this BoundingBox
      Specified by:
      set in class Bounds
      Parameters:
      boundsObject - another bounds object
    • clone

      public Object clone()
      Creates a copy of this bounding box.
      Specified by:
      clone in class Bounds
      Returns:
      a new bounding box
    • equals

      public boolean equals(Object bounds)
      Indicates whether the specified bounds object is equal to this BoundingBox object. They are equal if the specified bounds object is an instance of BoundingBox and all of the data members of bounds are equal to the corresponding data members in this BoundingBox.
      Specified by:
      equals in class Bounds
      Parameters:
      bounds - the object with which the comparison is made.
      Returns:
      true if this BoundingBox is equal to bounds; otherwise false
      Since:
      Java 3D 1.2
    • hashCode

      public int hashCode()
      Returns a hash code value for this BoundingBox object based on the data values in this object. Two different BoundingBox objects with identical data values (i.e., BoundingBox.equals returns true) will return the same hash code value. Two BoundingBox objects with different data members may return the same hash code value, although this is not likely.
      Specified by:
      hashCode in class Bounds
      Returns:
      a hash code value for this BoundingBox object.
      Since:
      Java 3D 1.2
    • combine

      public void combine(Bounds boundsObject)
      Combines this bounding box with a bounding object so that the resulting bounding box encloses the original bounding box and the specified bounds object.
      Specified by:
      combine in class Bounds
      Parameters:
      boundsObject - another bounds object
    • combine

      public void combine(Bounds[] bounds)
      Combines this bounding box with an array of bounding objects so that the resulting bounding box encloses the original bounding box and the array of bounding objects.
      Specified by:
      combine in class Bounds
      Parameters:
      bounds - an array of bounds objects
    • combine

      public void combine(javax.vecmath.Point3d point)
      Combines this bounding box with a point so that the resulting bounding box encloses the original bounding box and the point.
      Specified by:
      combine in class Bounds
      Parameters:
      point - a 3d point in space
    • combine

      public void combine(javax.vecmath.Point3d[] points)
      Combines this bounding box with an array of points so that the resulting bounding box encloses the original bounding box and the array of points.
      Specified by:
      combine in class Bounds
      Parameters:
      points - an array of 3d points in space
    • transform

      public void transform(Bounds boundsObject, Transform3D matrix)
      Modifies the bounding box so that it bounds the volume generated by transforming the given bounding object.
      Specified by:
      transform in class Bounds
      Parameters:
      boundsObject - the bounding object to be transformed
      matrix - a transformation matrix
    • transform

      public void transform(Transform3D matrix)
      Transforms this bounding box by the given matrix.
      Specified by:
      transform in class Bounds
      Parameters:
      matrix - a transformation matrix
    • intersect

      public boolean intersect(javax.vecmath.Point3d origin, javax.vecmath.Vector3d direction)
      Test for intersection with a ray.
      Specified by:
      intersect in class Bounds
      Parameters:
      origin - the starting point of the ray
      direction - the direction of the ray
      Returns:
      true or false indicating if an intersection occured
    • intersect

      public boolean intersect(javax.vecmath.Point3d point)
      Test for intersection with a point.
      Specified by:
      intersect in class Bounds
      Parameters:
      point - a point defining a position in 3-space
      Returns:
      true or false indicating if an intersection occured
    • isEmpty

      public boolean isEmpty()
      Tests whether the bounding box is empty. A bounding box is empty if it is null (either by construction or as the result of a null intersection) or if its volume is negative. A bounding box with a volume of zero is not empty.
      Specified by:
      isEmpty in class Bounds
      Returns:
      true if the bounding box is empty; otherwise, it returns false
    • intersect

      public boolean intersect(Bounds boundsObject)
      Test for intersection with another bounds object.
      Specified by:
      intersect in class Bounds
      Parameters:
      boundsObject - another bounds object
      Returns:
      true or false indicating if an intersection occured
    • intersect

      public boolean intersect(Bounds[] boundsObjects)
      Test for intersection with an array of bounds objects.
      Specified by:
      intersect in class Bounds
      Parameters:
      boundsObjects - an array of bounding objects
      Returns:
      true or false indicating if an intersection occured
    • intersect

      public boolean intersect(Bounds boundsObject, BoundingBox newBoundBox)
      Test for intersection with another bounding box.
      Parameters:
      boundsObject - another bounding object
      newBoundBox - the new bounding box which is the intersection of the boundsObject and this BoundingBox
      Returns:
      true or false indicating if an intersection occured
    • intersect

      public boolean intersect(Bounds[] boundsObjects, BoundingBox newBoundBox)
      Test for intersection with an array of bounds objects.
      Parameters:
      boundsObjects - an array of bounds objects
      newBoundBox - the new bounding box which is the intersection of the boundsObject and this BoundingBox
      Returns:
      true or false indicating if an intersection occured
    • closestIntersection

      public Bounds closestIntersection(Bounds[] boundsObjects)
      Finds closest bounding object that intersects this bounding box.
      Specified by:
      closestIntersection in class Bounds
      Parameters:
      boundsObjects - an array of bounds objects
      Returns:
      closest bounding object
    • toString

      public String toString()
      Returns a string representation of this class.
      Overrides:
      toString in class Object