LocalConstraint Class Reference

An AxisPlaneConstraint defined in the Frame local coordinate system. More...

## Public Member Functions

virtual | ~LocalConstraint ()
virtual void | constrainTranslation (Vec &translation, Frame *const frame)
virtual void | constrainRotation (Quaternion &rotation, Frame *const frame)
Public Member Functions inherited from AxisPlaneConstraint
| AxisPlaneConstraint ()
virtual | ~AxisPlaneConstraint ()
void | setTranslationConstraint (Type type, const Vec &direction)
void | setTranslationConstraintType (Type type)
void | setTranslationConstraintDirection (const Vec &direction)
Type | translationConstraintType () const
Vec | translationConstraintDirection () const
void | setRotationConstraint (Type type, const Vec &direction)
void | setRotationConstraintType (Type type)
void | setRotationConstraintDirection (const Vec &direction)
Type | rotationConstraintType () const
Vec | rotationConstraintDirection () const
Public Member Functions inherited from Constraint
virtual | ~Constraint ()

## Additional Inherited Members

Public Types inherited from AxisPlaneConstraint
enum | Type { FREE, AXIS, PLANE, FORBIDDEN }

## Detailed Description

An AxisPlaneConstraint defined in the Frame local coordinate system.

The translationConstraintDirection() and rotationConstraintDirection() are expressed in the Frame local coordinate system (see Frame::referenceFrame()).

See the constrainedFrame example for an illustration.

## Constructor & Destructor Documentation

## ~LocalConstraint()

virtual ~LocalConstraint | ( |  | ) |

virtual

Virtual destructor. Empty.

## Member Function Documentation

## constrainRotation()

void constrainRotation | ( | Quaternion & | rotation,
|  | Frame *const | frame
| ) |  |

virtual

When rotationConstraintType() is AxisPlaneConstraint::AXIS, constrain `rotation` to be a rotation around an axis whose direction is defined in the Frame local coordinate system by rotationConstraintDirection().

Reimplemented from AxisPlaneConstraint.

## constrainTranslation()

void constrainTranslation | ( | Vec & | translation,
|  | Frame *const | frame
| ) |  |

virtual

Depending on translationConstraintType(), constrain `translation` to be along an axis or limited to a plane defined in the Frame local coordinate system by translationConstraintDirection().

Reimplemented from AxisPlaneConstraint.