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 class
BoundingVolumeTree.ProjectionInfo
-
Field Summary
Fields Modifier and Type Field Description protected int
m_iTriangleQuantity
protected java.util.Vector<java.lang.Integer>
m_kTriangles
protected BoundingVolumeTree
m_pkLChild
protected TriMesh
m_pkMesh
protected BoundingVolumeTree
m_pkRChild
protected BoundingVolume
m_spkModelBound
protected BoundingVolume
m_spkWorldBound
private static long
serialVersionUID
-
Constructor Summary
Constructors Modifier Constructor Description protected
BoundingVolumeTree()
protected
BoundingVolumeTree(BoundingVolume.BVType eBVType, TriMesh pkMesh)
protected
BoundingVolumeTree(BoundingVolume.BVType eBVType, TriMesh pkMesh, int iMaxTrisPerLeaf, boolean bStoreInteriorTris)
protected
BoundingVolumeTree(TriMesh pkMesh)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
BuildTree(BoundingVolume.BVType eBVType, int iMaxTrisPerLeaf, boolean bStoreInteriorTris, Vector3f[] akCentroid, int i0, int i1, int[] aiISplit, int[] aiOSplit)
int
compare(BoundingVolumeTree.ProjectionInfo pInfo0, BoundingVolumeTree.ProjectionInfo pInfo1)
protected boolean
ContainsLeafData(VertexBuffer pkVBuffer, int[] aiIndex, float fEpsilon)
void
disposeLocal()
BoundingVolumeTree
GetLChild()
TriMesh
GetMesh()
BoundingVolume
GetModelBound()
BoundingVolumeTree
GetRChild()
int
GetTriangle(int i)
int
GetTriangleQuantity()
java.util.Vector<java.lang.Integer>
GetTriangles()
BoundingVolume
GetWorldBound()
boolean
IsInteriorNode()
boolean
IsLeafNode()
protected static void
SplitTriangles(Vector3f[] akCentroid, int i0, int i1, int[] aiISplit, int[] rj01, int[] aiOSplit, Line3f rkLine)
void
UpdateWorldBound()
-
-
-
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:
compare
in 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)
-
-