OpenSceneGraph  3.0.1
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
osgGA::OrbitManipulator Class Reference

OrbitManipulator is base class for camera control based on focal center, distance from the center, and orientation of distance vector to the eye. More...

Inheritance diagram for osgGA::OrbitManipulator:
Inheritance graph
[legend]

List of all members.

Classes

class  OrbitAnimationData

Public Member Functions

 OrbitManipulator (int flags=DEFAULT_SETTINGS)
 OrbitManipulator (const OrbitManipulator &om, const osg::CopyOp &copyOp=osg::CopyOp::SHALLOW_COPY)
 META_Object (osgGA, OrbitManipulator)
virtual void setByMatrix (const osg::Matrixd &matrix)
 set the position of the matrix manipulator using a 4x4 Matrix.
virtual void setByInverseMatrix (const osg::Matrixd &matrix)
 set the position of the matrix manipulator using a 4x4 Matrix.
virtual osg::Matrixd getMatrix () const
 get the position of the manipulator as 4x4 Matrix.
virtual osg::Matrixd getInverseMatrix () const
 get the position of the manipulator as a inverse matrix of the manipulator, typically used as a model view matrix.
virtual void setTransformation (const osg::Vec3d &eye, const osg::Quat &rotation)
 Sets manipulator by eye position and eye orientation.
virtual void setTransformation (const osg::Vec3d &eye, const osg::Vec3d &center, const osg::Vec3d &up)
 Sets manipulator by eye position, center of rotation, and up vector.
virtual void getTransformation (osg::Vec3d &eye, osg::Quat &rotation) const
 Gets manipulator's eye position and eye orientation.
virtual void getTransformation (osg::Vec3d &eye, osg::Vec3d &center, osg::Vec3d &up) const
 Gets manipulator's focal center, eye position, and up vector.
void setHeading (double azimuth)
double getHeading () const
void setElevation (double elevation)
double getElevation () const
virtual void setCenter (const osg::Vec3d &center)
const osg::Vec3dgetCenter () const
virtual void setRotation (const osg::Quat &rotation)
const osg::QuatgetRotation () const
virtual void setDistance (double distance)
double getDistance () const
virtual void setTrackballSize (const double &size)
double getTrackballSize () const
 Get the size of the trackball relative to the model size.
virtual void setWheelZoomFactor (double wheelZoomFactor)
double getWheelZoomFactor () const
 Get the mouse wheel zoom factor.
virtual void setMinimumDistance (const double &minimumDistance, bool relativeToModelSize=NULL)
double getMinimumDistance (bool *relativeToModelSize=NULL) const
virtual
osgUtil::SceneView::FusionDistanceMode 
getFusionDistanceMode () const
 Get the FusionDistanceMode.
virtual float getFusionDistanceValue () const
 Get the FusionDistanceValue.

Protected Member Functions

virtual bool handleMouseWheel (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual bool performMovementLeftMouseButton (const double eventTimeDelta, const double dx, const double dy)
virtual bool performMovementMiddleMouseButton (const double eventTimeDelta, const double dx, const double dy)
virtual bool performMovementRightMouseButton (const double eventTimeDelta, const double dx, const double dy)
virtual bool performMouseDeltaMovement (const float dx, const float dy)
virtual void applyAnimationStep (const double currentProgress, const double prevProgress)
virtual void rotateTrackball (const float px0, const float py0, const float px1, const float py1, const float scale)
virtual void rotateWithFixedVertical (const float dx, const float dy)
virtual void rotateWithFixedVertical (const float dx, const float dy, const osg::Vec3f &up)
virtual void panModel (const float dx, const float dy, const float dz=0.f)
virtual void zoomModel (const float dy, bool pushForwardIfNeeded=true)
void trackball (osg::Vec3d &axis, float &angle, float p1x, float p1y, float p2x, float p2y)
float tb_project_to_sphere (float r, float x, float y)
virtual bool startAnimationByMousePointerIntersection (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual void allocAnimationData ()

Protected Attributes

osg::Vec3d _center
osg::Quat _rotation
double _distance
double _trackballSize
double _wheelZoomFactor
double _minimumDistance

Static Protected Attributes

static int _minimumDistanceFlagIndex

Detailed Description

OrbitManipulator is base class for camera control based on focal center, distance from the center, and orientation of distance vector to the eye.

This is the base class for trackball style manipulators.


Constructor & Destructor Documentation

osgGA::OrbitManipulator::OrbitManipulator ( int  flags = DEFAULT_SETTINGS)
osgGA::OrbitManipulator::OrbitManipulator ( const OrbitManipulator om,
const osg::CopyOp copyOp = osg::CopyOp::SHALLOW_COPY 
)

Member Function Documentation

virtual void osgGA::OrbitManipulator::allocAnimationData ( ) [inline, protected, virtual]

Reimplemented from osgGA::StandardManipulator.

virtual void osgGA::OrbitManipulator::applyAnimationStep ( const double  currentProgress,
const double  prevProgress 
) [protected, virtual]

Reimplemented from osgGA::StandardManipulator.

const osg::Vec3d& osgGA::OrbitManipulator::getCenter ( ) const
double osgGA::OrbitManipulator::getDistance ( ) const
double osgGA::OrbitManipulator::getElevation ( ) const
virtual osgUtil::SceneView::FusionDistanceMode osgGA::OrbitManipulator::getFusionDistanceMode ( ) const [virtual]

Get the FusionDistanceMode.

Used by SceneView for setting up stereo convergence.

Reimplemented from osgGA::CameraManipulator.

virtual float osgGA::OrbitManipulator::getFusionDistanceValue ( ) const [virtual]

Get the FusionDistanceValue.

Used by SceneView for setting up stereo convergence.

Reimplemented from osgGA::CameraManipulator.

double osgGA::OrbitManipulator::getHeading ( ) const
virtual osg::Matrixd osgGA::OrbitManipulator::getInverseMatrix ( ) const [virtual]

get the position of the manipulator as a inverse matrix of the manipulator, typically used as a model view matrix.

Implements osgGA::CameraManipulator.

Reimplemented in osgGA::NodeTrackerManipulator.

virtual osg::Matrixd osgGA::OrbitManipulator::getMatrix ( ) const [virtual]

get the position of the manipulator as 4x4 Matrix.

Implements osgGA::CameraManipulator.

Reimplemented in osgGA::NodeTrackerManipulator.

double osgGA::OrbitManipulator::getMinimumDistance ( bool *  relativeToModelSize = NULL) const
const osg::Quat& osgGA::OrbitManipulator::getRotation ( ) const
double osgGA::OrbitManipulator::getTrackballSize ( ) const [inline]

Get the size of the trackball relative to the model size.

References _trackballSize.

virtual void osgGA::OrbitManipulator::getTransformation ( osg::Vec3d eye,
osg::Quat rotation 
) const [virtual]

Gets manipulator's eye position and eye orientation.

Implements osgGA::StandardManipulator.

virtual void osgGA::OrbitManipulator::getTransformation ( osg::Vec3d eye,
osg::Vec3d center,
osg::Vec3d up 
) const [virtual]

Gets manipulator's focal center, eye position, and up vector.

Implements osgGA::StandardManipulator.

double osgGA::OrbitManipulator::getWheelZoomFactor ( ) const [inline]

Get the mouse wheel zoom factor.

References _wheelZoomFactor.

virtual bool osgGA::OrbitManipulator::handleMouseWheel ( const osgGA::GUIEventAdapter ea,
osgGA::GUIActionAdapter us 
) [protected, virtual]

Reimplemented from osgGA::StandardManipulator.

osgGA::OrbitManipulator::META_Object ( osgGA  ,
OrbitManipulator   
)
virtual void osgGA::OrbitManipulator::panModel ( const float  dx,
const float  dy,
const float  dz = 0.f 
) [protected, virtual]
virtual bool osgGA::OrbitManipulator::performMouseDeltaMovement ( const float  dx,
const float  dy 
) [protected, virtual]

Reimplemented from osgGA::StandardManipulator.

virtual bool osgGA::OrbitManipulator::performMovementLeftMouseButton ( const double  eventTimeDelta,
const double  dx,
const double  dy 
) [protected, virtual]

Reimplemented from osgGA::StandardManipulator.

Reimplemented in osgGA::NodeTrackerManipulator.

virtual bool osgGA::OrbitManipulator::performMovementMiddleMouseButton ( const double  eventTimeDelta,
const double  dx,
const double  dy 
) [protected, virtual]
virtual bool osgGA::OrbitManipulator::performMovementRightMouseButton ( const double  eventTimeDelta,
const double  dx,
const double  dy 
) [protected, virtual]
virtual void osgGA::OrbitManipulator::rotateTrackball ( const float  px0,
const float  py0,
const float  px1,
const float  py1,
const float  scale 
) [protected, virtual]
virtual void osgGA::OrbitManipulator::rotateWithFixedVertical ( const float  dx,
const float  dy 
) [protected, virtual]
virtual void osgGA::OrbitManipulator::rotateWithFixedVertical ( const float  dx,
const float  dy,
const osg::Vec3f up 
) [protected, virtual]
virtual void osgGA::OrbitManipulator::setByInverseMatrix ( const osg::Matrixd matrix) [virtual]

set the position of the matrix manipulator using a 4x4 Matrix.

Implements osgGA::CameraManipulator.

virtual void osgGA::OrbitManipulator::setByMatrix ( const osg::Matrixd matrix) [virtual]

set the position of the matrix manipulator using a 4x4 Matrix.

Implements osgGA::CameraManipulator.

Reimplemented in osgGA::NodeTrackerManipulator, and osgGA::TerrainManipulator.

virtual void osgGA::OrbitManipulator::setCenter ( const osg::Vec3d center) [virtual]
virtual void osgGA::OrbitManipulator::setDistance ( double  distance) [virtual]
void osgGA::OrbitManipulator::setElevation ( double  elevation)
void osgGA::OrbitManipulator::setHeading ( double  azimuth)
virtual void osgGA::OrbitManipulator::setMinimumDistance ( const double &  minimumDistance,
bool  relativeToModelSize = NULL 
) [virtual]
virtual void osgGA::OrbitManipulator::setRotation ( const osg::Quat rotation) [virtual]
virtual void osgGA::OrbitManipulator::setTrackballSize ( const double &  size) [virtual]
virtual void osgGA::OrbitManipulator::setTransformation ( const osg::Vec3d eye,
const osg::Quat rotation 
) [virtual]

Sets manipulator by eye position and eye orientation.

Implements osgGA::StandardManipulator.

virtual void osgGA::OrbitManipulator::setTransformation ( const osg::Vec3d eye,
const osg::Vec3d center,
const osg::Vec3d up 
) [virtual]

Sets manipulator by eye position, center of rotation, and up vector.

Implements osgGA::StandardManipulator.

Reimplemented in osgGA::TerrainManipulator.

virtual void osgGA::OrbitManipulator::setWheelZoomFactor ( double  wheelZoomFactor) [virtual]
virtual bool osgGA::OrbitManipulator::startAnimationByMousePointerIntersection ( const osgGA::GUIEventAdapter ea,
osgGA::GUIActionAdapter us 
) [protected, virtual]

Reimplemented from osgGA::StandardManipulator.

float osgGA::OrbitManipulator::tb_project_to_sphere ( float  r,
float  x,
float  y 
) [protected]
void osgGA::OrbitManipulator::trackball ( osg::Vec3d axis,
float &  angle,
float  p1x,
float  p1y,
float  p2x,
float  p2y 
) [protected]
virtual void osgGA::OrbitManipulator::zoomModel ( const float  dy,
bool  pushForwardIfNeeded = true 
) [protected, virtual]

Member Data Documentation

Referenced by getTrackballSize().

Referenced by getWheelZoomFactor().


The documentation for this class was generated from the following file:

osg logo
Generated at Mon Oct 3 2011 12:39:47 for the OpenSceneGraph by doxygen 1.7.5.