Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2008-03-09 18:40:31 +0000
committerStijn Buys <ingar@osirion.org>2008-03-09 18:40:31 +0000
commit517d35b2bbaeb3ee4b7e29301cd41bb58628bf3e (patch)
tree5473c128e64029b35ecfe22c9e48628c02af5407 /src/core/model.h
parent289bf4b622b95b794e438ac257d75ea437e3e023 (diff)
parse of light entities in models
Diffstat (limited to 'src/core/model.h')
-rw-r--r--src/core/model.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/core/model.h b/src/core/model.h
index b273c46..013edcc 100644
--- a/src/core/model.h
+++ b/src/core/model.h
@@ -58,6 +58,23 @@ private:
math::Vector3f engine_location;
};
+/// an exterior light
+class Light
+{
+public:
+ Light(math::Vector3f const & location, math::Color const & color);
+ ~Light();
+
+ inline math::Vector3f const & location() const { return light_location; }
+
+ inline math::Color const & color() const { return light_color; };
+
+private:
+ math::Vector3f light_location;
+ math::Color light_color;
+};
+
+
/// a 3D model contains a list of faces
class Model
{
@@ -94,17 +111,20 @@ public:
/// list of Engines
std::list<Engine *> model_engine;
+
+ /// list of Lights
+ std::list<Light *> model_light;
private:
void make_face(math::Plane3f *face, std::vector<math::Plane3f *> & planes);
void add_engine(Engine *engine);
void add_face(Face *face);
+ void add_light(Light *light);
std::string model_name;
float model_scale;
bool model_valid;
-
};
}