Table of Contents

Class Arbiter

Namespace
Jitter2.Dynamics
Assembly
Jitter2.dll

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

RigidBody

Body2

Gets the second rigid body involved in this contact.

public RigidBody Body2 { get; }

Property Value

RigidBody

Handle

Gets the handle to the ContactData stored in unmanaged memory.

public JHandle<ContactData> Handle { get; }

Property Value

JHandle<ContactData>

Remarks

The underlying data is valid only while this arbiter is registered with the world. After removal, accessing Data results in undefined behavior.