From 6ade6c1c346743b8432600485e28682e276cfbd0 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Thu, 6 Mar 2008 22:07:10 +0000 Subject: moved render::Face to core::Face --- src/core/face.h | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/core/face.h (limited to 'src/core/face.h') diff --git a/src/core/face.h b/src/core/face.h new file mode 100644 index 0000000..a0a4d5a --- /dev/null +++ b/src/core/face.h @@ -0,0 +1,43 @@ +/* + 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 + +#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 face_vertex; +}; + +} + +#endif // __INCLUDED_RENDER_FACE_H__ + -- cgit v1.2.3