Robot Simulator of the Robotics Group for Self-Organization of Control
0.8.0
|
CameraManipulatorFollow is a MatrixManipulator which provides Flying simulator-like updating of the camera position & orientation. More...
#include <cameramanipulatorFollow.h>
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 OdeAgent * | getWatchedAgent () |
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 |
CameraHandle & | camHandle |
GlobalData & | globalData |
double | degreeSmoothness |
double | lengthSmoothness |
double | degreeAccuracy |
double | lengthAccuracy |
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
CameraManipulatorFollow | ( | osg::Node * | node, |
GlobalData & | global, | ||
CameraHandle & | cameraHandle | ||
) |
|
protectedvirtual |
|
protectedvirtual |
This handles robot movements, so that the camera movemenent is right affected.
should be overwritten by new cameramanipulator
Reimplemented from CameraManipulator.
|
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.