diff options
author | Stijn Buys <ingar@osirion.org> | 2008-03-06 22:07:10 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2008-03-06 22:07:10 +0000 |
commit | 6ade6c1c346743b8432600485e28682e276cfbd0 (patch) | |
tree | c0735c3c7d853a42927f97d277960568562d0163 /src/core/face.h | |
parent | 0af232b6f1b17271338a278783b4270a83e8897f (diff) |
moved render::Face to core::Face
Diffstat (limited to 'src/core/face.h')
-rw-r--r-- | src/core/face.h | 43 |
1 files changed, 43 insertions, 0 deletions
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 <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__ + |