diff options
Diffstat (limited to 'src/render/face.h')
-rw-r--r-- | src/render/face.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/render/face.h b/src/render/face.h new file mode 100644 index 0000000..d44b1d0 --- /dev/null +++ b/src/render/face.h @@ -0,0 +1,39 @@ +/* + 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); + ~Face(); + + /// the normal of this face + inline math::Vector3f const & normal() const { return face_normal; }; + + /// add a vertex to the face + void add_vertex(math::Vector3f const &vertex); + + /// draw the polygon + void draw(); + +private: + math::Vector3f face_normal; + std::vector<math::Vector3f *> face_vertex; +}; + +} + +#endif // __INCLUDED_RENDER_FACE_H__ + |