C# 클래스 BEPUphysics.Constraints.TwoEntity.JointLimits.TwistLimit

Prevents the connected entities from twisting relative to each other beyond given limits.
상속: JointLimit, I1DImpulseConstraintWithError, I1DJacobianConstraint
파일 보기 프로젝트 열기: Indiefreaks/igf 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
maximumAngle float
minimumAngle float

공개 메소드들

메소드 설명
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 ( Vector3 &jacobian ) : void

Gets the angular jacobian entry for the first connected entity.

GetAngularJacobianB ( Vector3 &jacobian ) : void

Gets the angular jacobian entry for the second connected entity.

GetLinearJacobianA ( Vector3 &jacobian ) : void

Gets the linear jacobian entry for the first connected entity.

GetLinearJacobianB ( 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 ( Vector3 worldTwistAxisA, Vector3 worldTwistAxisB ) : void

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

SolveIteration ( ) : float

Solves for velocity.

TwistLimit ( ) : System

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

TwistLimit ( Entity connectionA, Entity connectionB, Vector3 axisA, Vector3 axisB, float minimumAngle, float maximumAngle ) : System

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

Update ( float dt ) : void

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

비공개 메소드들

메소드 설명
ComputeAngleError ( float distanceFromCurrent, float distanceFromMaximum ) : float
GetDistanceFromMinimum ( float angle ) : float
IsAngleValid ( float currentAngle, float &distanceFromCurrent, float &distanceFromMaximum ) : bool

메소드 상세

ExclusiveUpdate() 공개 메소드

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
리턴 void

GetAngularJacobianA() 공개 메소드

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

GetAngularJacobianB() 공개 메소드

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

GetLinearJacobianA() 공개 메소드

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

GetLinearJacobianB() 공개 메소드

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

GetMassMatrix() 공개 메소드

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

SetupJointTransforms() 공개 메소드

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

SolveIteration() 공개 메소드

Solves for velocity.
public SolveIteration ( ) : float
리턴 float

TwistLimit() 공개 메소드

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

TwistLimit() 공개 메소드

Constructs a new constraint which prevents the connected entities from twisting relative to each other beyond given limits.
public TwistLimit ( Entity connectionA, Entity connectionB, Vector3 axisA, Vector3 axisB, float minimumAngle, float maximumAngle ) : System
connectionA Entity First connection of the pair.
connectionB Entity Second connection of the pair.
axisA Vector3 Twist axis attached to the first connected entity.
axisB Vector3 Twist axis attached to the second connected entity.
minimumAngle float Minimum twist angle allowed.
maximumAngle float Maximum twist angle allowed.
리턴 System

Update() 공개 메소드

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

프로퍼티 상세

maximumAngle 보호되어 있는 프로퍼티

Naximum angle that entities can twist.
protected float maximumAngle
리턴 float

minimumAngle 보호되어 있는 프로퍼티

Minimum angle that entities can twist.
protected float minimumAngle
리턴 float