Class Arbiter
Manages contact information between two different rigid bodies.
public sealed class Arbiter
- Inheritance
-
Arbiter
- Inherited Members
Remarks
An arbiter is created when two shapes begin overlapping and is removed when they separate or when one of the involved bodies is removed from the world. Each arbiter can hold up to four cached contact points (see ContactData).
In most cases arbiters are keyed by shape identifiers. For arbiters created by the engine, the ordering is canonical: the shape with the smaller ID is always first.
The Handle property provides access to the underlying ContactData stored in unmanaged memory. This data is only valid while the arbiter exists and must not be accessed concurrently with Step(float, bool).
Properties
Body1
Gets the first rigid body involved in this contact.
public RigidBody Body1 { get; }
Property Value
Body2
Gets the second rigid body involved in this contact.
public RigidBody Body2 { get; }
Property Value
Handle
Gets the handle to the ContactData stored in unmanaged memory.
public JHandle<ContactData> Handle { get; }
Property Value
Remarks
The underlying data is valid only while this arbiter is registered with the world. After removal, accessing Data results in undefined behavior.