Merge branch 'experiment' of git+ssh://repo.or.cz/srv/git/glgame
[glgame.git] / src / displayed_obj.h
blob8eba0555f3453699803874b37a76885ee8ed2a3c
1 #ifndef DISPLAYED_OBJ_H
2 #define DISPLAYED_OBJ_H
4 #include "screen.h"
5 #include "math/coord_t.h"
6 #include <list>
7 #include <SDL/SDL_opengl.h>
8 #include "math/vector2d.h"
11 /**
12 @brief Отображаемый объект
14 Виртуальный базовый класс для унаследования всеми отображаемыми объектами
16 @author Феклушкин Денис <edu2005-60@mail.ru>
19 class displayed_obj {
21 typedef std::list<displayed_obj*> ObjList;
22 static ObjList list_obj; ///< Список всех отображаемых объектов
23 ObjList::iterator this_obj; ///< Итератор на данный объект
25 public:
26 virtual void display() = 0; ///< Отображение средствами OpenGL
27 displayed_obj();
28 virtual ~displayed_obj();
30 static void display_all(); ///< Отобразить всех "детей", но не "внуков"
32 bool visible; ///< Флаг видимости объекта
36 #endif