C# Class BEPUphysics.Constraints.TwoEntity.Motors.TwistMotor

Attempts to achieve some defined relative twist angle between the entities.
Inheritance: BEPUphysics.Constraints.TwoEntity.Motors.Motor, I1DImpulseConstraintWithError, I1DJacobianConstraint
Show file Open project: Indiefreaks/igf Class Usage Examples

Protected Properties

Property Type Description
biasVelocity float

Public Methods

Method Description
ExclusiveUpdate ( ) : void

Performs any pre-solve iteration work that needs exclusive access to the members of the solver updateable. Usually, this is used for applying warmstarting impulses.

GetAngularJacobianA ( System.Vector3 &jacobian ) : void

Gets the angular jacobian entry for the first connected entity.

GetAngularJacobianB ( System.Vector3 &jacobian ) : void

Gets the angular jacobian entry for the second connected entity.

GetLinearJacobianA ( System.Vector3 &jacobian ) : void

Gets the linear jacobian entry for the first connected entity.

GetLinearJacobianB ( System.Vector3 &jacobian ) : void

Gets the linear jacobian entry for the second connected entity.

GetMassMatrix ( float &outputMassMatrix ) : void

Gets the mass matrix of the constraint.

SetupJointTransforms ( System.Vector3 worldTwistAxisA, System.Vector3 worldTwistAxisB ) : void

Sets up the joint transforms by automatically creating perpendicular vectors to complete the bases.

SolveIteration ( ) : float

Solves for velocity.

TwistMotor ( ) : System

Constructs a new constraint which prevents the connected entities from twisting relative to each other. To finish the initialization, specify the connections (ConnectionA and ConnectionB) as well as the BasisA and BasisB. This constructor sets the constraint's IsActive property to false by default.

TwistMotor ( Entity connectionA, Entity connectionB, System.Vector3 axisA, System.Vector3 axisB ) : System

Constructs a new constraint which prevents the connected entities from twisting relative to each other.

Update ( float dt ) : void

Do any necessary computations to prepare the constraint for this frame.

Private Methods

Method Description
GetDistanceFromGoal ( float angle ) : float

Method Details

ExclusiveUpdate() public method

Performs any pre-solve iteration work that needs exclusive access to the members of the solver updateable. Usually, this is used for applying warmstarting impulses.
public ExclusiveUpdate ( ) : void
return void

GetAngularJacobianA() public method

Gets the angular jacobian entry for the first connected entity.
public GetAngularJacobianA ( System.Vector3 &jacobian ) : void
jacobian System.Vector3 Angular jacobian entry for the first connected entity.
return void

GetAngularJacobianB() public method

Gets the angular jacobian entry for the second connected entity.
public GetAngularJacobianB ( System.Vector3 &jacobian ) : void
jacobian System.Vector3 Angular jacobian entry for the second connected entity.
return void

GetLinearJacobianA() public method

Gets the linear jacobian entry for the first connected entity.
public GetLinearJacobianA ( System.Vector3 &jacobian ) : void
jacobian System.Vector3 Linear jacobian entry for the first connected entity.
return void

GetLinearJacobianB() public method

Gets the linear jacobian entry for the second connected entity.
public GetLinearJacobianB ( System.Vector3 &jacobian ) : void
jacobian System.Vector3 Linear jacobian entry for the second connected entity.
return void

GetMassMatrix() public method

Gets the mass matrix of the constraint.
public GetMassMatrix ( float &outputMassMatrix ) : void
outputMassMatrix float Constraint's mass matrix.
return void

SetupJointTransforms() public method

Sets up the joint transforms by automatically creating perpendicular vectors to complete the bases.
public SetupJointTransforms ( System.Vector3 worldTwistAxisA, System.Vector3 worldTwistAxisB ) : void
worldTwistAxisA System.Vector3 Twist axis in world space to attach to entity A.
worldTwistAxisB System.Vector3 Twist axis in world space to attach to entity B.
return void

SolveIteration() public method

Solves for velocity.
public SolveIteration ( ) : float
return float

TwistMotor() public method

Constructs a new constraint which prevents the connected entities from twisting relative to each other. To finish the initialization, specify the connections (ConnectionA and ConnectionB) as well as the BasisA and BasisB. This constructor sets the constraint's IsActive property to false by default.
public TwistMotor ( ) : System
return System

TwistMotor() public method

Constructs a new constraint which prevents the connected entities from twisting relative to each other.
public TwistMotor ( Entity connectionA, Entity connectionB, System.Vector3 axisA, System.Vector3 axisB ) : System
connectionA Entity First connection of the pair.
connectionB Entity Second connection of the pair.
axisA System.Vector3 Twist axis attached to the first connected entity.
axisB System.Vector3 Twist axis attached to the second connected entity.
return System

Update() public method

Do any necessary computations to prepare the constraint for this frame.
public Update ( float dt ) : void
dt float Simulation step length.
return void

Property Details

biasVelocity protected property

Velocity needed to get closer to the goal.
protected float biasVelocity
return float