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). |