libQGLViewer  Version 2.7.0
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
enum  Type { FREE, AXIS, PLANE, FORBIDDEN }
 

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)
explicit

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

◆ ~CameraConstraint()

virtual ~CameraConstraint ( )
virtual

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 
)
virtual

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 
)
virtual

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.