source: flair-dev/trunk/include/FlairSimulator/Gui.h @ 82

Last change on this file since 82 was 50, checked in by Sanahuja Guillaume, 5 years ago

doc

File size: 3.3 KB
RevLine 
[9]1// %flair:license{
[13]2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
[9]4// %flair:license}
[8]5//  created:    2013/03/27
6//  filename:   Gui.h
7//
8//  author:     Guillaume Sanahuja
9//              Copyright Heudiasyc UMR UTC/CNRS 7253
10//
11//  version:    $Id: $
12//
13//  purpose:    classe definissant une Gui
14//
15/*********************************************************************/
16
17#ifndef GUI_H
18#define GUI_H
19
20#include <Object.h>
[50]21#include <Vector3D.h>
[8]22#include <EDriverTypes.h>
23#include <vector3d.h>
24
[13]25namespace irr {
26class IrrlichtDevice;
27namespace video {
28class ITexture;
[8]29}
[13]30namespace scene {
31class IAnimatedMesh;
32class ISceneManager;
33}
34}
[8]35
[13]36namespace flair {
37namespace core {
38class Object;
39class Euler;
40class Quaternion;
[8]41}
[13]42}
[8]43
44class Gui_impl;
45class Simulator_impl;
46class Model_impl;
47
[13]48namespace flair {
49namespace simulator {
[8]50
[50]51class Gui: public core::Object {
[13]52  friend class ::Simulator_impl;
[34]53  friend class VisualizationCamera;
[8]54
[13]55public:
[50]56  Gui(std::string name, int app_width, int app_height,
[13]57      int scene_width, int scene_height, std::string media_path,
58      irr::video::E_DRIVER_TYPE driver_type = irr::video::EDT_OPENGL);
59  ~Gui();
60  irr::core::vector3df getRotation(void) const;
61  irr::video::ITexture *getTexture(std::string filename) const;
62  irr::scene::IAnimatedMesh *getMesh(std::string filename) const;
63  irr::scene::ISceneManager *getSceneManager(void) const;
[34]64  irr::IrrlichtDevice *getDevice(void) const;
[13]65  float getAspectRatio(void) const;
[8]66
[13]67protected:
68  void setMesh(std::string file,
69               irr::core::vector3df position = irr::core::vector3df(0, 0, 0),
70               irr::core::vector3df rotation = irr::core::vector3df(0, 0, 0),
71               irr::core::vector3df scale = irr::core::vector3df(1, 1, 1));
[8]72
[13]73private:
74  Gui_impl *pimpl_;
75};
[8]76
[13]77/*!
78* \brief get Gui
79*
80* \return the Gui
81*/
82Gui *getGui(void);
[8]83
[13]84bool noGui(void);
[8]85
[13]86bool isGlExtensionSupported(
87    const std::string &ext); // check if a extension is supported
[8]88
[13]89/*!
90* \brief Convert to irrlicht scale
91*
92* \param value value in simulator scale
93*
94* \return value in irrlicht scale
95*/
96float ToIrrlichtScale(float value);
[8]97
[13]98/*!
99* \brief Convert to simulator scale
100*
101* \param value value in irrlicht scale
102*
103* \return value in simulator scale
104*/
105float ToSimulatorScale(float value);
[8]106
[13]107/*!
108* \brief Convert to irrlicht coordinates
109*
110* irrlicht is left handed and as a different scale
111*
112* \param vect vector in simulator coordinates
113*
114* \return vector in irrlicht coordinates
115*/
116irr::core::vector3df ToIrrlichtCoordinates(irr::core::vector3df vect);
[8]117
[13]118/*!
119* \brief Convert to irrlicht coordinates
120*
121* irrlicht is left handed and as a different scale
122*
123* \param vect vector in simulator coordinates
124*
125* \return vector in irrlicht coordinates
126*/
[50]127template<typename T>  irr::core::vector3df ToIrrlichtCoordinates(core::Vector3D<T> vect);
[8]128
[13]129/*!
130* \brief Convert to simulator coordinates
131*
132* irrlicht is left handed and as a different scale
133*
134* \param vect vector in irrlicht coordinates
135*
136* \return vector in simulator coordinates
137*/
[50]138core::Vector3Df ToSimulatorCoordinates(irr::core::vector3df vect);
[8]139
[13]140/*!
141* \brief Convert to irrlicht orientation
142*
143* irrlicht is left handed
144*
145* \param quat quaternion in simulator frame
146*
147* \return quaternion in irrlicht frame
148*/
149core::Quaternion ToIrrlichtOrientation(core::Quaternion quat);
150
[8]151} // end namespace simulator
152} // end namespace flair
153#endif // GUI_H
Note: See TracBrowser for help on using the repository browser.