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
cameramanipulatorRace.h
Go to the documentation of this file.
1 /***************************************************************************
2  * Copyright (C) 2005-2011 LpzRobots development team *
3  * Georg Martius <georg dot martius at web dot de> *
4  * Frank Guettler <guettler at informatik dot uni-leipzig dot de *
5  * Frank Hesse <frank at nld dot ds dot mpg dot de> *
6  * Ralf Der <ralfder at mis dot mpg dot de> *
7  * *
8  * This program is free software; you can redistribute it and/or modify *
9  * it under the terms of the GNU General Public License as published by *
10  * the Free Software Foundation; either version 2 of the License, or *
11  * (at your option) any later version. *
12  * *
13  * This program is distributed in the hope that it will be useful, *
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
16  * GNU General Public License for more details. *
17  * *
18  * You should have received a copy of the GNU General Public License *
19  * along with this program; if not, write to the *
20  * Free Software Foundation, Inc., *
21  * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
22  * *
23  ***************************************************************************/
24 #ifndef __CAMERAMANIPULATORRACE_H
25 #define __CAMERAMANIPULATORRACE_H
26 
27 #include "osgforwarddecl.h"
28 #include "cameramanipulator.h"
29 
30 namespace lpzrobots {
31 
32  /**
33  CameraManipulatorRace is a MatrixManipulator which provides Flying simulator-like
34  updating of the camera position & orientation.
35  Left mouse button: Pan and tilt
36  Right mouse button: forward and sideways
37  Middle mouse button: up and sideways
38  */
39 
41 
42  public:
43 
44  CameraManipulatorRace(osg::Node* node,GlobalData& global, CameraHandle& cameraHandle);
45 
46  /** returns the classname of the manipulator
47  it's NECCESSARY to define this funtion, otherwise
48  the new manipulator WON'T WORK! (but ask me not why)
49  */
50  virtual const char* className() const { return "Race-Camera"; }
51 
52  protected:
53 
54  virtual ~CameraManipulatorRace();
55 
56  /** This handles robot movements, so that the camera movemenent is right affected.
57  should be overwritten by new cameramanipulator
58  */
59  virtual void calcMovementByAgent();
60 
61  };
62 }
63 
64 #endif
virtual const char * className() const
returns the classname of the manipulator it's NECCESSARY to define this funtion, otherwise the new ma...
Definition: cameramanipulatorRace.h:50
CameraManipulator is a MatrixManipulator which provides a flying camera updating of the camera positi...
Definition: cameramanipulator.h:55
osg::ref_ptr< osg::Node > node
Definition: cameramanipulator.h:160
virtual void calcMovementByAgent()
This handles robot movements, so that the camera movemenent is right affected.
Definition: cameramanipulatorRace.cpp:46
Class which holds all data used by CameraManipulators.
Definition: camerahandle.h:54
CameraManipulatorRace(osg::Node *node, GlobalData &global, CameraHandle &cameraHandle)
Definition: cameramanipulatorRace.cpp:40
virtual ~CameraManipulatorRace()
Definition: cameramanipulatorRace.cpp:43
Data structure holding all essential global information.
Definition: globaldata.h:57
CameraManipulatorRace is a MatrixManipulator which provides Flying simulator-like updating of the cam...
Definition: cameramanipulatorRace.h:40