|
Aviatrix3D 2.1.0 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.j3d.aviatrix3d.rendering.BoundingVolume org.j3d.aviatrix3d.BoundingGeometry
public class BoundingGeometry
Bounds described as an arbitrary piece of scene graph structure that is not rendered to screen.
In some cases, the scene graph prefers to use simplified proxy geometry to describe the bounds of an object, rather than using the exact geometry or bounding boxes. This allows the user to provide a custom set of bounds using normal scene graph geometry, without it being rendered.
Internally, this class holds no extra data other than the geometry it represents. Requests for the information such as extents, center, etc will ask the held geometry for it's top-level bounds object and compare against that. It does not walk the contained geometry tree for further checks. It is up to the internals of the scene graph API to do that. This is a holder for non-renderable geometry, not a complete internal picker.
Field Summary |
---|
Fields inherited from class org.j3d.aviatrix3d.rendering.BoundingVolume |
---|
BOX_BOUNDS, FRUSTUM_ALLIN, FRUSTUM_ALLOUT, FRUSTUM_PARTIAL, GEOMETRY_BOUNDS, NULL_BOUNDS, SPHERE_BOUNDS |
Constructor Summary | |
---|---|
BoundingGeometry()
The default constructor with no geometry set. |
|
BoundingGeometry(Node geom)
Construct a bounding sphere at the origin with a set radius. |
Method Summary | |
---|---|
boolean |
checkIntersectionBox(float[] minExtents,
float[] maxExtents)
Check for the given AA box intersecting this bounds. |
boolean |
checkIntersectionCone(float[] vertex,
float[] direction,
float angle)
Check for the given cone intersecting this bounds. |
boolean |
checkIntersectionCylinder(float[] center,
float[] direction,
float radius,
float height)
Check for the given cylinder segment intersecting this bounds. |
int |
checkIntersectionFrustum(javax.vecmath.Vector4f[] planes,
javax.vecmath.Matrix4d mat)
Check whether this volume intersects with the view frustum. |
int |
checkIntersectionFrustum(javax.vecmath.Vector4f[] planes,
javax.vecmath.Matrix4f mat)
Check whether this volume intersects with the view frustum. |
boolean |
checkIntersectionPoint(float[] pos)
Check for the given point lieing inside this bounds. |
boolean |
checkIntersectionRay(float[] pos,
float[] dir)
Check for the given ray intersecting this bounds. |
boolean |
checkIntersectionSegment(float[] start,
float[] end)
Check for the given line segment intersecting this bounds. |
boolean |
checkIntersectionSphere(float[] center,
float radius)
Check for the given sphere intersecting this bounds. |
boolean |
checkIntersectionTriangle(float[] v0,
float[] v1,
float[] v2)
Check for the given triangle intersecting this bounds. |
void |
getCenter(float[] center)
Get the center of the bounding volume. |
void |
getExtents(float[] min,
float[] max)
Get the maximum extents of the bounding volume. |
Node |
getProxyGeometry()
Get the currently used proxy geometry. |
int |
getType()
The type of bounds this object represents. |
void |
setProxyGeometry(Node geom)
Set the new geometry to use as the proxy. |
void |
transform(javax.vecmath.Matrix4d mat)
Transform the current postion by the given transformation matrix. |
void |
transform(javax.vecmath.Matrix4f mat)
Transform the current postion by the given transformation matrix. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public BoundingGeometry()
public BoundingGeometry(Node geom)
geom
- The geometry to useMethod Detail |
---|
public int getType()
getType
in class BoundingVolume
public void getExtents(float[] min, float[] max)
getExtents
in class BoundingVolume
min
- The minimum position of the boundsmax
- The maximum position of the boundspublic void getCenter(float[] center)
getCenter
in class BoundingVolume
center
- The center of the bounds will be copied herepublic boolean checkIntersectionPoint(float[] pos)
checkIntersectionPoint
in class BoundingVolume
pos
- The location of the point to test against
public boolean checkIntersectionRay(float[] pos, float[] dir)
checkIntersectionRay
in class BoundingVolume
pos
- The start location of the raydir
- The direction vector of the ray
public boolean checkIntersectionSegment(float[] start, float[] end)
checkIntersectionSegment
in class BoundingVolume
start
- The start location of the segmentend
- The start location of the segment
public boolean checkIntersectionSphere(float[] center, float radius)
checkIntersectionSphere
in class BoundingVolume
center
- The location of the sphere's centerradius
- The radius of the sphere
public boolean checkIntersectionTriangle(float[] v0, float[] v1, float[] v2)
checkIntersectionTriangle
in class BoundingVolume
v0
- The first vertex of the trianglev1
- The second vertex of the trianglev2
- The third vertex of the triangle
public boolean checkIntersectionCylinder(float[] center, float[] direction, float radius, float height)
checkIntersectionCylinder
in class BoundingVolume
center
- The location of the cylinder's centerdirection
- A unit vector indicating the axial directionradius
- The radius of the cylinderheight
- The half-height of the cylinder from the center point
public boolean checkIntersectionCone(float[] vertex, float[] direction, float angle)
checkIntersectionCone
in class BoundingVolume
vertex
- The location of the cone's vertexdirection
- A unit vector indicating the axial directionangle
- The spread angle of the cone
public boolean checkIntersectionBox(float[] minExtents, float[] maxExtents)
checkIntersectionBox
in class BoundingVolume
minExtents
- The minimum extent value on each axismaxExtents
- The maximum extent value on each axis
public int checkIntersectionFrustum(javax.vecmath.Vector4f[] planes, javax.vecmath.Matrix4d mat)
checkIntersectionFrustum
in class BoundingVolume
planes
- The 6 planes of the frustummat
- The vworld to local transformation matrix
public int checkIntersectionFrustum(javax.vecmath.Vector4f[] planes, javax.vecmath.Matrix4f mat)
checkIntersectionFrustum
in class BoundingVolume
planes
- The 6 planes of the frustummat
- The vworld to local transformation matrix
public void transform(javax.vecmath.Matrix4d mat)
transform
in class BoundingVolume
mat
- The matrix to transform this bounds bypublic void transform(javax.vecmath.Matrix4f mat)
transform
in class BoundingVolume
mat
- The matrix to transform this bounds bypublic void setProxyGeometry(Node geom)
geom
- The new geometry instance to use or nullpublic Node getProxyGeometry()
|
Aviatrix3D 2.1.0 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |