Robot Simulator of the Robotics Group for Self-Organization of Control  0.8.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CameraManipulatorFollow Class Reference

CameraManipulatorFollow is a MatrixManipulator which provides Flying simulator-like updating of the camera position & orientation. More...

#include <cameramanipulatorFollow.h>

Inheritance diagram for CameraManipulatorFollow:
Collaboration diagram for CameraManipulatorFollow:

Public Member Functions

 CameraManipulatorFollow (osg::Node *node, GlobalData &global, CameraHandle &cameraHandle)
 
- Public Member Functions inherited from CameraManipulator
 CameraManipulator (osg::Node *node, GlobalData &global, CameraHandle &cameraHandle)
 
virtual void setByMatrix (const osg::Matrixd &matrix)
 set the position of the matrix manipulator using a 4x4 Matrix. More...
 
virtual void setByInverseMatrix (const osg::Matrixd &matrix)
 set the position of the matrix manipulator using a 4x4 Matrix. More...
 
virtual osg::Matrixd getMatrix () const
 get the position of the manipulator as 4x4 Matrix. More...
 
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. More...
 
virtual void setNode (osg::Node *)
 is called every time the draw is updated. More...
 
virtual const osg::Node * getNode () const
 
virtual osg::Node * getNode ()
 
virtual void setHome (const osg::Vec3 &eye, const osg::Vec3 &view)
 set the home position of the camera. (and place it there) More...
 
virtual void home (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
 place the camera at its home position More...
 
virtual void init (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
 
virtual bool handle (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
 
virtual void getUsage (osg::ApplicationUsage &usage) const
 Get the keyboard and mouse usage of this manipulator. More...
 
virtual void update ()
 updates the camera module at every drawstep should be called from the simulation loop More...
 
virtual void manipulateAgent (OsgHandle &osgHandle)
 manipulate agent if Manipulation is active (should be called every simulation step) More...
 
virtual void setWatchedAgent (OdeAgent *agent)
 Sets the agent to be watched with the camera. More...
 
virtual OdeAgentgetWatchedAgent ()
 returns watched agent More...
 
virtual void doOnCallBack (BackCaller *source, BackCaller::CallbackableType type=BackCaller::DEFAULT_CALLBACKABLE_TYPE)
 called if agents list changed More...
 
- Public Member Functions inherited from Callbackable
 Callbackable ()
 
virtual ~Callbackable ()
 

Protected Member Functions

virtual ~CameraManipulatorFollow ()
 
virtual void calcMovementByAgent ()
 This handles robot movements, so that the camera movemenent is right affected. More...
 
virtual void setHomeViewByAgent ()
 Sets the right view and eye if the robot has changed. More...
 
- Protected Member Functions inherited from CameraManipulator
virtual ~CameraManipulator ()
 
virtual void flushMouseEventStack ()
 Reset the internal GUIEvent stack. More...
 
virtual void addMouseEvent (const osgGA::GUIEventAdapter &ea)
 Add the current mouse GUIEvent to internal stack. More...
 
virtual void computeMatrix ()
 
virtual bool calcMovement ()
 For the give mouse movement calculate the movement of the camera. More...
 
virtual bool isWatchingAgentDefined ()
 Checks if an agent is selected and if this agent is available. More...
 
virtual void manageAgents (const int &fkey)
 This manages the robots, switching between them and so on Is normally called from handle(...) More...
 
virtual void setHomeEyeByAgent ()
 
virtual void moveBehindAgent ()
 moves behind the robot which is actually watched More...
 
virtual void centerOnAgent ()
 centers on the robot which is actually watched More...
 
virtual void calcManipulationPointHorizontal (float x, float y)
 manipulates Agent by forces. More...
 
virtual void calcManipulationPointVertical (float x, float y)
 
virtual void calcManipulationPoint (float x, float y)
 

Additional Inherited Members

- Protected Attributes inherited from CameraManipulator
osg::ref_ptr< const
osgGA::GUIEventAdapter > 
event_old
 
osg::ref_ptr< const
osgGA::GUIEventAdapter > 
event
 
osg::ref_ptr< osg::Node > node
 
float modelScale
 
osg::Matrixd pose
 
CameraHandlecamHandle
 
GlobalDataglobalData
 
double degreeSmoothness
 
double lengthSmoothness
 
double degreeAccuracy
 
double lengthAccuracy
 

Detailed Description

CameraManipulatorFollow is a MatrixManipulator which provides Flying simulator-like updating of the camera position & orientation.

Left mouse button: Pan and tilt Right mouse button: forward and sideways Middle mouse button: up and sideways

Constructor & Destructor Documentation

CameraManipulatorFollow ( osg::Node *  node,
GlobalData global,
CameraHandle cameraHandle 
)
~CameraManipulatorFollow ( )
protectedvirtual

Member Function Documentation

void calcMovementByAgent ( )
protectedvirtual

This handles robot movements, so that the camera movemenent is right affected.

should be overwritten by new cameramanipulator

Reimplemented from CameraManipulator.

void setHomeViewByAgent ( )
protectedvirtual

Sets the right view and eye if the robot has changed.

Is called from manageRobots(); should be overwritten by new cameramanipulator if needed

Reimplemented from CameraManipulator.


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