// created: 2013/03/25 // filename: Simulator.h // // author: Guillaume Sanahuja // Copyright Heudiasyc UMR UTC/CNRS 7253 // // version: $Id: $ // // purpose: classe de base du simulateur // /*********************************************************************/ #ifndef SIMULATOR_H #define SIMULATOR_H #include #include class Simulator_impl; namespace flair { namespace core { class Quaternion; class Vector3D; } } namespace flair { namespace simulator { class Model; class Gui; class Simulator: public core::FrameworkManager { friend class Model; friend class Gui; friend class GenericObject; public: //yaw_deg: rotation of the vrpn coordinate with respect to the earth coordinate, around z axis Simulator(std::string name,int optitrack_mstime=10,float yaw_deg=30); ~Simulator(); void RunSimu(void); //get rotation of the vrpn coordinate with respect to the earth coordinate, around z axis; in radians float Yaw(void) const; //compute rotation of the vrpn coordinate with respect to the earth coordinate, around z axis core::Quaternion ToVRPNReference(core::Quaternion quat_in); core::Vector3D ToVRPNReference(core::Vector3D point_in); private: Simulator_impl* pimpl_; }; /*! * \brief get Simulator * * \return the Simulator */ Simulator* getSimulator(void); } // end namespace simulator } // end namespace flair #endif // SIMULATOR_H