From 426b766efbccdd8f5715de9526464db251fac30c Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Wed, 23 Jul 2008 15:16:56 +0000 Subject: preparing for fragment rendering --- src/model/quad.h | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/model/quad.h (limited to 'src/model/quad.h') diff --git a/src/model/quad.h b/src/model/quad.h new file mode 100644 index 0000000..d2215f2 --- /dev/null +++ b/src/model/quad.h @@ -0,0 +1,60 @@ +/* + model/quad.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_MODEL_QUAD_H__ +#define __INCLUDED_MODEL_QUAD_H__ + +#include "math/color.h" +#include "math/vector3f.h" + +namespace model +{ + +/// a model quad +class Quad +{ +public: + /// a new quad with 4 vertices, a normal, color and a detail flag + Quad(math::Vector3f const &v0, math::Vector3f const &v1, math::Vector3f const &v2, math::Vector3f const &v3, + math::Vector3f const &n, math::Color const & color, bool detail); + /// delete quad + ~Quad(); + + /// normal of the quad + inline math::Vector3f const & normal() const { return quad_normal; } + + /// color of the quad + inline math::Color const & color() const { return quad_color;} + + /// indidcates if this quad was generated from a detail brush + inline bool detail() const { return quad_detail; } + + /// quad vertex 0 + inline math::Vector3f & v0() { return quad_v0; } + + /// quad vertex 1 + inline math::Vector3f & v1() { return quad_v1; } + + /// quad vertex 2 + inline math::Vector3f & v2() { return quad_v2; } + + /// quad vertex 3 + inline math::Vector3f & v3() { return quad_v3; } +private: + + math::Vector3f quad_v0; + math::Vector3f quad_v1; + math::Vector3f quad_v2; + math::Vector3f quad_v3; + + math::Vector3f quad_normal; + math::Color quad_color; + bool quad_detail; +}; + +} + +#endif // __INCLUDED_MODEL_QUAD_H__ -- cgit v1.2.3