eqemu
annotate src/scene.h @ 12:2656099aff12
added copyright notices and license
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Fri, 18 Jul 2014 07:04:21 +0300 |
parents | 977bc1cb055b |
children |
rev | line source |
---|---|
nuclear@12 | 1 /* |
nuclear@12 | 2 eqemu - electronic queue system emulator |
nuclear@12 | 3 Copyright (C) 2014 John Tsiombikas <nuclear@member.fsf.org>, |
nuclear@12 | 4 Eleni-Maria Stea <eleni@mutantstargoat.com> |
nuclear@12 | 5 |
nuclear@12 | 6 This program is free software: you can redistribute it and/or modify |
nuclear@12 | 7 it under the terms of the GNU General Public License as published by |
nuclear@12 | 8 the Free Software Foundation, either version 3 of the License, or |
nuclear@12 | 9 (at your option) any later version. |
nuclear@12 | 10 |
nuclear@12 | 11 This program is distributed in the hope that it will be useful, |
nuclear@12 | 12 but WITHOUT ANY WARRANTY; without even the implied warranty of |
nuclear@12 | 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
nuclear@12 | 14 GNU General Public License for more details. |
nuclear@12 | 15 |
nuclear@12 | 16 You should have received a copy of the GNU General Public License |
nuclear@12 | 17 along with this program. If not, see <http://www.gnu.org/licenses/>. |
nuclear@12 | 18 */ |
nuclear@3 | 19 #ifndef SCENE_H_ |
nuclear@3 | 20 #define SCENE_H_ |
nuclear@3 | 21 |
nuclear@3 | 22 #include <stdio.h> |
nuclear@3 | 23 #include <vector> |
nuclear@3 | 24 #include "mesh.h" |
nuclear@3 | 25 #include "object.h" |
nuclear@3 | 26 |
nuclear@3 | 27 class Scene { |
nuclear@3 | 28 private: |
nuclear@3 | 29 std::vector<Object*> objects; |
nuclear@3 | 30 std::vector<Mesh*> meshes; |
nuclear@3 | 31 |
nuclear@3 | 32 bool load_obj(FILE *fp); // defined in objfile.cc |
nuclear@3 | 33 |
nuclear@3 | 34 public: |
nuclear@3 | 35 ~Scene(); |
nuclear@3 | 36 |
nuclear@3 | 37 bool load(const char *fname); |
nuclear@3 | 38 |
nuclear@3 | 39 void add_object(Object *obj); |
nuclear@3 | 40 void add_mesh(Mesh *mesh); |
nuclear@3 | 41 |
nuclear@3 | 42 int get_num_objects() const; |
nuclear@3 | 43 int get_num_meshes() const; |
nuclear@3 | 44 |
nuclear@3 | 45 Object *get_object(int idx) const; |
nuclear@3 | 46 Mesh *get_mesh(int idx) const; |
nuclear@3 | 47 |
nuclear@4 | 48 Object *get_object(const char *name) const; |
nuclear@6 | 49 bool remove_object(Object *obj); |
nuclear@4 | 50 |
nuclear@3 | 51 void update(long msec); |
nuclear@3 | 52 void render() const; |
nuclear@3 | 53 }; |
nuclear@3 | 54 |
nuclear@3 | 55 #endif // SCENE_H_ |