diff options
Diffstat (limited to 'src/render')
-rw-r--r-- | src/render/face.cc | 53 | ||||
-rw-r--r-- | src/render/face.h | 43 |
2 files changed, 0 insertions, 96 deletions
diff --git a/src/render/face.cc b/src/render/face.cc deleted file mode 100644 index 31b7fcc..0000000 --- a/src/render/face.cc +++ /dev/null @@ -1,53 +0,0 @@ -/* - render/face.cc - This file is part of the Osirion project and is distributed under - the terms of the GNU General Public License version 2 -*/ - -#include "render/face.h" -#include "render/gl.h" - -namespace render { - -Face::Face(math::Vector3f const & normal, math::Color const *color) : - face_normal(normal) -{ - face_normal.normalize(); - - if (color) - face_color = new math::Color(*color); - else - face_color = 0; -} - -Face::~Face() -{ - for (std::vector<math::Vector3f *>::iterator it = face_vertex.begin(); it != face_vertex.end(); it++) { - delete (*it); - } - - face_vertex.clear(); - - if (face_color) - delete face_color; -} - -void Face::add_vertex(math::Vector3f const & vertex) -{ - math::Vector3f *v = new math::Vector3f(vertex); - - face_vertex.push_back(v); -} - -void Face::draw() -{ - //gl::begin(gl::LineLoop); - gl::begin(gl::Polygon); - gl::normal(face_normal); // face_normal already has unit lenght - for (std::vector<math::Vector3f *>::iterator it = face_vertex.begin(); it != face_vertex.end(); it++) { - gl::vertex(*(*it)); - } - gl::end(); -} - -} diff --git a/src/render/face.h b/src/render/face.h deleted file mode 100644 index a0a4d5a..0000000 --- a/src/render/face.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - render/face.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_FACE_H__ -#define __INCLUDED_RENDER_FACE_H__ - -#include <vector> - -#include "math/mathlib.h" - -namespace render { - -/// one face (polygon) of a model -class Face { -public: - Face(math::Vector3f const & normal, math::Color const *color=0); - ~Face(); - - /// the normal of this face - inline math::Vector3f const & normal() const { return face_normal; }; - - /// the color of this face - inline math::Color const *color() const { return face_color; }; - - /// add a vertex to the face - void add_vertex(math::Vector3f const &vertex); - - /// draw the polygon - void draw(); - -private: - math::Vector3f face_normal; - math::Color *face_color; - std::vector<math::Vector3f *> face_vertex; -}; - -} - -#endif // __INCLUDED_RENDER_FACE_H__ - |