Table of Contents

Class ContactSolver

Namespace
Alis.Core.Physic.Dynamics.Contacts
Assembly
Alis.dll

The contact solver class

public class ContactSolver

Inheritance

Inherited Members

Fields

_contacts

The contacts

public Contact[] _contacts

Field Value

Contact[]

_count

The count

public int _count

Field Value

int

_locks

The locks

internal int[] _locks

Field Value

int[]

_positionConstraints

The position constraints

public ContactPositionConstraint[] _positionConstraints

Field Value

ContactPositionConstraint[]

_positionConstraintsMultithreadThreshold

The position constraints multithread threshold

private int _positionConstraintsMultithreadThreshold

Field Value

int

_positions

The positions

internal SolverPosition[] _positions

Field Value

SolverPosition[]

_velocities

The velocities

internal SolverVelocity[] _velocities

Field Value

SolverVelocity[]

_velocityConstraints

The velocity constraints

public ContactVelocityConstraint[] _velocityConstraints

Field Value

ContactVelocityConstraint[]

_velocityConstraintsMultithreadThreshold

The velocity constraints multithread threshold

private int _velocityConstraintsMultithreadThreshold

Field Value

int

Methods

InitializeVelocityConstraints()

Initializes the velocity constraints

public void InitializeVelocityConstraints()

Reset(ref TimeStep, int, Contact[], SolverPosition[], SolverVelocity[], int[], int, int)

Resets the step

internal void Reset(ref TimeStep step, int count, Contact[] contacts, SolverPosition[] positions, SolverVelocity[] velocities, int[] locks, int velocityConstraintsMultithreadThreshold, int positionConstraintsMultithreadThreshold)

Parameters

step TimeStep

The step

count int

The count

contacts Contact[]

The contacts

positions SolverPosition[]

The positions

velocities SolverVelocity[]

The velocities

locks int[]

The locks

velocityConstraintsMultithreadThreshold int

The velocity constraints multithread threshold

positionConstraintsMultithreadThreshold int

The position constraints multithread threshold

SolvePositionConstraints()

Describes whether this instance solve position constraints

public bool SolvePositionConstraints()

Returns

bool

The contacts okay

SolvePositionConstraints(int, int)

Describes whether this instance solve position constraints

private bool SolvePositionConstraints(int start, int end)

Parameters

start int

The start

end int

The end

Returns

bool

The bool

SolveTOIPositionConstraints(int, int)

Describes whether this instance solve toi position constraints

public bool SolveTOIPositionConstraints(int toiIndexA, int toiIndexB)

Parameters

toiIndexA int

The toi index

toiIndexB int

The toi index

Returns

bool

The bool

SolveVelocityConstraints()

Solves the velocity constraints

public void SolveVelocityConstraints()

SolveVelocityConstraints(int, int)

Solves the velocity constraints using the specified start

private void SolveVelocityConstraints(int start, int end)

Parameters

start int

The start

end int

The end

StoreImpulses()

Stores the impulses

public void StoreImpulses()

WarmStart()

Warms the start

public void WarmStart()