TwistSwingLimit Class |
Namespace: DigitalRune.Physics.Constraints
The TwistSwingLimit type exposes the following members.
Name | Description | |
---|---|---|
TwistSwingLimit | Initializes a new instance of the TwistSwingLimit class |
Name | Description | |
---|---|---|
ApplyImpulse |
Called by the simulation to apply an impulse that satisfies the constraint.
(Inherited from Constraint.) | |
Equals | (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetPointOnCone |
Gets a point on the swing limit cone (for debug visualization).
| |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
OnAddToSimulation |
Called when this constraint is added to a simulation.
(Inherited from Constraint.) | |
OnApplyImpulse |
Called when the constraint impulse should be applied.
(Overrides ConstraintOnApplyImpulse.) | |
OnChanged |
Called when properties of this constraint were changed.
(Overrides ConstraintOnChanged.) | |
OnRemoveFromSimulation |
Called when this constraint is removed from a simulation.
(Inherited from Constraint.) | |
OnSetup |
Called when constraint should be set-up for a new time step.
(Overrides ConstraintOnSetup.) | |
Setup |
Called by the simulation to prepare this constraint for constraint solving for a new time
step.
(Inherited from Constraint.) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Name | Description | |
---|---|---|
AnchorOrientationALocal | ||
AnchorOrientationBLocal | ||
AngularConstraintImpulse |
Gets or sets the angular constraint impulse that was applied.
(Overrides ConstraintAngularConstraintImpulse.) | |
BodyA |
Gets or sets the first body.
(Inherited from Constraint.) | |
BodyB |
Gets or sets the second body.
(Inherited from Constraint.) | |
CollisionEnabled | (Inherited from Constraint.) | |
Enabled |
Gets or sets a value indicating whether this constraint is enabled.
(Inherited from Constraint.) | |
ErrorReduction |
Gets or sets the error reduction parameter.
| |
LinearConstraintImpulse |
Gets or sets the linear constraint impulse that was applied.
(Overrides ConstraintLinearConstraintImpulse.) | |
MaxForce |
Gets or sets the maximal forces that are applied by this constraint.
| |
Maximum |
Gets or sets the maximum movement limit on the twist and swing axes.
| |
Minimum |
Gets or sets the minimum movement limit on the twist and swing axes.
| |
Restitution |
Gets or sets the coefficient of restitution for limits.
| |
Simulation |
Gets the simulation to which this constraint belongs.
(Inherited from Constraint.) | |
Softness |
Gets or sets the softness.
|
This limit is often used to limit the rotation of ragdoll joints. AnchorOrientationALocal defines a coordinate frame fixed on the first body. AnchorOrientationBLocal defines a coordinate frame fixed on the second body. Twist is defined as the rotation of the x-axis (x is the twist axis). Swing is defined as the deviation of the x-axes. The y- and the z-axes fixed on the first body are the swing axes. The twist and swing values are angles in the range [-π, π]. Using the properties Minimum and Maximum the twist and swing angles can be limited. Limiting the swing angles creates a limit cone. Different minimum and maximum swing limits can be chosen for the swing axes. This can be used to create a deformed limit cone.
This constraint should not be used if the swing on a swing axis is locked (minimum and maximum is set to 0). In this case a different constraint type should be used (e.g. a HingeJoint). Using very non-uniform swing limits is also not recommended. The swing limits appear "smoother" if the cone is symmetric.