Ctrl+K

ContactSolver

Declaration

public class tainicom.Aether.Physics2D.Dynamics.Contacts.ContactSolver

Fields

_positionConstraints

ContactPositionConstraint[] _positionConstraints

_velocityConstraints

ContactVelocityConstraint[] _velocityConstraints

_contacts

Contact[] _contacts

_count

int _count

Methods

InitializeVelocityConstraints

void InitializeVelocityConstraints()

WarmStart

void WarmStart()

SolveVelocityConstraints

void SolveVelocityConstraints()

StoreImpulses

void StoreImpulses()

SolvePositionConstraints

bool SolvePositionConstraints()

SolveTOIPositionConstraints

bool SolveTOIPositionConstraints(int toiIndexA, int toiIndexB)

Parameters:

Name Type Description
toiIndexA System.Int32
toiIndexB System.Int32

Nested Types

tainicom.Aether.Physics2D.Dynamics.Contacts.ContactSolver.WorldManifold

Initialize static

Evaluate the manifold with supplied transforms. This assumes modest motion from the original state. This does not change the point count, impulses, etc. The radii must come from the Shapes that generated the manifold.

void Initialize(ref Manifold manifold, ref Transform xfA, float radiusA, ref Transform xfB, float radiusB, out Vector2 normal, out FixedArray2<Vector2> points)

Parameters:

Name Type Description
manifold ref tainicom.Aether.Physics2D.Collision.Manifold The manifold.
xfA ref tainicom.Aether.Physics2D.Common.Transform The transform for A.
radiusA System.Single The radius for A.
xfB ref tainicom.Aether.Physics2D.Common.Transform The transform for B.
radiusB System.Single The radius for B.
normal out Strawberry.Math.Vector2 World vector pointing from A to B
points out tainicom.Aether.Physics2D.Common.FixedArray2 Torld contact point (point of intersection).