Package WildMagic.LibGraphics.Collision
Class BoundingVolumeTree
- java.lang.Object
-
- WildMagic.LibGraphics.Collision.BoundingVolumeTree
-
- All Implemented Interfaces:
java.io.Serializable,java.util.Comparator<BoundingVolumeTree.ProjectionInfo>
- Direct Known Subclasses:
BoxBVTree
public abstract class BoundingVolumeTree extends java.lang.Object implements java.util.Comparator<BoundingVolumeTree.ProjectionInfo>, java.io.Serializable
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classBoundingVolumeTree.ProjectionInfo
-
Field Summary
Fields Modifier and Type Field Description protected intm_iTriangleQuantityprotected java.util.Vector<java.lang.Integer>m_kTrianglesprotected BoundingVolumeTreem_pkLChildprotected TriMeshm_pkMeshprotected BoundingVolumeTreem_pkRChildprotected BoundingVolumem_spkModelBoundprotected BoundingVolumem_spkWorldBoundprivate static longserialVersionUID
-
Constructor Summary
Constructors Modifier Constructor Description protectedBoundingVolumeTree()protectedBoundingVolumeTree(BoundingVolume.BVType eBVType, TriMesh pkMesh)protectedBoundingVolumeTree(BoundingVolume.BVType eBVType, TriMesh pkMesh, int iMaxTrisPerLeaf, boolean bStoreInteriorTris)protectedBoundingVolumeTree(TriMesh pkMesh)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidBuildTree(BoundingVolume.BVType eBVType, int iMaxTrisPerLeaf, boolean bStoreInteriorTris, Vector3f[] akCentroid, int i0, int i1, int[] aiISplit, int[] aiOSplit)intcompare(BoundingVolumeTree.ProjectionInfo pInfo0, BoundingVolumeTree.ProjectionInfo pInfo1)protected booleanContainsLeafData(VertexBuffer pkVBuffer, int[] aiIndex, float fEpsilon)voiddisposeLocal()BoundingVolumeTreeGetLChild()TriMeshGetMesh()BoundingVolumeGetModelBound()BoundingVolumeTreeGetRChild()intGetTriangle(int i)intGetTriangleQuantity()java.util.Vector<java.lang.Integer>GetTriangles()BoundingVolumeGetWorldBound()booleanIsInteriorNode()booleanIsLeafNode()protected static voidSplitTriangles(Vector3f[] akCentroid, int i0, int i1, int[] aiISplit, int[] rj01, int[] aiOSplit, Line3f rkLine)voidUpdateWorldBound()
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
m_pkMesh
protected TriMesh m_pkMesh
-
m_spkModelBound
protected BoundingVolume m_spkModelBound
-
m_spkWorldBound
protected BoundingVolume m_spkWorldBound
-
m_pkLChild
protected BoundingVolumeTree m_pkLChild
-
m_pkRChild
protected BoundingVolumeTree m_pkRChild
-
m_iTriangleQuantity
protected int m_iTriangleQuantity
-
m_kTriangles
protected java.util.Vector<java.lang.Integer> m_kTriangles
-
-
Constructor Detail
-
BoundingVolumeTree
protected BoundingVolumeTree()
-
BoundingVolumeTree
protected BoundingVolumeTree(BoundingVolume.BVType eBVType, TriMesh pkMesh)
-
BoundingVolumeTree
protected BoundingVolumeTree(BoundingVolume.BVType eBVType, TriMesh pkMesh, int iMaxTrisPerLeaf, boolean bStoreInteriorTris)
-
BoundingVolumeTree
protected BoundingVolumeTree(TriMesh pkMesh)
-
-
Method Detail
-
SplitTriangles
protected static void SplitTriangles(Vector3f[] akCentroid, int i0, int i1, int[] aiISplit, int[] rj01, int[] aiOSplit, Line3f rkLine)
-
compare
public int compare(BoundingVolumeTree.ProjectionInfo pInfo0, BoundingVolumeTree.ProjectionInfo pInfo1)
- Specified by:
comparein interfacejava.util.Comparator<BoundingVolumeTree.ProjectionInfo>
-
disposeLocal
public void disposeLocal()
-
GetLChild
public BoundingVolumeTree GetLChild()
-
GetMesh
public final TriMesh GetMesh()
-
GetModelBound
public final BoundingVolume GetModelBound()
-
GetRChild
public BoundingVolumeTree GetRChild()
-
GetTriangle
public int GetTriangle(int i)
-
GetTriangleQuantity
public int GetTriangleQuantity()
-
GetTriangles
public final java.util.Vector<java.lang.Integer> GetTriangles()
-
GetWorldBound
public final BoundingVolume GetWorldBound()
-
IsInteriorNode
public boolean IsInteriorNode()
-
IsLeafNode
public boolean IsLeafNode()
-
UpdateWorldBound
public void UpdateWorldBound()
-
BuildTree
protected void BuildTree(BoundingVolume.BVType eBVType, int iMaxTrisPerLeaf, boolean bStoreInteriorTris, Vector3f[] akCentroid, int i0, int i1, int[] aiISplit, int[] aiOSplit)
-
ContainsLeafData
protected boolean ContainsLeafData(VertexBuffer pkVBuffer, int[] aiIndex, float fEpsilon)
-
-