javax.media.j3d

## Class Bounds

- java.lang.Object
- - javax.media.j3d.Bounds

- All Implemented Interfaces:
    java.lang.Cloneable
  Direct Known Subclasses:
    BoundingBox, BoundingPolytope, BoundingSphere

      public abstract class Bounds
      extends java.lang.Object
      implements java.lang.Cloneable

  The abstract base class for bounds objects. Bounds objects define a convex, closed volume that is used for various intersection and culling operations.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Bounds()` Constructs a new Bounds object.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract java.lang.Object` | `clone()` Makes a copy of a bounds object.
    `abstract Bounds` | `closestIntersection(Bounds[] boundsObjects)` Finds closest bounding object that intersects this bounding object.
    `abstract void` | `combine(Bounds boundsObject)` Combines this bounding object with a bounding object so that the resulting bounding object encloses the original bounding object and the given bounds object.
    `abstract void` | `combine(Bounds[] boundsObjects)` Combines this bounding object with an array of bounding objects so that the resulting bounding object encloses the original bounding object and the given array of bounds object.
    `abstract void` | `combine(Point3d point)` Combines this bounding object with a point.
    `abstract void` | `combine(Point3d[] points)` Combines this bounding object with an array of points.
    `abstract boolean` | `equals(java.lang.Object bounds)` Indicates whether the specified `bounds` object is equal to this Bounds object.
    `abstract int` | `hashCode()` Returns a hash code for this Bounds object based on the data values in this object.
    `abstract boolean` | `intersect(Bounds boundsObject)` Test for intersection with another bounds object.
    `abstract boolean` | `intersect(Bounds[] boundsObjects)` Test for intersection with another bounds object.
    `abstract boolean` | `intersect(Point3d point)` Test for intersection with a point.
    `abstract boolean` | `intersect(Point3d origin, Vector3d direction)` Test for intersection with a ray.
    `abstract boolean` | `isEmpty()` Tests whether the bounds is empty.
    `abstract void` | `set(Bounds boundsObject)` Sets the value of this Bounds object.
    `abstract void` | `transform(Bounds bounds, Transform3D trans)` Modifies the bounding object so that it bounds the volume generated by transforming the given bounding object.
    `abstract void` | `transform(Transform3D trans)` Transforms this bounding object by the given matrix.

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

      `finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Bounds

          public Bounds()

      Constructs a new Bounds object.

  - ### Method Detail

    - #### clone

          public abstract java.lang.Object clone()

      Makes a copy of a bounds object.
      Overrides:
        `clone` in class `java.lang.Object`

    - #### equals

          public abstract boolean equals(java.lang.Object bounds)

      Indicates whether the specified `bounds` object is equal to this Bounds object. They are equal if both the specified `bounds` object and this Bounds are instances of the same Bounds subclass and all of the data members of `bounds` are equal to the corresponding data members in this Bounds.
      Overrides:
        `equals` in class `java.lang.Object`
      Parameters:
        `bounds` - the object with which the comparison is made.
      Returns:
        true if this Bounds object is equal to `bounds`; otherwise false
      Since:
        Java 3D 1.2

    - #### hashCode

          public abstract int hashCode()

      Returns a hash code for this Bounds object based on the data values in this object. Two different Bounds objects of the same type with identical data values (i.e., Bounds.equals returns true) will return the same hash code. Two Bounds objects with different data members may return the same hash code value, although this is not likely.
      Overrides:
        `hashCode` in class `java.lang.Object`
      Returns:
        a hash code for this Bounds object.
      Since:
        Java 3D 1.2

    - #### intersect

          public abstract boolean intersect(Point3d origin,
                          Vector3d direction)

      Test for intersection with a ray.
      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 abstract boolean intersect(Point3d point)

      Test for intersection with a point.
      Parameters:
        `point` - a point defining a position in 3-space
      Returns:
        true or false indicating if an intersection occured

    - #### intersect

          public abstract boolean intersect(Bounds boundsObject)

      Test for intersection with another bounds object.
      Parameters:
        `boundsObject` - another bounds object
      Returns:
        true or false indicating if an intersection occurred

    - #### intersect

          public abstract boolean intersect(Bounds[] boundsObjects)

      Test for intersection with another bounds object.
      Parameters:
        `boundsObjects` - an array of bounding objects
      Returns:
        true or false indicating if an intersection occured

    - #### closestIntersection

          public abstract Bounds closestIntersection(Bounds[] boundsObjects)

      Finds closest bounding object that intersects this bounding object.
      Parameters:
        `boundsObjects` - an array of bounds objects
      Returns:
        closest bounding object

    - #### combine

          public abstract void combine(Bounds boundsObject)

      Combines this bounding object with a bounding object so that the resulting bounding object encloses the original bounding object and the given bounds object.
      Parameters:
        `boundsObject` - another bounds object

    - #### combine

          public abstract void combine(Bounds[] boundsObjects)

      Combines this bounding object with an array of bounding objects so that the resulting bounding object encloses the original bounding object and the given array of bounds object.
      Parameters:
        `boundsObjects` - an array of bounds objects

    - #### combine

          public abstract void combine(Point3d point)

      Combines this bounding object with a point.
      Parameters:
        `point` - a 3d point in space

    - #### combine

          public abstract void combine(Point3d[] points)

      Combines this bounding object with an array of points.
      Parameters:
        `points` - an array of 3d points in space

    - #### transform

          public abstract void transform(Transform3D trans)

      Transforms this bounding object by the given matrix.
      Parameters:
        `trans` - the transformation matrix

    - #### transform

          public abstract void transform(Bounds bounds,
                       Transform3D trans)

      Modifies the bounding object so that it bounds the volume generated by transforming the given bounding object.
      Parameters:
        `bounds` - the bounding object to be transformed
        `trans` - the transformation matrix

    - #### isEmpty

          public abstract boolean isEmpty()

      Tests whether the bounds is empty. A bounds is empty if it is null (either by construction or as the result of a null intersection) or if its volume is negative. A bounds with a volume of zero is not empty.
      Returns:
        true if the bounds is empty; otherwise, it returns false

    - #### set

          public abstract void set(Bounds boundsObject)

      Sets the value of this Bounds object.
      Parameters:
        `boundsObject` - another bounds object.

Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.