Click or drag to resize
DigitalRuneNoRotationConstraint Class
Defines a constraint that fixes the relative orientation of two bodies.
Inheritance Hierarchy
SystemObject
  DigitalRune.Physics.ConstraintsConstraint
    DigitalRune.Physics.ConstraintsNoRotationConstraint

Namespace: DigitalRune.Physics.Constraints
Assembly: DigitalRune.Physics (in DigitalRune.Physics.dll) Version: 1.10.0.0 (1.10.0.14427)
Syntax
public class NoRotationConstraint : Constraint

The NoRotationConstraint type exposes the following members.

Constructors
  NameDescription
Public methodNoRotationConstraint
Initializes a new instance of the NoRotationConstraint class.
Top
Methods
  NameDescription
Public methodApplyImpulse
Called by the simulation to apply an impulse that satisfies the constraint.
(Inherited from Constraint.)
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodOnAddToSimulation
Called when this constraint is added to a simulation.
(Overrides ConstraintOnAddToSimulation.)
Protected methodOnApplyImpulse
Called when the constraint impulse should be applied.
(Overrides ConstraintOnApplyImpulse.)
Protected methodOnChanged
Called when properties of this constraint were changed.
(Overrides ConstraintOnChanged.)
Protected methodOnRemoveFromSimulation
Called when this constraint is removed from a simulation.
(Overrides ConstraintOnRemoveFromSimulation.)
Protected methodOnSetup
Called when constraint should be set-up for a new time step.
(Overrides ConstraintOnSetup.)
Public methodSetup
Called by the simulation to prepare this constraint for constraint solving for a new time step.
(Inherited from Constraint.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Properties
  NameDescription
Public propertyAnchorOrientationALocal
Gets or sets the constraint anchor orientation on BodyA in local space of BodyA.
Public propertyAnchorOrientationBLocal
Gets or sets the constraint anchor orientation on BodyB in local space of BodyB.
Public propertyAngularConstraintImpulse
Gets or sets the angular constraint impulse that was applied.
(Overrides ConstraintAngularConstraintImpulse.)
Public propertyBodyA
Gets or sets the first body.
(Inherited from Constraint.)
Public propertyBodyB
Gets or sets the second body.
(Inherited from Constraint.)
Public propertyCollisionEnabled
Gets or sets a value indicating whether collisions between BodyA and BodyB are disabled.
(Inherited from Constraint.)
Public propertyEnabled
Gets or sets a value indicating whether this constraint is enabled.
(Inherited from Constraint.)
Public propertyErrorReduction
Gets or sets the error reduction parameter.
Public propertyLinearConstraintImpulse
Gets or sets the linear constraint impulse that was applied.
(Overrides ConstraintLinearConstraintImpulse.)
Public propertyMaxForce
Gets or sets the maximal force that is applied by this constraint.
Public propertySimulation
Gets the simulation to which this constraint belongs.
(Inherited from Constraint.)
Public propertySoftness
Gets or sets the softness.
Top
Remarks

This joint removes all 3 rotational degrees of freedom. It forces the constraint anchor orientations to be equal. The translational movement is not restricted and both bodies can rotate relative to other bodies as long as both constraint bodies perform the same rotation.

On its own this constraint is not very useful, but combined with constraints that restrict translational movement it creates practical joints. For example, if this constraint is combined with a PointOnLineConstraint, it creates a point-on-line constraint with fixed relative orientations.

One constraint body can be set to the simulation World to create a body that cannot rotate. But in this case it is more efficient and more stable to lock the rotations of the body using RigidBody properties (LockRotationX, LockRotationY and LockRotationZ).

See Also