libQGLViewer  Version 2.7.2
Public Member Functions | List of all members
CameraConstraint Class Reference

An AxisPlaneConstraint defined in the camera coordinate system. More...

Public Member Functions

 CameraConstraint (const Camera *const camera)
virtual ~CameraConstraint ()
virtual void constrainTranslation (Vec &translation, Frame *const frame)
virtual void constrainRotation (Quaternion &rotation, Frame *const frame)
const Cameracamera () const
- 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

Detailed Description

An AxisPlaneConstraint defined in the camera coordinate system.

The translationConstraintDirection() and rotationConstraintDirection() are expressed in the associated camera() coordinate system.

See the constrainedFrame and constrainedCamera examples for an illustration.

Constructor & Destructor Documentation

◆ CameraConstraint()

CameraConstraint ( const Camera *const  camera)

Creates a CameraConstraint, whose constrained directions are defined in the camera coordinate system.

◆ ~CameraConstraint()

virtual ~CameraConstraint ( )

Virtual destructor. Empty.

Member Function Documentation

◆ camera()

const Camera* camera ( ) const

Returns the associated Camera. Set using the CameraConstraint constructor.

◆ constrainRotation()

void constrainRotation ( Quaternion rotation,
Frame *const  frame 

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

Reimplemented from AxisPlaneConstraint.

◆ constrainTranslation()

void constrainTranslation ( Vec translation,
Frame *const  frame 

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

Reimplemented from AxisPlaneConstraint.