Flair
Framework Libre Air
Simulator.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: 2013/03/25
6 // filename: Simulator.h
7 //
8 // author: Guillaume Sanahuja
9 // Copyright Heudiasyc UMR UTC/CNRS 7253
10 //
11 // version: $Id: $
12 //
13 // purpose: classe de base du simulateur
14 //
15 /*********************************************************************/
16 
17 #ifndef SIMULATOR_H
18 #define SIMULATOR_H
19 
20 #include <FrameworkManager.h>
21 #include <Vector3D.h>
22 #include <stdint.h>
23 
24 class Simulator_impl;
25 class Model_impl;
26 
27 namespace flair {
28 namespace core {
29 class Quaternion;
30 }
31 }
32 
33 namespace flair {
34 namespace simulator {
35 class Model;
36 class Gui;
37 
39  friend class ::Model_impl;
40  friend class Gui;
41  friend class GenericObject;
42 
43 public:
44  // yaw_deg: rotation of the vrpn coordinate with respect to the earth
45  // coordinate, around z axis
46  Simulator(std::string name, int optitrack_mstime = 10, float yaw_deg = 30, int port=3883);
47  ~Simulator();
48  void RunSimu(void);
49  // get rotation of the vrpn coordinate with respect to the earth coordinate,
50  // around z axis; in radians
51  float Yaw(void) const;
52  // compute rotation of the vrpn coordinate with respect to the earth
53  // coordinate, around z axis
54  core::Quaternion ToVRPNReference(core::Quaternion quat_in);
55  core::Vector3D<double> ToVRPNReference(core::Vector3D<double> point_in);
56 
57 private:
58  Simulator_impl *pimpl_;
59 };
60 
66 Simulator *getSimulator(void);
67 
68 } // end namespace simulator
69 } // end namespace flair
70 
71 #endif // SIMULATOR_H
Simulator * getSimulator(void)
get Simulator
namespace of the flair Framework
Definition: Ahrs.h:19
Definition: Simulator.h:38
Class defining a 3D vector.
Definition: Gui.h:51
Main class of the Framework library.
Main class of the Framework library.
Definition: FrameworkManager.h:45
Class defining a quaternion.
Definition: Quaternion.h:26