ContactΒΆ

class Contact : System.Object, IConstraint
Jitter.ResourcePool<Contact> Pool

A contact resource pool.

float Restitution
float StaticFriction
float DynamicFriction
readonly RigidBody Body1

The first body involved in the contact.

readonly RigidBody Body2

The second body involved in the contact.

readonly float Penetration

The penetration of the contact.

readonly JVector Position1

The collision position in world space of body1.

readonly JVector Position2

The collision position in world space of body2.

readonly JVector Tangent

The contact tangent.

readonly JVector Normal

The contact normal.

readonly float AppliedNormalImpulse
readonly float AppliedTangentImpulse
public JVector CalculateRelativeVelocity()

Calculates relative velocity of body contact points on the bodies.

public void Iterate()

Solves the contact iteratively.

public void UpdatePosition()

The points in wolrd space gets recalculated by transforming the local coordinates. Also new penetration depth is estimated.

public void ApplyImpulse(ref JVector impulse)
Parameters:
  • (ref) impulse (Jitter.LinearMath.JVector) –
public void ApplyImpulse(JVector impulse)
Parameters:
  • impulse (Jitter.LinearMath.JVector) –
public void PrepareForIteration(float timestep)

PrepareForIteration has to be called before M:Jitter.Dynamics.Contact.Iterate.

Parameters:
  • timestep (float) – The timestep of the simulation.
public void TreatBodyAsStatic(RigidBodyIndex index)
Parameters:
  • index (Jitter.Dynamics.RigidBodyIndex) –
public void Initialize(RigidBody body1, RigidBody body2, ref JVector point1, ref JVector point2, ref JVector n, float penetration, bool newContact, ContactSettings settings)
Parameters:
  • body1 (Jitter.Dynamics.RigidBody) –
  • body2 (Jitter.Dynamics.RigidBody) –
  • (ref) point1 (Jitter.LinearMath.JVector) –
  • (ref) point2 (Jitter.LinearMath.JVector) –
  • (ref) n (Jitter.LinearMath.JVector) –
  • penetration (float) –
  • newContact (bool) –
  • settings (Jitter.Dynamics.ContactSettings) –