C# Class BEPUphysics.Constraints.TwoEntity.JointLimits.EllipseSwingLimit

Constrains the relative orientation of two entities to within an ellipse.
Inheritance: JointLimit, I1DImpulseConstraintWithError, I1DJacobianConstraint
Exibir arquivo Open project: Indiefreaks/igf Class Usage Examples

Public Methods

Method Description
EllipseSwingLimit ( ) : System

Constructs a new swing limit. To finish the initialization, specify the connections (ConnectionA and ConnectionB) as well as the TwistAxis (or its entity-local version), the MaximumAngleX and MaximumAngleY, and the Basis. This constructor sets the constraint's IsActive property to false by default.

EllipseSwingLimit ( Entity connectionA, Entity connectionB ) : System

Constructs a new swing limit. Using this constructor will leave the limit uninitialized. Before using the limit in a simulation, be sure to set the basis axes using limit.basis.setLocalAxes or limit.basis.setWorldAxes and b's twist axis using the localTwistAxisB or twistAxisB properties.

EllipseSwingLimit ( Entity connectionA, Entity connectionB, System.Vector3 twistAxis, float maximumAngleX, float maximumAngleY ) : System

Constructs a new swing limit.

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 twistAxis ) : void

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

SolveIteration ( ) : float

Computes one iteration of the constraint to meet the solver updateable's goal.

Update ( float dt ) : void

Performs the frame's configuration step.

Method Details

EllipseSwingLimit() public method

Constructs a new swing limit. To finish the initialization, specify the connections (ConnectionA and ConnectionB) as well as the TwistAxis (or its entity-local version), the MaximumAngleX and MaximumAngleY, and the Basis. This constructor sets the constraint's IsActive property to false by default.
public EllipseSwingLimit ( ) : System
return System

EllipseSwingLimit() public method

Constructs a new swing limit. Using this constructor will leave the limit uninitialized. Before using the limit in a simulation, be sure to set the basis axes using limit.basis.setLocalAxes or limit.basis.setWorldAxes and b's twist axis using the localTwistAxisB or twistAxisB properties.
public EllipseSwingLimit ( Entity connectionA, Entity connectionB ) : System
connectionA Entity First entity connected by the constraint.
connectionB Entity Second entity connected by the constraint.
return System

EllipseSwingLimit() public method

Constructs a new swing limit.
public EllipseSwingLimit ( Entity connectionA, Entity connectionB, System.Vector3 twistAxis, float maximumAngleX, float maximumAngleY ) : System
connectionA Entity First entity connected by the constraint.
connectionB Entity Second entity connected by the constraint.
twistAxis System.Vector3 Axis in world space to use as the initial unrestricted twist direction. /// This direction will be transformed to entity A's local space to form the basis's primary axis /// and to entity B's local space to form its twist axis. /// The basis's x and y axis are automatically created from the twist axis.
maximumAngleX float Maximum angle of rotation around the basis X axis.
maximumAngleY float Maximum angle of rotation around the basis Y axis.
return System

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 twistAxis ) : void
twistAxis System.Vector3 Axis around which rotation is allowed.
return void

SolveIteration() public method

Computes one iteration of the constraint to meet the solver updateable's goal.
public SolveIteration ( ) : float
return float

Update() public method

Performs the frame's configuration step.
public Update ( float dt ) : void
dt float Timestep duration.
return void