scene.hpp
Go to the documentation of this file.
1 /*
2 ** TP CPE Lyon
3 ** Copyright (C) 2013 Damien Rohmer
4 **
5 ** This program is free software: you can redistribute it and/or modify
6 ** it under the terms of the GNU General Public License as published by
7 ** the Free Software Foundation, either version 3 of the License, or
8 ** (at your option) any later version.
9 **
10 ** This program is distributed in the hope that it will be useful,
11 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 ** GNU General Public License for more details.
14 **
15 ** You should have received a copy of the GNU General Public License
16 ** along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18 
19 
23 #ifndef SCENE_HPP_
24 #define SCENE_HPP_
25 
26 #include <vec3.hpp>
27 #include <mesh.hpp>
28 #include <grid.hpp>
30 #include <picking_data.hpp>
31 #include <gui_interface.hpp>
32 
33 #include <vector>
34 
35 class glwidget;
36 
37 class scene
38 {
39  private:
40 
45 
46 
47 
48  public:
49 
50  // ********************************************* //
51  // ********************************************* //
52  // CONSTRUCTORS
53  // ********************************************* //
54  // ********************************************* //
55 
57  scene();
58 
59 
60  // ********************************************* //
61  // ********************************************* //
62  // Scene construction and drawing
63  // ********************************************* //
64  // ********************************************* //
65 
67  void load_model();
69  void draw_scene();
70 
71 
72 
73  // ********************************************* //
74  // ********************************************* //
75  // Gui Helpers
76  // ********************************************* //
77  // ********************************************* //
78 
79 
81  void set_glwidget(glwidget *p_widget);
82 
85 
86 
87 
88  private:
89 
90 
94  void preload_sphere();
95 
96 
100  void init_gui_visibility();
101 
102 
103 };
104 
105 #endif