X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuilders%2Fgrid.h;fp=source%2Fbuilders%2Fgrid.h;h=ed22ce7d6c939fdf71b7e4d1a35a065807bb9ae5;hb=7aaec9a70b8d7733429bec043f8e33e02956f266;hp=0000000000000000000000000000000000000000;hpb=bec07999d95b76f4b47cffcc564d0cd0afc0435e;p=libs%2Fgl.git diff --git a/source/builders/grid.h b/source/builders/grid.h new file mode 100644 index 00000000..ed22ce7d --- /dev/null +++ b/source/builders/grid.h @@ -0,0 +1,36 @@ +#ifndef MSP_GL_GRID_H_ +#define MSP_GL_GRID_H_ + +#include "geometrybuilder.h" +#include "vector.h" + +namespace Msp { +namespace GL { + +class GridBuilder: public GeometryBuilder +{ +private: + Vector3 origin; + Vector3 side1; + Vector3 side2; + Vector3 norm; + Vector3 binorm; + unsigned u_div; + unsigned v_div; + +public: + GridBuilder(float, float, unsigned = 4, unsigned = 4); + GridBuilder(const Vector3 &, const Vector3 &, unsigned = 4, unsigned = 4); + GridBuilder(const Vector3 &, const Vector3 &, const Vector3 &, unsigned = 4, unsigned = 4); +private: + void init(bool); + +public: + using GeometryBuilder::build; + virtual void build(PrimitiveBuilder &) const; +}; + +} // namespace GL +} // namespace Msp + +#endif