Click or drag to resize
DigitalRuneDualPartitionT Class
Represents a spatial partition that internally uses two spatial partitions to manage items: one for static/sleeping items and one for dynamic items.
Inheritance Hierarchy
SystemObject
  DigitalRune.Geometry.PartitioningBasePartitionT
    DigitalRune.Geometry.PartitioningDualPartitionT

Namespace: DigitalRune.Geometry.Partitioning
Assembly: DigitalRune.Geometry (in DigitalRune.Geometry.dll) Version: 1.18.0.0 (1.18.2.14427)
Syntax
public class DualPartition<T> : BasePartition<T>, 
	ISupportBroadPhase<T>, ISupportFrustumCulling<T>

Type Parameters

T
The type of item in the spatial partition.

The DualPartitionT type exposes the following members.

Constructors
  NameDescription
Public methodDualPartitionT
Initializes a new instance of the DualPartitionT class which uses two DynamicAabbTreeT partitions.
Public methodDualPartitionT(ISpatialPartitionT, ISpatialPartitionT)
Initializes a new instance of the DualPartitionT class using the given pair of spatial partitions.
Top
Methods
  NameDescription
Public methodAdd (Inherited from BasePartitionT.)
Public methodClear (Inherited from BasePartitionT.)
Public methodClone (Inherited from BasePartitionT.)
Protected methodCloneCore (Overrides BasePartitionTCloneCore(BasePartitionT).)
Public methodContains (Inherited from BasePartitionT.)
Public methodCopyTo (Inherited from BasePartitionT.)
Protected methodCreateInstanceCore (Overrides BasePartitionTCreateInstanceCore.)
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetEnumerator
Returns an enumerator that iterates through the collection.
(Inherited from BasePartitionT.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetOverlaps
Gets overlaps of all items contained in this spatial partition.
(Inherited from BasePartitionT.)
Public methodGetOverlaps(Aabb)
Gets the items that touch the given axis-aligned bounding box (AABB).
(Inherited from BasePartitionT.)
Public methodGetOverlaps(Aabb)
Gets the items that touch the given axis-aligned bounding box (AABB).
(Overrides BasePartitionTGetOverlaps(Aabb).)
Public methodGetOverlaps(ISpatialPartitionT)
Gets overlaps between all items of this spatial partition and the items of another spatial partition.
(Overrides BasePartitionTGetOverlaps(ISpatialPartitionT).)
Public methodGetOverlaps(IListPlane)
Gets the items that touch the bounding volume ("k-DOP") defined by a set of planes.
Public methodGetOverlaps(Ray)
Gets the items that touch the given ray.
(Overrides BasePartitionTGetOverlaps(Ray).)
Public methodGetOverlaps(Vector3F, Pose, ISpatialPartitionT, Vector3F, Pose)
Gets overlaps between all items of this spatial partition and the items of another spatial partition.
(Overrides BasePartitionTGetOverlaps(Vector3F, Pose, ISpatialPartitionT, Vector3F, Pose).)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodInvalidate
Invalidates the cached spatial information of all items in the spatial partition.
(Inherited from BasePartitionT.)
Public methodInvalidate(T)
Invalidates the cached spatial information of the specified item.
(Inherited from BasePartitionT.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodRemove (Inherited from BasePartitionT.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodUpdate (Inherited from BasePartitionT.)
Top
Properties
  NameDescription
Public propertyAabb
Gets the axis-aligned bounding box (AABB) that contains all items.
(Inherited from BasePartitionT.)
Public propertyCount (Inherited from BasePartitionT.)
Public propertyEnableSelfOverlaps
Gets or sets a value indicating whether self-overlaps are computed.
(Inherited from BasePartitionT.)
Public propertyFilter
Gets or sets the filter that is used to filter overlaps of two items.
(Inherited from BasePartitionT.)
Public propertyGetAabbForItem
Gets or sets the method that computes the Aabb of an item.
(Inherited from BasePartitionT.)
Top
Explicit Interface Implementations
  NameDescription
Explicit interface implementationPrivate methodIEnumerableTGetEnumerator
Returns an enumerator that iterates through the collection.
(Inherited from BasePartitionT.)
Explicit interface implementationPrivate methodIEnumerableGetEnumerator
Returns an enumerator that iterates through a collection.
(Inherited from BasePartitionT.)
Explicit interface implementationPrivate propertyICollectionTIsReadOnly (Inherited from BasePartitionT.)
Explicit interface implementationPrivate methodISpatialPartitionTClone
Creates a new spatial partition that is a clone (deep copy) of the current instance.
(Inherited from BasePartitionT.)
Top
Remarks

The DualPartitionT can be used as a broad-phase algorithm (see BroadPhase). It can in certain cases outperform the default SweepAndPruneSpaceT.

By default, two spatial partitions of type DynamicAabbTreeT are used (with settings optimized for the static and dynamic case).

See Also