|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.jme.bounding.BoundingVolume
public abstract class BoundingVolume
BoundingVolume
defines an interface for dealing with
containment of a collection of points.
Nested Class Summary | |
---|---|
static class |
BoundingVolume.Type
|
Field Summary | |
---|---|
protected static Vector3f |
_compVect1
|
protected static Vector3f |
_compVect2
|
protected static Vector3f |
_compVect3
|
protected Vector3f |
center
|
protected int |
checkPlane
|
Constructor Summary | |
---|---|
BoundingVolume()
|
|
BoundingVolume(Vector3f center)
|
Method Summary | |
---|---|
abstract BoundingVolume |
clone(BoundingVolume store)
clone creates a new BoundingVolume object containing the
same data as this one. |
abstract void |
computeFromPoints(java.nio.FloatBuffer points)
computeFromPoints generates a bounding volume that
encompasses a collection of points. |
abstract void |
computeFromTris(int[] triIndex,
TriMesh mesh,
int start,
int end)
|
abstract void |
computeFromTris(Triangle[] tris,
int start,
int end)
|
abstract boolean |
contains(Vector3f point)
determines if a given point is contained within this bounding volume. |
float |
distanceSquaredTo(Vector3f point)
Find the squared distance from the center of this Bounding Volume to the given point. |
float |
distanceTo(Vector3f point)
Find the distance from the center of this Bounding Volume to the given point. |
abstract float |
distanceToEdge(Vector3f point)
Find the distance from the nearest edge of this Bounding Volume to the given point. |
Vector3f |
getCenter()
|
Vector3f |
getCenter(Vector3f store)
|
int |
getCheckPlane()
Grabs the checkplane we should check first. |
java.lang.Class |
getClassTag()
|
abstract BoundingVolume.Type |
getType()
getType returns the type of bounding volume this is. |
abstract float |
getVolume()
|
abstract boolean |
intersects(BoundingVolume bv)
determines if this bounding volume and a second given volume are intersecting. |
abstract boolean |
intersects(Ray ray)
determines if a ray intersects this bounding volume. |
abstract boolean |
intersectsBoundingBox(BoundingBox bb)
determines if this bounding volume and a given bounding box are intersecting. |
abstract boolean |
intersectsCapsule(BoundingCapsule bc)
determins if this bounding volume and a given bounding capsule are intersecting. |
abstract boolean |
intersectsOrientedBoundingBox(OrientedBoundingBox bb)
determines if this bounding volume and a given bounding box are intersecting. |
abstract boolean |
intersectsSphere(BoundingSphere bs)
determines if this bounding volume and a given bounding sphere are intersecting. |
abstract IntersectionRecord |
intersectsWhere(Ray ray)
determines if a ray intersects this bounding volume and if so, where. |
abstract BoundingVolume |
merge(BoundingVolume volume)
merge combines two bounding volumes into a single bounding
volume that contains both this bounding volume and the parameter volume. |
abstract BoundingVolume |
mergeLocal(BoundingVolume volume)
mergeLocal combines two bounding volumes into a single
bounding volume that contains both this bounding volume and the parameter
volume. |
void |
read(JMEImporter e)
|
void |
setCenter(Vector3f newCenter)
|
void |
setCheckPlane(int value)
Sets the index of the plane that should be first checked during rendering. |
BoundingVolume |
transform(Quaternion rotate,
Vector3f translate,
Vector3f scale)
transform alters the location of the bounding volume by a
rotation, translation and a scalar. |
abstract BoundingVolume |
transform(Quaternion rotate,
Vector3f translate,
Vector3f scale,
BoundingVolume store)
transform alters the location of the bounding volume by a
rotation, translation and a scalar. |
abstract Plane.Side |
whichSide(Plane plane)
whichSide returns the side on which the bounding volume
lies on a plane. |
void |
write(JMEExporter e)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected int checkPlane
protected Vector3f center
protected static final transient Vector3f _compVect1
protected static final transient Vector3f _compVect2
protected static final transient Vector3f _compVect3
Constructor Detail |
---|
public BoundingVolume()
public BoundingVolume(Vector3f center)
Method Detail |
---|
public int getCheckPlane()
public final void setCheckPlane(int value)
value
- public abstract BoundingVolume.Type getType()
public final BoundingVolume transform(Quaternion rotate, Vector3f translate, Vector3f scale)
transform
alters the location of the bounding volume by a
rotation, translation and a scalar.
rotate
- the rotation to affect the bound.translate
- the translation to affect the bound.scale
- the scale to resize the bound.
public abstract BoundingVolume transform(Quaternion rotate, Vector3f translate, Vector3f scale, BoundingVolume store)
transform
alters the location of the bounding volume by a
rotation, translation and a scalar.
rotate
- the rotation to affect the bound.translate
- the translation to affect the bound.scale
- the scale to resize the bound.store
- sphere to store result in
public abstract Plane.Side whichSide(Plane plane)
whichSide
returns the side on which the bounding volume
lies on a plane. Possible values are POSITIVE_SIDE, NEGATIVE_SIDE, and
NO_SIDE.
plane
- the plane to check against this bounding volume.
public abstract void computeFromPoints(java.nio.FloatBuffer points)
computeFromPoints
generates a bounding volume that
encompasses a collection of points.
points
- the points to contain.public abstract BoundingVolume merge(BoundingVolume volume)
merge
combines two bounding volumes into a single bounding
volume that contains both this bounding volume and the parameter volume.
volume
- the volume to combine.
public abstract BoundingVolume mergeLocal(BoundingVolume volume)
mergeLocal
combines two bounding volumes into a single
bounding volume that contains both this bounding volume and the parameter
volume. The result is stored locally.
volume
- the volume to combine.
public abstract BoundingVolume clone(BoundingVolume store)
clone
creates a new BoundingVolume object containing the
same data as this one.
store
- where to store the cloned information. if null or wrong class,
a new store is created.
public final Vector3f getCenter()
public final Vector3f getCenter(Vector3f store)
public final void setCenter(Vector3f newCenter)
public final float distanceTo(Vector3f point)
point
- The point to get the distance to
public final float distanceSquaredTo(Vector3f point)
point
- The point to get the distance to
public abstract float distanceToEdge(Vector3f point)
point
- The point to get the distance to
public abstract boolean intersects(BoundingVolume bv)
bv
- the second volume to test against.
public abstract boolean intersects(Ray ray)
ray
- the ray to test.
public abstract IntersectionRecord intersectsWhere(Ray ray)
ray
- the ray to test.
public abstract boolean intersectsSphere(BoundingSphere bs)
bs
- the bounding sphere to test against.
public abstract boolean intersectsBoundingBox(BoundingBox bb)
bb
- the bounding box to test against.
public abstract boolean intersectsOrientedBoundingBox(OrientedBoundingBox bb)
bb
- the bounding box to test against.
public abstract boolean intersectsCapsule(BoundingCapsule bc)
bc
- the bounding capsule to test against.
public abstract boolean contains(Vector3f point)
point
- the point to check
public void write(JMEExporter e) throws java.io.IOException
write
in interface Savable
java.io.IOException
public void read(JMEImporter e) throws java.io.IOException
read
in interface Savable
java.io.IOException
public java.lang.Class getClassTag()
getClassTag
in interface Savable
public abstract void computeFromTris(int[] triIndex, TriMesh mesh, int start, int end)
public abstract void computeFromTris(Triangle[] tris, int start, int end)
public abstract float getVolume()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |