diff options
author | Stijn Buys <ingar@osirion.org> | 2008-03-02 12:23:48 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2008-03-02 12:23:48 +0000 |
commit | 81787e9004377016236865e95b95707ed6cf1d0b (patch) | |
tree | b8a7bd0d51f97848ad98ec8c8f5e424de910df32 /src/render/face.cc | |
parent | 1d45d8ecb4633f07a0ff163255dbedc3c3a72ac8 (diff) |
initial (buggy) support for .map models
Diffstat (limited to 'src/render/face.cc')
-rw-r--r-- | src/render/face.cc | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/render/face.cc b/src/render/face.cc new file mode 100644 index 0000000..cd69b4e --- /dev/null +++ b/src/render/face.cc @@ -0,0 +1,43 @@ +/* + 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) : + face_normal(normal) +{ + face_normal.normalize(); +} + +Face::~Face() +{ + for (std::vector<math::Vector3f *>::iterator it = face_vertex.begin(); it != face_vertex.end(); it++) { + delete (*it); + } + + face_vertex.clear(); +} + +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); + for (std::vector<math::Vector3f *>::iterator it = face_vertex.begin(); it != face_vertex.end(); it++) { + gl::vertex(*(*it)); + } + gl::end(); +} + +} |