C# Class BEPUphysics.DataStructures.MeshBoundingBoxTree

Acceleration structure of triangles surrounded by axis aligned bounding boxes, supporting various speedy queries.
Datei anzeigen Open project: Indiefreaks/igf Class Usage Examples

Public Properties

Property Type Description
LeafMargin float

Public Methods

Method Description
GetOverlaps ( Microsoft.Xna.Framework.BoundingBox boundingBox, IList outputOverlappedElements ) : bool

Gets the triangles whose bounding boxes are overlapped by the query.

GetOverlaps ( BoundingFrustum boundingFrustum, IList outputOverlappedElements ) : bool

Gets the triangles whose bounding boxes are overlapped by the query.

GetOverlaps ( BoundingSphere boundingSphere, IList outputOverlappedElements ) : bool

Gets the triangles whose bounding boxes are overlapped by the query.

GetOverlaps ( Microsoft.Xna.Framework.Ray ray, IList outputOverlappedElements ) : bool

Gets the triangles whose bounding boxes are overlapped by the query.

GetOverlaps ( Microsoft.Xna.Framework.Ray ray, float maximumLength, IList outputOverlappedElements ) : bool

Gets the triangles whose bounding boxes are overlapped by the query.

MeshBoundingBoxTree ( MeshBoundingBoxTreeData data ) : System.Collections.Generic

Constructs a new tree.

Reconstruct ( ) : void

Reconstructs the tree based on the current data.

Refit ( ) : void

Refits the tree based on the current data. This process is cheaper to perform than a reconstruction when the topology of the mesh does not change.

Private Methods

Method Description
Analyze ( List &depths, int &minDepth, int &maxDepth, int &nodeCount ) : void
Insert ( int triangleIndex ) : void

Method Details

GetOverlaps() public method

Gets the triangles whose bounding boxes are overlapped by the query.
public GetOverlaps ( Microsoft.Xna.Framework.BoundingBox boundingBox, IList outputOverlappedElements ) : bool
boundingBox Microsoft.Xna.Framework.BoundingBox Shape to query against the tree.
outputOverlappedElements IList Indices of triangles in the index buffer with bounding boxes which are overlapped by the query.
return bool

GetOverlaps() public method

Gets the triangles whose bounding boxes are overlapped by the query.
public GetOverlaps ( BoundingFrustum boundingFrustum, IList outputOverlappedElements ) : bool
boundingFrustum BoundingFrustum Shape to query against the tree.
outputOverlappedElements IList Indices of triangles in the index buffer with bounding boxes which are overlapped by the query.
return bool

GetOverlaps() public method

Gets the triangles whose bounding boxes are overlapped by the query.
public GetOverlaps ( BoundingSphere boundingSphere, IList outputOverlappedElements ) : bool
boundingSphere BoundingSphere Shape to query against the tree.
outputOverlappedElements IList Indices of triangles in the index buffer with bounding boxes which are overlapped by the query.
return bool

GetOverlaps() public method

Gets the triangles whose bounding boxes are overlapped by the query.
public GetOverlaps ( Microsoft.Xna.Framework.Ray ray, IList outputOverlappedElements ) : bool
ray Microsoft.Xna.Framework.Ray Shape to query against the tree.
outputOverlappedElements IList Indices of triangles in the index buffer with bounding boxes which are overlapped by the query.
return bool

GetOverlaps() public method

Gets the triangles whose bounding boxes are overlapped by the query.
public GetOverlaps ( Microsoft.Xna.Framework.Ray ray, float maximumLength, IList outputOverlappedElements ) : bool
ray Microsoft.Xna.Framework.Ray Shape to query against the tree.
maximumLength float Maximum length of the ray in units of the ray's length.
outputOverlappedElements IList Indices of triangles in the index buffer with bounding boxes which are overlapped by the query.
return bool

MeshBoundingBoxTree() public method

Constructs a new tree.
public MeshBoundingBoxTree ( MeshBoundingBoxTreeData data ) : System.Collections.Generic
data MeshBoundingBoxTreeData Data to use to construct the tree.
return System.Collections.Generic

Reconstruct() public method

Reconstructs the tree based on the current data.
public Reconstruct ( ) : void
return void

Refit() public method

Refits the tree based on the current data. This process is cheaper to perform than a reconstruction when the topology of the mesh does not change.
public Refit ( ) : void
return void

Property Details

LeafMargin public_oe static_oe property

The tiny extra margin added to leaf bounding boxes that allow the volume cost metric to function properly even in degenerate cases.
public static float LeafMargin
return float