EulerMotor Class |
Namespace: DigitalRune.Physics.Constraints
The EulerMotor type exposes the following members.
Name | Description | |
---|---|---|
EulerMotor | Initializes a new instance of the EulerMotor 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.) | |
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.) | |
DampingConstant |
Gets or sets the damping constant.
| |
Enabled |
Gets or sets a value indicating whether this constraint is enabled.
(Inherited from Constraint.) | |
LinearConstraintImpulse |
Gets or sets the linear constraint impulse that was applied.
(Overrides ConstraintLinearConstraintImpulse.) | |
MaxForce |
Gets or sets the maximal force that is applied by this motor.
| |
MaxVelocity |
Gets or sets the maximal velocity.
| |
Simulation |
Gets the simulation to which this constraint belongs.
(Inherited from Constraint.) | |
SpringConstant |
Gets or sets the spring constant.
| |
TargetAngles |
Gets or sets the target angles.
|
The motor pushes both bodies until the relative orientation of the constraint anchor on the second body relative to the constraint anchor on the first body is equal to the three Euler angles defined in TargetAngles. The motor acts like a damped-spring that rotates the bodies (controlled by SpringConstant and DampingConstant). The three Euler angles are defined as in the AngularLimit.
The target orientation is defined using Euler angles. In contrast, QuaternionMotor is a motor that controls the orientation where the target orientation is defined using a QuaternionF.
Euler Angles: The EulerMotor uses the same Euler angles as the AngularLimit.
The Euler angles are computed for following order of rotations: The first rotations is about the x-axis. The second rotation is about the rotated y-axis after the first rotation. The last rotation is about the final z-axis.
The Euler angles are unique if the second angle is less than +/- 90°. The limits for the rotation angles are [-180°, 180°] for the first and the third angle. And the limit for the second angle is [-90°, 90°].
Use GetEulerAngles(Matrix33F) to get the Euler angles of a given rotation.