Package javax.media.j3d
Class Bounds
java.lang.Object
javax.media.j3d.Bounds
- All Implemented Interfaces:
Cloneable
- Direct Known Subclasses:
BoundingBox
,BoundingPolytope
,BoundingSphere
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 -
Method Summary
Modifier and TypeMethodDescriptionabstract 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
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
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
(javax.vecmath.Point3d point) Combines this bounding object with a point.abstract void
combine
(javax.vecmath.Point3d[] points) Combines this bounding object with an array of points.abstract boolean
Indicates whether the specifiedbounds
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
Test for intersection with another bounds object.abstract boolean
Test for intersection with another bounds object.abstract boolean
intersect
(javax.vecmath.Point3d point) Test for intersection with a point.abstract boolean
intersect
(javax.vecmath.Point3d origin, javax.vecmath.Vector3d direction) Test for intersection with a ray.abstract boolean
isEmpty()
Tests whether the bounds is empty.abstract void
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.
-
Constructor Details
-
Bounds
public Bounds()Constructs a new Bounds object.
-
-
Method Details
-
clone
Makes a copy of a bounds object. -
equals
Indicates whether the specifiedbounds
object is equal to this Bounds object. They are equal if both the specifiedbounds
object and this Bounds are instances of the same Bounds subclass and all of the data members ofbounds
are equal to the corresponding data members in this Bounds. -
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. -
intersect
public abstract boolean intersect(javax.vecmath.Point3d origin, javax.vecmath.Vector3d direction) Test for intersection with a ray.- Parameters:
origin
- the starting point of the raydirection
- the direction of the ray- Returns:
- true or false indicating if an intersection occured
-
intersect
public abstract boolean intersect(javax.vecmath.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
Test for intersection with another bounds object.- Parameters:
boundsObject
- another bounds object- Returns:
- true or false indicating if an intersection occurred
-
intersect
Test for intersection with another bounds object.- Parameters:
boundsObjects
- an array of bounding objects- Returns:
- true or false indicating if an intersection occured
-
closestIntersection
Finds closest bounding object that intersects this bounding object.- Parameters:
boundsObjects
- an array of bounds objects- Returns:
- closest bounding object
-
combine
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
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(javax.vecmath.Point3d point) Combines this bounding object with a point.- Parameters:
point
- a 3d point in space
-
combine
public abstract void combine(javax.vecmath.Point3d[] points) Combines this bounding object with an array of points.- Parameters:
points
- an array of 3d points in space
-
transform
Transforms this bounding object by the given matrix.- Parameters:
trans
- the transformation matrix
-
transform
Modifies the bounding object so that it bounds the volume generated by transforming the given bounding object.- Parameters:
bounds
- the bounding object to be transformedtrans
- 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
Sets the value of this Bounds object.- Parameters:
boundsObject
- another bounds object.
-