libQGLViewer  Version 2.7.0
Public Member Functions | List of all members
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.