Flair
Framework Libre Air
VisualizationCamera.h
1 // %flair:license{
2 // This file is part of the Flair framework distributed under the
3 // CECILL-C License, Version 1.0.
4 // %flair:license}
5 // created: 2016/09/01
6 // filename: VisualizationCamera.h
7 //
8 // author: Guillaume Sanahuja
9 // Copyright Heudiasyc UMR UTC/CNRS 7253
10 //
11 // version: $Id: $
12 //
13 // purpose: cclass for a visualization camera in the gui
14 //
15 /*********************************************************************/
16 
17 #ifndef VISUALIZATIONCAMERA_H
18 #define VISUALIZATIONCAMERA_H
19 
20 #include <ISceneNodeAnimator.h>
21 #include <position2d.h>
22 #include <Vector3D.h>
23 #include <string>
24 
25 namespace irr {
26  namespace scene {
27  class ICameraSceneNode;
28  }
29 }
30 
31 namespace flair {
32 namespace simulator {
33 
34 class VisualizationCamera : private irr::scene::ISceneNodeAnimator {
35 public:
36  VisualizationCamera(std::string name);
38 
39  ISceneNodeAnimator *createClone(irr::scene::ISceneNode *node,
40  irr::scene::ISceneManager *newManager = 0);
41  virtual bool OnEvent(const irr::SEvent& event);
42  irr::scene::ICameraSceneNode *getCameraSceneNode(void);
43  std::string getName(void);
44 
45 private:
46  virtual bool isEventReceiverEnabled(void) const { return true; }
47 
48 protected:
49  bool LMouseKey;
50  irr::scene::ICameraSceneNode *camera;
51  irr::core::position2df MousePos;
52  float currentZoom;
53  std::string name;
54 };
55 
56 } // end namespace simulator
57 } // end namespace flair
58 
59 #endif // VISUALIZATIONCAMERA_H
namespace of the flair Framework
Definition: Ahrs.h:19
Definition: VisualizationCamera.h:34
Class defining a 3D vector.
Definition: Blade.h:22