From d1b9fa9ebb493674c95983fe690bffb730b1ece2 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Thu, 6 Mar 2008 21:49:54 +0000 Subject: moving model to core --- src/render/model.h | 93 ------------------------------------------------------ 1 file changed, 93 deletions(-) delete mode 100644 src/render/model.h (limited to 'src/render/model.h') diff --git a/src/render/model.h b/src/render/model.h deleted file mode 100644 index eca896b..0000000 --- a/src/render/model.h +++ /dev/null @@ -1,93 +0,0 @@ -/* - render/model.h - This file is part of the Osirion project and is distributed under - the terms of the GNU General Public License version 2 -*/ - -#ifndef __INCLUDED_RENDER_MODEL_H__ -#define __INCLUDED_RENDER_MODEL_H__ - -#include -#include - -#include "math/plane3f.h" -#include "core/entity.h" -#include "render/face.h" - -namespace render -{ - -/// a spacecraft engine -class Engine -{ -public: - Engine(math::Vector3f const & location); - ~Engine(); - - inline math::Vector3f const & location() const - { - return engine_location; - } - -private: - math::Vector3f engine_location; -}; - -/// a 3D model contains a list of faces -class Model -{ -public: - /// load a model from disk - Model(std::string const & name); - ~Model(); - - /// the name of the model - inline std::string const & name() const - { - return model_name; - } - - /// the Model registry - static std::map registry; - - /// draw the model for an entity - /** This will not draw attached engines, turrents and cannons - */ - void draw(core::Entity const * entity, math::Vector3f const & eye); - - /// draw the model for a controlable enity - /** This will draw all attached engines, turrents and cannons - */ - void draw(core::EntityControlable const * entity, math::Vector3f const & eye); - - /* ---- static functions for the Model registry -------------------- */ - - /// get name model, returns 0 if not found - static Model *find(std::string const & name); - - /// get named model from the registry and load it if necessary - static Model *get(std::string const & name); - - /// clear the model registry - static void clear(); - - /// list the content of the model registry - static void list(); - -private: - void make_face(math::Plane3f *face, std::vector & planes); - void add_engine(Engine *engine); - void add_face(Face *face); - - std::list model_face; - std::list model_engine; - std::string model_name; - - float model_scale; - -}; - -} - -#endif // __INCLUDED_RENDER_MODEL_H__ - -- cgit v1.2.3