A basic collision filter supporting pairwise filtering and collision groups.
Namespace: DigitalRune.Geometry.CollisionsAssembly: DigitalRune.Geometry (in DigitalRune.Geometry.dll) Version: 1.9.0.0 (1.9.3.9490)
Syntax
| C# |
|---|
[ObfuscationAttribute(Feature = "controlflow")] public class CollisionFilter : ICollisionFilter, IPairFilter<CollisionObject> |
| Visual Basic |
|---|
<ObfuscationAttribute(Feature := "controlflow")> _ Public Class CollisionFilter _ Implements ICollisionFilter, IPairFilter(Of CollisionObject) |
| Visual C++ |
|---|
[ObfuscationAttribute(Feature = L"controlflow")] public ref class CollisionFilter : ICollisionFilter, IPairFilter<CollisionObject^> |
Remarks
Per default, all collisions are enabled. Collisions can be disabled for pairs of CollisionObjects, for a pair of collision groups, or for a whole collision group. Collision groups are identified by an Int32 ID, stored in the CollisionObject (see CollisionGroup). Per default, the collision filter supports only collision group IDs in the range 0-31. This limit can be changed in the constructor (see CollisionFilter(Int32)).
Two collision objects A and B will NOT collide if one of the following conditions is met:
- Collisions for the collision group of A are disabled (see Set(Int32, Boolean)).
- Collisions for the collision group of B are disabled (see Set(Int32, Boolean)).
- Collisions between the collision group of A and the collision group of B are disabled (see Set(Int32, Int32, Boolean)).
- Collisions between collision object A and B are disabled (see Set(CollisionObject, CollisionObject, Boolean)).