Class ContactManager
- Namespace
- Alis.Core.Physic.Dynamics
- Assembly
- Alis.dll
The contact manager class
public class ContactManagerInheritance
Inherited Members
Constructors
ContactManager(IBroadPhase)
Initializes a new instance of the Alis.Core.Physic.Dynamics.ContactManager class
internal ContactManager(IBroadPhase broadPhase)Parameters
broadPhaseIBroadPhase-
The broad phase
Fields
BeginContact
Fires when a contact is created
public BeginContactDelegate BeginContactField Value
BroadPhase
The broad phase
public readonly IBroadPhase BroadPhaseField Value
CollideMultithreadThreshold
A threshold for activating multiple cores to solve Collide. An World with a contact count above this threshold will use multiple threads to solve Collide. A value of 0 will always use multithreading. A value of (int.MaxValue) will never use multithreading. Typical values are {128 or 256}.
public int CollideMultithreadThresholdField Value
ContactFilter
The filter used by the contact manager.
public CollisionFilterDelegate ContactFilterField Value
ContactList
The contact list
public readonly ContactListHead ContactListField Value
EndContact
Fires when a contact is deleted
public EndContactDelegate EndContactField Value
OnBroadphaseCollision
Fires when the broadphase detects that two Fixtures are close to each other.
public BroadphaseDelegate OnBroadphaseCollisionField Value
PositionConstraintsMultithreadThreshold
A threshold for activating multiple cores to solve PositionConstraints. An Island with a contact count above this threshold will use multiple threads to solve PositionConstraints. A value of 0 will always use multithreading. A value of (int.MaxValue) will never use multithreading. Typical values are {128 or 256}.
public int PositionConstraintsMultithreadThresholdField Value
PostSolve
Fires after the solver has run
public PostSolveDelegate PostSolveField Value
PreSolve
Fires before the solver runs
public PreSolveDelegate PreSolveField Value
VelocityConstraintsMultithreadThreshold
A threshold for activating multiple cores to solve VelocityConstraints. An Island with a contact count above this threshold will use multiple threads to solve VelocityConstraints. A value of 0 will always use multithreading. A value of (int.MaxValue) will never use multithreading. Typical values are {128 or 256}.
public int VelocityConstraintsMultithreadThresholdField Value
_contactPoolList
The contact pool list
internal readonly ContactListHead _contactPoolListField Value
updateList
A temporary list of contacts to be updated during Collide().
private readonly List<Contact> updateListField Value
Properties
ContactCount
Gets or sets the value of the contact count
public int ContactCount { get; private set; }Property Value
Methods
AddPair(int, int)
Adds the pair using the specified proxy id a
private void AddPair(int proxyIdA, int proxyIdB)Parameters
Collide()
Collides this instance
internal void Collide()Destroy(Contact)
Destroys the contact
internal void Destroy(Contact contact)Parameters
contactContact-
The contact
FindNewContacts()
Finds the new contacts
internal void FindNewContacts()ShouldCollide(Fixture, Fixture)
Describes whether should collide
private static bool ShouldCollide(Fixture fixtureA, Fixture fixtureB)Parameters
Returns
- bool
-
The collide