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

Constraint which prevents the connected entities from rotating relative to each other around an axis beyond given limits.
상속: JointLimit, I2DImpulseConstraintWithError, I2DJacobianConstraint
파일 보기 프로젝트 열기: 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 &jacobianX, Vector3 &jacobianY ) : void

Gets the angular jacobian entry for the first connected entity.

GetAngularJacobianB ( Vector3 &jacobianX, Vector3 &jacobianY ) : void

Gets the angular jacobian entry for the second connected entity.

GetLinearJacobianA ( Vector3 &jacobianX, Vector3 &jacobianY ) : void

Gets the linear jacobian entry for the first connected entity.

GetLinearJacobianB ( Vector3 &jacobianX, Vector3 &jacobianY ) : void

Gets the linear jacobian entry for the second connected entity.

GetMassMatrix ( Matrix2x2 &massMatrix ) : void

Gets the mass matrix of the revolute limit. The revolute limit is special; in terms of solving, it is actually sometimes TWO constraints; a minimum plane, and a maximum plane. The M11 field represents the minimum plane mass matrix and the M22 field represents the maximum plane mass matrix.

RevoluteLimit ( ) : System

Constructs a new constraint which prevents the connected entities from rotating relative to each other around an axis beyond given limits. To finish the initialization, specify the connections (ConnectionA and ConnectionB) as well as the TestAxis (or its entity-local version) and the Basis. This constructor sets the constraint's IsActive property to false by default.

RevoluteLimit ( Entity connectionA, Entity connectionB ) : System

Constructs a new constraint which prevents the connected entities from rotating relative to each other around an axis beyond given limits. Using this constructor will leave the limit uninitialized. Before using the limit in a simulation, be sure to set the basis axes using Basis.SetLocalAxes or Basis.SetWorldAxes and the test axis using the LocalTestAxis or TestAxis properties.

RevoluteLimit ( Entity connectionA, Entity connectionB, Vector3 limitedAxis, Vector3 testAxis, float minimumAngle, float maximumAngle ) : System

Constructs a new constraint which prevents the connected entities from rotating relative to each other around an axis beyond given limits.

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.

비공개 메소드들

메소드 설명
GetDistanceFromMinimum ( float angle ) : float

메소드 상세

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 &jacobianX, Vector3 &jacobianY ) : void
jacobianX Vector3 First angular jacobian entry for the first connected entity.
jacobianY Vector3 Second angular jacobian entry for the first connected entity.
리턴 void

GetAngularJacobianB() 공개 메소드

Gets the angular jacobian entry for the second connected entity.
public GetAngularJacobianB ( Vector3 &jacobianX, Vector3 &jacobianY ) : void
jacobianX Vector3 First angular jacobian entry for the second connected entity.
jacobianY Vector3 Second angular jacobian entry for the second connected entity.
리턴 void

GetLinearJacobianA() 공개 메소드

Gets the linear jacobian entry for the first connected entity.
public GetLinearJacobianA ( Vector3 &jacobianX, Vector3 &jacobianY ) : void
jacobianX Vector3 First linear jacobian entry for the first connected entity.
jacobianY Vector3 Second linear jacobian entry for the first connected entity.
리턴 void

GetLinearJacobianB() 공개 메소드

Gets the linear jacobian entry for the second connected entity.
public GetLinearJacobianB ( Vector3 &jacobianX, Vector3 &jacobianY ) : void
jacobianX Vector3 First linear jacobian entry for the second connected entity.
jacobianY Vector3 Second linear jacobian entry for the second connected entity.
리턴 void

GetMassMatrix() 공개 메소드

Gets the mass matrix of the revolute limit. The revolute limit is special; in terms of solving, it is actually sometimes TWO constraints; a minimum plane, and a maximum plane. The M11 field represents the minimum plane mass matrix and the M22 field represents the maximum plane mass matrix.
public GetMassMatrix ( Matrix2x2 &massMatrix ) : void
massMatrix BEPUutilities.Matrix2x2 Mass matrix of the constraint.
리턴 void

RevoluteLimit() 공개 메소드

Constructs a new constraint which prevents the connected entities from rotating relative to each other around an axis beyond given limits. To finish the initialization, specify the connections (ConnectionA and ConnectionB) as well as the TestAxis (or its entity-local version) and the Basis. This constructor sets the constraint's IsActive property to false by default.
public RevoluteLimit ( ) : System
리턴 System

RevoluteLimit() 공개 메소드

Constructs a new constraint which prevents the connected entities from rotating relative to each other around an axis beyond given limits. Using this constructor will leave the limit uninitialized. Before using the limit in a simulation, be sure to set the basis axes using Basis.SetLocalAxes or Basis.SetWorldAxes and the test axis using the LocalTestAxis or TestAxis properties.
public RevoluteLimit ( Entity connectionA, Entity connectionB ) : System
connectionA Entity First connection of the pair.
connectionB Entity Second connection of the pair.
리턴 System

RevoluteLimit() 공개 메소드

Constructs a new constraint which prevents the connected entities from rotating relative to each other around an axis beyond given limits.
public RevoluteLimit ( Entity connectionA, Entity connectionB, Vector3 limitedAxis, Vector3 testAxis, float minimumAngle, float maximumAngle ) : System
connectionA Entity First connection of the pair.
connectionB Entity Second connection of the pair.
limitedAxis Vector3 Axis of rotation to be limited.
testAxis Vector3 Axis attached to connectionB that is tested to determine the current angle. /// Will also be used as the base rotation axis representing 0 degrees.
minimumAngle float Minimum twist angle allowed.
maximumAngle float Maximum twist angle allowed.
리턴 System

SolveIteration() 공개 메소드

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

Update() 공개 메소드

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

프로퍼티 상세

maximumAngle 보호되어 있는 프로퍼티

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

minimumAngle 보호되어 있는 프로퍼티

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