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_