Class ContactManager
- Namespace
- Alis.Core.Physic.Dynamics
- Assembly
- Alis.dll
The contact manager class
public class ContactManager
Inheritance
Inherited Members
Constructors
ContactManager(IBroadPhase)
Initializes a new instance of the Alis.Core.Physic.Dynamics.ContactManager class
internal ContactManager(IBroadPhase broadPhase)
Parameters
broadPhase
IBroadPhase-
The broad phase
Fields
BeginContact
Fires when a contact is created
public BeginContactDelegate BeginContact
Field Value
BroadPhase
The broad phase
public readonly IBroadPhase BroadPhase
Field 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 CollideMultithreadThreshold
Field Value
ContactFilter
The filter used by the contact manager.
public CollisionFilterDelegate ContactFilter
Field Value
ContactList
The contact list
public readonly ContactListHead ContactList
Field Value
EndContact
Fires when a contact is deleted
public EndContactDelegate EndContact
Field Value
OnBroadphaseCollision
Fires when the broadphase detects that two Fixtures are close to each other.
public BroadphaseDelegate OnBroadphaseCollision
Field 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 PositionConstraintsMultithreadThreshold
Field Value
PostSolve
Fires after the solver has run
public PostSolveDelegate PostSolve
Field Value
PreSolve
Fires before the solver runs
public PreSolveDelegate PreSolve
Field 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 VelocityConstraintsMultithreadThreshold
Field Value
_contactPoolList
The contact pool list
internal readonly ContactListHead _contactPoolList
Field Value
updateList
A temporary list of contacts to be updated during Collide().
private readonly List<Contact> updateList
Field 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
contact
Contact-
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