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

osgGA::KeySwitchMatrixManipulator Class Reference

KeySwitchMatrixManipulator is a decorator which allows the type of camera manipulator being used to be switched by pressing a key. More...

Inheritance diagram for osgGA::KeySwitchMatrixManipulator:

Inheritance graph
[legend]
List of all members.

Public Types

typedef std::pair< std::string,
osg::ref_ptr< MatrixManipulator > > 
NamedManipulator
typedef std::map< int, NamedManipulatorKeyManipMap

Public Member Functions

virtual const char * className () const
 return the name of the object's class type.

void addMatrixManipulator (int key, std::string name, MatrixManipulator *cm)
 Add a camera manipulator with an associated name, and a key to trigger the switch,.

void addNumberedMatrixManipulator (MatrixManipulator *cm)
 Add a camera manipulator with an autogenerated keybinding which is '1' + previous number of camera's registerd.

unsigned int getNumMatrixManipulators () const
void selectMatrixManipulator (unsigned int num)
KeyManipMapgetKeyManipMap ()
 Get the complete list of manipulators attached to this keyswitch manipulator.

const KeyManipMapgetKeyManipMap () const
 Get the const complete list of manipulators attached to this keyswitch manipulator.

MatrixManipulatorgetCurrentMatrixManipulator ()
 Get the current active manipulators.

const MatrixManipulatorgetCurrentMatrixManipulator () const
 Get the const current active manipulators.

MatrixManipulatorgetMatrixManipulatorWithIndex (unsigned int key)
 Get manipulator assigned to a specified index.

const MatrixManipulatorgetMatrixManipulatorWithIndex (unsigned int key) const
 Get const manipulator assigned to a specified index.

MatrixManipulatorgetMatrixManipulatorWithKey (unsigned int key)
 Get manipulator assigned to a specified key.

const MatrixManipulatorgetMatrixManipulatorWithKey (unsigned int key) const
 Get const manipulator assigned to a specified key.

virtual void setMinimumDistance (float minimumDistance)
 set the minimum distance (as ratio) the eye point can be zoomed in towards the center before the center is pushed forward.

virtual void setCoordinateFrameCallback (CoordinateFrameCallback *cb)
 set the coordinate frame which callback tells the manipulator which way is up, east and north.

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 osgUtil::SceneView::FusionDistanceMode getFusionDistanceMode () const
 Get the FusionDistanceMode.

virtual float getFusionDistanceValue () const
 Get the FusionDistanceValue.

virtual void setNode (osg::Node *n)
 Attach a node to the manipulator, automatically detaching any previously attached node.

virtual const osg::NodegetNode () const
 Return const node if attached.

virtual osg::NodegetNode ()
 Return node if attached.

virtual void setHomePosition (const osg::Vec3d &eye, const osg::Vec3d &center, const osg::Vec3d &up, bool autoComputeHomePosition=false)
 Manually set the home position, and set the automatic compute of home position.

virtual void setAutoComputeHomePosition (bool flag)
 Set whether the automatic compute of the home position is enabled.

virtual void computeHomePosition ()
 Compute the home position.

virtual void home (const GUIEventAdapter &ee, GUIActionAdapter &aa)
 Move the camera to the default position.

virtual void init (const GUIEventAdapter &ee, GUIActionAdapter &aa)
 Start/restart the manipulator.

virtual bool handle (const GUIEventAdapter &ea, GUIActionAdapter &us)
 Handle events, return true if handled, false otherwise.

virtual void getUsage (osg::ApplicationUsage &usage) const
 Get the keyboard and mouse usage of this manipulator.


Detailed Description

KeySwitchMatrixManipulator is a decorator which allows the type of camera manipulator being used to be switched by pressing a key.

E.g. '1' for a TrackballManipultor, '2' for a DriveManipulator, '3' for a FlightManipulator. The manipulators available, and the associated switch keys, can be configured.


Member Typedef Documentation

typedef std::map<int, NamedManipulator> osgGA::KeySwitchMatrixManipulator::KeyManipMap
 

typedef std::pair<std::string, osg::ref_ptr<MatrixManipulator> > osgGA::KeySwitchMatrixManipulator::NamedManipulator
 


Member Function Documentation

void osgGA::KeySwitchMatrixManipulator::addMatrixManipulator int  key,
std::string  name,
MatrixManipulator cm
 

Add a camera manipulator with an associated name, and a key to trigger the switch,.

void osgGA::KeySwitchMatrixManipulator::addNumberedMatrixManipulator MatrixManipulator cm  ) 
 

Add a camera manipulator with an autogenerated keybinding which is '1' + previous number of camera's registerd.

virtual const char* osgGA::KeySwitchMatrixManipulator::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::KeySwitchMatrixManipulator::computeHomePosition  )  [virtual]
 

Compute the home position.

Reimplemented from osgGA::MatrixManipulator.

const MatrixManipulator* osgGA::KeySwitchMatrixManipulator::getCurrentMatrixManipulator  )  const [inline]
 

Get the const current active manipulators.

MatrixManipulator* osgGA::KeySwitchMatrixManipulator::getCurrentMatrixManipulator  )  [inline]
 

Get the current active manipulators.

virtual osgUtil::SceneView::FusionDistanceMode osgGA::KeySwitchMatrixManipulator::getFusionDistanceMode  )  const [inline, virtual]
 

Get the FusionDistanceMode.

Used by SceneView for setting up setereo convergence.

Reimplemented from osgGA::MatrixManipulator.

virtual float osgGA::KeySwitchMatrixManipulator::getFusionDistanceValue  )  const [inline, virtual]
 

Get the FusionDistanceValue.

Used by SceneView for setting up setereo convergence.

Reimplemented from osgGA::MatrixManipulator.

virtual osg::Matrixd osgGA::KeySwitchMatrixManipulator::getInverseMatrix  )  const [inline, virtual]
 

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

Implements osgGA::MatrixManipulator.

const KeyManipMap& osgGA::KeySwitchMatrixManipulator::getKeyManipMap  )  const [inline]
 

Get the const complete list of manipulators attached to this keyswitch manipulator.

KeyManipMap& osgGA::KeySwitchMatrixManipulator::getKeyManipMap  )  [inline]
 

Get the complete list of manipulators attached to this keyswitch manipulator.

virtual osg::Matrixd osgGA::KeySwitchMatrixManipulator::getMatrix  )  const [inline, virtual]
 

get the position of the manipulator as 4x4 Matrix.

Implements osgGA::MatrixManipulator.

const MatrixManipulator* osgGA::KeySwitchMatrixManipulator::getMatrixManipulatorWithIndex unsigned int  key  )  const
 

Get const manipulator assigned to a specified index.

MatrixManipulator* osgGA::KeySwitchMatrixManipulator::getMatrixManipulatorWithIndex unsigned int  key  ) 
 

Get manipulator assigned to a specified index.

const MatrixManipulator* osgGA::KeySwitchMatrixManipulator::getMatrixManipulatorWithKey unsigned int  key  )  const
 

Get const manipulator assigned to a specified key.

MatrixManipulator* osgGA::KeySwitchMatrixManipulator::getMatrixManipulatorWithKey unsigned int  key  ) 
 

Get manipulator assigned to a specified key.

virtual osg::Node* osgGA::KeySwitchMatrixManipulator::getNode  )  [inline, virtual]
 

Return node if attached.

Reimplemented from osgGA::MatrixManipulator.

virtual const osg::Node* osgGA::KeySwitchMatrixManipulator::getNode  )  const [inline, virtual]
 

Return const node if attached.

Reimplemented from osgGA::MatrixManipulator.

unsigned int osgGA::KeySwitchMatrixManipulator::getNumMatrixManipulators  )  const [inline]
 

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

Get the keyboard and mouse usage of this manipulator.

Reimplemented from osgGA::GUIEventHandler.

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

Handle events, return true if handled, false otherwise.

Reimplemented from osgGA::MatrixManipulator.

virtual void osgGA::KeySwitchMatrixManipulator::home const GUIEventAdapter ee,
GUIActionAdapter aa
[inline, 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::KeySwitchMatrixManipulator::init const GUIEventAdapter ee,
GUIActionAdapter aa
[inline, virtual]
 

Start/restart the manipulator.

FIXME: what does this actually mean? Provide examples.

Reimplemented from osgGA::MatrixManipulator.

void osgGA::KeySwitchMatrixManipulator::selectMatrixManipulator unsigned int  num  ) 
 

virtual void osgGA::KeySwitchMatrixManipulator::setAutoComputeHomePosition bool  flag  )  [virtual]
 

Set whether the automatic compute of the home position is enabled.

Reimplemented from osgGA::MatrixManipulator.

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

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

Implements osgGA::MatrixManipulator.

virtual void osgGA::KeySwitchMatrixManipulator::setByMatrix const osg::Matrixd matrix  )  [inline, virtual]
 

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

Implements osgGA::MatrixManipulator.

virtual void osgGA::KeySwitchMatrixManipulator::setCoordinateFrameCallback CoordinateFrameCallback *  cb  )  [virtual]
 

set the coordinate frame which callback tells the manipulator which way is up, east and north.

Reimplemented from osgGA::MatrixManipulator.

virtual void osgGA::KeySwitchMatrixManipulator::setHomePosition const osg::Vec3d eye,
const osg::Vec3d center,
const osg::Vec3d up,
bool  autoComputeHomePosition = false
[virtual]
 

Manually set the home position, and set the automatic compute of home position.

Reimplemented from osgGA::MatrixManipulator.

virtual void osgGA::KeySwitchMatrixManipulator::setMinimumDistance float  minimumDistance  )  [virtual]
 

set the minimum distance (as ratio) the eye point can be zoomed in towards the center before the center is pushed forward.

Reimplemented from osgGA::MatrixManipulator.

virtual void osgGA::KeySwitchMatrixManipulator::setNode osg::Node n  )  [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.


The documentation for this class was generated from the following file:
Generated at Thu Nov 24 16:24:17 2005 for the OpenSceneGraph by doxygen 1.3.6.