CompressedAabbTree Class |
Namespace: DigitalRune.Geometry.Partitioning
The CompressedAabbTree type exposes the following members.
Name | Description | |
---|---|---|
CompressedAabbTree |
Initializes a new instance of the CompressedAabbTree class.
|
Name | Description | |
---|---|---|
Add |
Adds an item to the CompressedAabbTree.
| |
Clear |
Removes all items from the CompressedAabbTree.
| |
Clone |
Creates a new CompressedAabbTree that is a clone (deep copy) of the current
instance.
| |
Contains |
Determines whether the CompressedAabbTree contains a specific item.
| |
CopyTo | ||
Equals | (Inherited from Object.) | |
GetClosestPointCandidates(Aabb, Single, FuncInt32, Single) |
Gets all items that are candidates for the smallest closest-point distance to a given
axis-aligned bounding box (AABB).
| |
GetClosestPointCandidates(Vector3F, Pose, ISpatialPartitionInt32, Vector3F, Pose, FuncInt32, Int32, Single) |
Gets all items that are candidates for the smallest closest-point distance to items in a
given partition.
| |
GetEnumerator |
Returns an enumerator that iterates through the collection.
| |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetOverlaps |
Gets overlaps of all items contained in this spatial partition.
| |
GetOverlaps(Int32) |
Gets the items that touch the given item.
| |
GetOverlaps(Aabb) |
Gets the items that touch the given axis-aligned bounding box (AABB).
| |
GetOverlaps(ISpatialPartitionInt32) |
Gets overlaps between all items of this spatial partition and the items of another spatial
partition.
| |
GetOverlaps(Ray) |
Gets the items that touch the given ray.
| |
GetOverlaps(Vector3F, Pose, ISpatialPartitionInt32, Vector3F, Pose) |
Gets overlaps between all items of this spatial partition and the items of another spatial
partition.
| |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
Invalidate |
Invalidates the cached spatial information of all items in the spatial partition.
| |
Invalidate(Int32) |
Invalidates the cached spatial information of the specified item.
| |
Remove |
Removes the first occurrence of a specific item from the CompressedAabbTree.
| |
ToString | Returns a string that represents the current object. (Inherited from Object.) | |
Update |
Updates the internal structure of this ISpatialPartitionT.
|
Name | Description | |
---|---|---|
AddRangeInt32 |
Adds the specified items to the ICollectionT.
(Defined by CollectionHelper.) | |
DoInt32(ActionInt32) | Overloaded.
Performs the given action on each element in a sequence when it is enumerated.
(Defined by LinqHelper.) | |
DoInt32(ActionInt32, Int32) | Overloaded.
Performs the given action on each element (incorporating its index) in a sequence when it is
enumerated.
(Defined by LinqHelper.) | |
ForEachInt32(ActionInt32) | Overloaded.
Immediately performs the given action on each element in a sequence.
(Defined by LinqHelper.) | |
ForEachInt32(ActionInt32, Int32) | Overloaded.
Immediately performs the given action on each element (incorporating its index) in a
sequence.
(Defined by LinqHelper.) | |
IndexOfInt32 |
Returns the index of the first element in a sequence that satisfies the specified condition.
(Defined by LinqHelper.) |
Name | Description | |
---|---|---|
Aabb |
Gets the axis-aligned bounding box (AABB) that contains all items.
| |
BottomUpBuildThreshold |
Gets or sets the threshold that determines when a bottom-up tree build method is used.
| |
Count |
Gets the number of items contained in the ICollectionT.
| |
EnableSelfOverlaps |
Gets or sets a value indicating whether self-overlaps are computed.
| |
Filter |
Gets or sets the filter that is used to filter overlaps of two items.
| |
GetAabbForItem |
Gets or sets the method that computes the Aabb of an item.
|
Name | Description | |
---|---|---|
IEnumerableGetEnumerator |
Returns an enumerator that iterates through a collection.
| |
ICollectionInt32IsReadOnly |
Gets a value indicating whether the ICollectionT is read-only.
| |
ISpatialPartitionInt32Clone |
Creates a new spatial partition that is a clone (deep copy) of the current instance.
|
The CompressedAabbTree is a specialized version of an AabbTreeT for items of type Int32. It requires significantly less memory than an AabbTreeT, but building or updating ("refitting") a CompressedAabbTree is more expensive. It should be used for partitioning static CompositeShapes or TriangleMeshShapes that consist of many shapes or triangles.
The CompressedAabbTree can store up to 232-1 data values of type Int32 (range 0 - 2,147,483,647).
Limitations: Objects organized by the CompressedAabbTree need to have finite size. The CompressedAabbTree cannot be used for extremely large, or infinitely large objects. For example: A CompositeShape using a CompressedAabbTree must not contain an InfiniteShape, a LineShape, or a PlaneShape.