Buran Motion Planning Framework
gl_scene.h
1 #pragma once
2 
3 #include <GL/glut.h>
4 #include <string>
5 #include <utility>
6 #include "camera.h"
7 
8 namespace bmpf {
9 
33  class GLScene {
34  public:
35 
42  GLScene(int clientWidth, int clientHeight, const char *caption) :
43  _clientWidth(clientWidth), _clientHeight(clientHeight), _caption(caption), _flgPlay(false) {}
44 
48  virtual void initGL();
49 
53  virtual void renderGL();
54 
60  virtual void motionFunc(int x, int y);
61 
66  virtual void myKeyboard(unsigned char key);
67 
73  virtual void myReshape(int width, int height);
74 
75  protected:
79  virtual void init() = 0;
80 
84  virtual void render() = 0;
85 
92  virtual void changeState(int num, int delta) = 0;
93 
97  virtual void incActualState() {};
98 
102  virtual void decActualState() {};
103 
107  virtual void incTarget() {};
108 
112  virtual void decTarget() {};
113 
117  bool _flgPlay;
118 
119  private:
123  int _clientWidth;
127  int _clientHeight;
131  const char *_caption;
135  Camera _camera;
136 
142  static const int VERY_BIG_MOUSE_COORDS = 10000;
146  int _prevPosX = VERY_BIG_MOUSE_COORDS;
150  int _prevPosY = VERY_BIG_MOUSE_COORDS;
151 
152  };
153 
154 }
bmpf::GLScene::render
virtual void render()=0
bmpf::GLScene::myKeyboard
virtual void myKeyboard(unsigned char key)
Definition: gl_scene.cpp:129
bmpf::GLScene::_flgPlay
bool _flgPlay
Definition: gl_scene.h:112
bmpf::GLScene
Базовый класс GL сцены для упрощения работы с OpenGL Базовый класс GL сцены для упрощения работы с Op...
Definition: gl_scene.h:33
bmpf::Camera
Класс камеры
Definition: camera.h:18
bmpf::GLScene::renderGL
virtual void renderGL()
Definition: gl_scene.cpp:89
bmpf::GLScene::init
virtual void init()=0
bmpf::GLScene::myReshape
virtual void myReshape(int width, int height)
Definition: gl_scene.cpp:112
bmpf::GLScene::GLScene
GLScene(int clientWidth, int clientHeight, const char *caption)
Definition: gl_scene.h:42
bmpf::GLScene::initGL
virtual void initGL()
Definition: gl_scene.cpp:9
bmpf::GLScene::decTarget
virtual void decTarget()
Definition: gl_scene.h:112
bmpf::GLScene::incTarget
virtual void incTarget()
Definition: gl_scene.h:107
bmpf::GLScene::decActualState
virtual void decActualState()
Definition: gl_scene.h:102
bmpf::GLScene::incActualState
virtual void incActualState()
Definition: gl_scene.h:97
bmpf::GLScene::changeState
virtual void changeState(int num, int delta)=0
bmpf::GLScene::motionFunc
virtual void motionFunc(int x, int y)
Definition: gl_scene.cpp:69