|
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.BoundingSphere
public class BoundingSphere
Bounds described as a spherical volume.
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 | |
---|---|
BoundingSphere()
The default constructor with the sphere radius as one and center at the origin. |
|
BoundingSphere(float radius)
Construct a bounding sphere at the origin with a set radius. |
|
BoundingSphere(float[] pos,
float radius)
Construct a bounding sphere with a set radius and position. |
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 |
checkIntersectionLine(float[] coeff)
Check for the given line intersecting this bounds. |
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 |
checkIntersectionSegment(float[] start,
float[] dir,
float length)
Check for the given line segment intersecting this bounds. |
boolean |
checkIntersectionSphere(float[] c,
float r)
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. |
float |
getRadius()
Get the current radius of the sphere |
int |
getType()
The type of bounds this object represents. |
void |
setCenter(float[] pos)
Center the local center of the sphere to be used. |
void |
setRadius(float radius)
Set the radius of the sphere to the new value. |
java.lang.String |
toString()
Generate a string representation of this box. |
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, wait, wait, wait |
Constructor Detail |
---|
public BoundingSphere()
public BoundingSphere(float radius)
radius
- The new radius value to use
java.lang.IllegalArgumentException
- Radius was negativepublic BoundingSphere(float[] pos, float radius)
pos
- The new position of the center of the sphere to be usedradius
- The new radius value to use
java.lang.IllegalArgumentException
- Radius was negativeMethod 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 checkIntersectionLine(float[] coeff)
ax + by + cz + d = 0
.
coeff
- The 4 constants for the line equation
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 checkIntersectionSegment(float[] start, float[] dir, float length)
start
- The start location of the segmentdir
- The direction vector of the segmentlength
- The length to the segment
public boolean checkIntersectionSphere(float[] c, float r)
checkIntersectionSphere
in class BoundingVolume
c
- The location of the sphere's centerr
- 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 java.lang.String toString()
toString
in class java.lang.Object
public void setCenter(float[] pos)
pos
- The new position of the center of the sphere to be usedpublic void setRadius(float radius)
radius
- The new radius value to use
java.lang.IllegalArgumentException
- Radius was negativepublic float getRadius()
|
Aviatrix3D 2.1.0 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |