Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

osgGA::DriveManipulator Class Reference

Inheritance diagram for osgGA::DriveManipulator:

osgGA::MatrixManipulator osgGA::GUIEventHandler osg::NodeCallback osg::Drawable::EventCallback osg::Object osg::Object osg::Referenced osg::Referenced List of all members.

Public Member Functions

 DriveManipulator ()
virtual const char * className () const
virtual void setByMatrix (const osg::Matrixd &matrix)
virtual void setByInverseMatrix (const osg::Matrixd &matrix)
virtual osg::Matrixd getMatrix () const
virtual osg::Matrixd getInverseMatrix () const
virtual void setNode (osg::Node *)
virtual const osg::NodegetNode () const
virtual osg::NodegetNode ()
virtual void computeHomePosition ()
virtual void home (const GUIEventAdapter &ea, GUIActionAdapter &us)
virtual void init (const GUIEventAdapter &ea, GUIActionAdapter &us)
virtual bool handle (const GUIEventAdapter &ea, GUIActionAdapter &us)
virtual void getUsage (osg::ApplicationUsage &usage) const

Protected Types

enum  SpeedControlMode { USE_MOUSE_Y_FOR_SPEED, USE_MOUSE_BUTTONS_FOR_SPEED }

Protected Member Functions

virtual ~DriveManipulator ()
void flushMouseEventStack ()
void addMouseEvent (const GUIEventAdapter &ea)
void computePosition (const osg::Vec3d &eye, const osg::Vec3d &lv, const osg::Vec3d &up)
bool calcMovement ()

Protected Attributes

osg::ref_ptr< const GUIEventAdapter_ga_t1
osg::ref_ptr< const GUIEventAdapter_ga_t0
osg::ref_ptr< osg::Node_node
double _modelScale
double _velocity
double _height
double _buffer
SpeedControlMode _speedMode
osg::Vec3d _eye
osg::Quat _rotation
double _pitch
double _distance
bool _pitchUpKeyPressed
bool _pitchDownKeyPressed

Detailed Description

DriveManipulator is a camera manipulator which provides drive-like functionality. By default, the left mouse button accelerates, the right mouse button decelerates, and the middle mouse button (or left and right simultaneously) stops dead.


Member Enumeration Documentation

enum osgGA::DriveManipulator::SpeedControlMode [protected]
 

Enumerator:
USE_MOUSE_Y_FOR_SPEED 
USE_MOUSE_BUTTONS_FOR_SPEED 


Constructor & Destructor Documentation

osgGA::DriveManipulator::DriveManipulator  ) 
 

virtual osgGA::DriveManipulator::~DriveManipulator  )  [protected, virtual]
 


Member Function Documentation

void osgGA::DriveManipulator::addMouseEvent const GUIEventAdapter ea  )  [protected]
 

Add the current mouse GUIEvent to internal stack.

bool osgGA::DriveManipulator::calcMovement  )  [protected]
 

For the give mouse movement calculate the movement of the camera. Return true is camera has moved and a redraw is required.

virtual const char* osgGA::DriveManipulator::className  )  const [inline, virtual]
 

return the name of the object's class type. Must be defined by derived classes.

Reimplemented from osgGA::MatrixManipulator.

virtual void osgGA::DriveManipulator::computeHomePosition  )  [virtual]
 

Compute the home position.

Reimplemented from osgGA::MatrixManipulator.

void osgGA::DriveManipulator::computePosition const osg::Vec3d eye,
const osg::Vec3d lv,
const osg::Vec3d up
[protected]
 

void osgGA::DriveManipulator::flushMouseEventStack  )  [protected]
 

Reset the internal GUIEvent stack.

virtual osg::Matrixd osgGA::DriveManipulator::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::MatrixManipulator.

virtual osg::Matrixd osgGA::DriveManipulator::getMatrix  )  const [virtual]
 

get the position of the manipulator as 4x4 Matrix.

Implements osgGA::MatrixManipulator.

virtual osg::Node* osgGA::DriveManipulator::getNode  )  [virtual]
 

Return node if attached.

Reimplemented from osgGA::MatrixManipulator.

virtual const osg::Node* osgGA::DriveManipulator::getNode  )  const [virtual]
 

Return const node if attached.

Reimplemented from osgGA::MatrixManipulator.

virtual void osgGA::DriveManipulator::getUsage osg::ApplicationUsage usage  )  const [virtual]
 

Get the keyboard and mouse usage of this manipulator.

Reimplemented from osgGA::GUIEventHandler.

virtual bool osgGA::DriveManipulator::handle const GUIEventAdapter ea,
GUIActionAdapter us
[virtual]
 

Handle events, return true if handled, false otherwise.

Reimplemented from osgGA::MatrixManipulator.

virtual void osgGA::DriveManipulator::home const GUIEventAdapter ea,
GUIActionAdapter us
[virtual]
 

Move the camera to the default position. May be ignored by manipulators if home functionality is not appropriate.

Reimplemented from osgGA::MatrixManipulator.

virtual void osgGA::DriveManipulator::init const GUIEventAdapter ea,
GUIActionAdapter us
[virtual]
 

Start/restart the manipulator. FIXME: what does this actually mean? Provide examples.

Reimplemented from osgGA::MatrixManipulator.

virtual void osgGA::DriveManipulator::setByInverseMatrix const osg::Matrixd matrix  )  [inline, virtual]
 

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

Implements osgGA::MatrixManipulator.

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

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

Implements osgGA::MatrixManipulator.

virtual void osgGA::DriveManipulator::setNode osg::Node  )  [virtual]
 

Attach a node to the manipulator, automatically detaching any previously attached node. setNode(NULL) detaches previous nodes. May be ignored by manipulators which do not require a reference model.

Reimplemented from osgGA::MatrixManipulator.


Member Data Documentation

double osgGA::DriveManipulator::_buffer [protected]
 

double osgGA::DriveManipulator::_distance [protected]
 

osg::Vec3d osgGA::DriveManipulator::_eye [protected]
 

osg::ref_ptr<const GUIEventAdapter> osgGA::DriveManipulator::_ga_t0 [protected]
 

osg::ref_ptr<const GUIEventAdapter> osgGA::DriveManipulator::_ga_t1 [protected]
 

double osgGA::DriveManipulator::_height [protected]
 

double osgGA::DriveManipulator::_modelScale [protected]
 

osg::ref_ptr<osg::Node> osgGA::DriveManipulator::_node [protected]
 

double osgGA::DriveManipulator::_pitch [protected]
 

bool osgGA::DriveManipulator::_pitchDownKeyPressed [protected]
 

bool osgGA::DriveManipulator::_pitchUpKeyPressed [protected]
 

osg::Quat osgGA::DriveManipulator::_rotation [protected]
 

SpeedControlMode osgGA::DriveManipulator::_speedMode [protected]
 

double osgGA::DriveManipulator::_velocity [protected]
 


The documentation for this class was generated from the following file:
Generated on Wed Jun 7 04:50:08 2006 for OpenSceneGraph by  doxygen 1.4.4