00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _PRIM_GL_H__
00020 #define _PRIM_GL_H__
00021
00022 #include "primGL.h"
00023
00024 namespace glift {
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 class _export_ PointsGL : public PrimGL
00035 {
00036 public:
00037 PointsGL( const gutz::arrayw2f& vert,
00038 const gutz::arrayw2f& texCoord,
00039 const gutz::vec3f& scale = gutz::vec3f(1.0),
00040 const gutz::arrayw2f& normal = gutz::arrayo2f(),
00041 const gutz::arrayw1ui& indices = gutz::arrayo1ui(),
00042 const gutz::arrayw2f& color = gutz::arrayo2f(),
00043 const gutz::arrayw1ub& edgeFlag = gutz::arrayo1ub(),
00044 DrawAlg drawAlgType = GLIFT_DRAW_IMM );
00045
00046 PointsGL( const PointsGL& rhs );
00047 PointsGL& operator=( const PointsGL& rhs );
00048
00049 virtual ~PointsGL() {}
00050 };
00051
00052 class _export_ LinesGL : public PrimGL
00053 {
00054 public:
00055 LinesGL( const gutz::arrayw2f& vert,
00056 const gutz::arrayw2f& texCoord,
00057 const gutz::vec3f& scale = gutz::vec3f(1.0),
00058 const gutz::arrayw2f& norm = gutz::arrayo2f(),
00059 const gutz::arrayw1ui& indices = gutz::arrayo1ui(),
00060 const gutz::arrayw2f& color = gutz::arrayo2f(),
00061 const gutz::arrayw1ub& edgeFlag = gutz::arrayo1ub(),
00062 DrawAlg drawAlgType = GLIFT_DRAW_IMM );
00063
00064 LinesGL( const LinesGL& rhs );
00065 LinesGL& operator=( const LinesGL& rhs );
00066
00067 virtual ~LinesGL() {}
00068 };
00069
00070 class _export_ LineStripGL : public PrimGL
00071 {
00072 public:
00073 LineStripGL( const gutz::arrayw2f& vert,
00074 const gutz::arrayw2f& texCoord,
00075 const gutz::vec3f& scale = gutz::vec3f(1.0),
00076 const gutz::arrayw2f& normalize = gutz::arrayo2f(),
00077 const gutz::arrayw1ui& indices = gutz::arrayo1ui(),
00078 const gutz::arrayw2f& color = gutz::arrayo2f(),
00079 const gutz::arrayw1ub& edgeFlag = gutz::arrayo1ub(),
00080 DrawAlg drawAlgType = GLIFT_DRAW_IMM );
00081
00082 LineStripGL( const LineStripGL& rhs );
00083 LineStripGL& operator=( const LineStripGL& rhs );
00084
00085 virtual ~LineStripGL() {}
00086 };
00087
00088 class _export_ LineLoopGL : public PrimGL
00089 {
00090 public:
00091 LineLoopGL( const gutz::arrayw2f& vert,
00092 const gutz::arrayw2f& texCoord,
00093 const gutz::vec3f& scale = gutz::vec3f(1.0),
00094 const gutz::arrayw2f& norm = gutz::arrayo2f(),
00095 const gutz::arrayw1ui& indices = gutz::arrayo1ui(),
00096 const gutz::arrayw2f& color = gutz::arrayo2f(),
00097 const gutz::arrayw1ub& edgeFlag = gutz::arrayo1ub(),
00098 DrawAlg drawAlgType = GLIFT_DRAW_IMM );
00099
00100 LineLoopGL( const LineLoopGL& rhs );
00101 LineLoopGL& operator=( const LineLoopGL& rhs );
00102
00103 virtual ~LineLoopGL() {}
00104 };
00105
00106 class _export_ TrianglesGL : public PrimGL
00107 {
00108 public:
00109 TrianglesGL( const gutz::arrayw2f& vert,
00110 const gutz::arrayw2f& texCoord,
00111 const gutz::vec3f& scale = gutz::vec3f(1.0),
00112 const gutz::arrayw2f& norm = gutz::arrayo2f(),
00113 const gutz::arrayw1ui& indices = gutz::arrayo1ui(),
00114 const gutz::arrayw2f& color = gutz::arrayo2f(),
00115 const gutz::arrayw1ub& edgeFlag = gutz::arrayo1ub(),
00116 DrawAlg drawAlgType = GLIFT_DRAW_IMM );
00117
00118 TrianglesGL( const TrianglesGL& rhs );
00119 TrianglesGL& operator=( const TrianglesGL& rhs );
00120
00121 virtual ~TrianglesGL() {}
00122 };
00123
00124 class _export_ TriangleStripGL : public PrimGL
00125 {
00126 public:
00127 TriangleStripGL( const gutz::arrayw2f& vert,
00128 const gutz::arrayw2f& texCoord,
00129 const gutz::vec3f& scale = gutz::vec3f(1.0),
00130 const gutz::arrayw2f& normalize = gutz::arrayo2f(),
00131 const gutz::arrayw1ui& indices = gutz::arrayo1ui(),
00132 const gutz::arrayw2f& color = gutz::arrayo2f(),
00133 const gutz::arrayw1ub& edgeFlag = gutz::arrayo1ub(),
00134 DrawAlg drawAlgType = GLIFT_DRAW_IMM );
00135
00136 TriangleStripGL( const TriangleStripGL& rhs );
00137 TriangleStripGL& operator=( const TriangleStripGL& rhs );
00138
00139 virtual ~TriangleStripGL() {}
00140 };
00141
00142 class _export_ TriangleFanGL : public PrimGL
00143 {
00144 public:
00145 TriangleFanGL( const gutz::arrayw2f& vert,
00146 const gutz::arrayw2f& texCoord,
00147 const gutz::vec3f& scale = gutz::vec3f(1.0),
00148 const gutz::arrayw2f& norm = gutz::arrayo2f(),
00149 const gutz::arrayw1ui& indices = gutz::arrayo1ui(),
00150 const gutz::arrayw2f& color = gutz::arrayo2f(),
00151 const gutz::arrayw1ub& edgeFlag = gutz::arrayo1ub(),
00152 DrawAlg drawAlgType = GLIFT_DRAW_IMM );
00153
00154 TriangleFanGL( const TriangleFanGL& rhs );
00155 TriangleFanGL& operator=( const TriangleFanGL& rhs );
00156
00157 virtual ~TriangleFanGL() {}
00158 };
00159
00160 class _export_ QuadsGL : public PrimGL
00161 {
00162 public:
00163 QuadsGL( const gutz::arrayw2f& vert,
00164 const gutz::arrayw2f& texCoord,
00165 const gutz::vec3f& scale = gutz::vec3f(1.0),
00166 const gutz::arrayw2f& normalize = gutz::arrayo2f(),
00167 const gutz::arrayw1ui& indices = gutz::arrayo1ui(),
00168 const gutz::arrayw2f& color = gutz::arrayo2f(),
00169 const gutz::arrayw1ub& edgeFlag = gutz::arrayo1ub(),
00170 DrawAlg drawAlgType = GLIFT_DRAW_IMM );
00171
00172 QuadsGL( const QuadsGL& rhs );
00173 QuadsGL& operator=( const QuadsGL& rhs );
00174
00175 virtual ~QuadsGL() {}
00176 };
00177
00178 class _export_ QuadStripGL : public PrimGL
00179 {
00180 public:
00181 QuadStripGL( const gutz::arrayw2f& vert,
00182 const gutz::arrayw2f& texCoord,
00183 const gutz::vec3f& scale = gutz::vec3f(1.0),
00184 const gutz::arrayw2f& norm = gutz::arrayo2f(),
00185 const gutz::arrayw1ui& indices = gutz::arrayo1ui(),
00186 const gutz::arrayw2f& color = gutz::arrayo2f(),
00187 const gutz::arrayw1ub& edgeFlag = gutz::arrayo1ub(),
00188 DrawAlg drawAlgType = GLIFT_DRAW_IMM );
00189
00190 QuadStripGL( const QuadStripGL& rhs );
00191 QuadStripGL& operator=( const QuadStripGL& rhs );
00192
00193 virtual ~QuadStripGL() {}
00194 };
00195
00196 class _export_ PolygonGL : public PrimGL
00197 {
00198 public:
00199 PolygonGL( const gutz::arrayw2f& vert,
00200 const gutz::arrayw2f& texCoord,
00201 const gutz::vec3f& scale = gutz::vec3f(1.0),
00202 const gutz::arrayw2f& norm = gutz::arrayo2f(),
00203 const gutz::arrayw1ui& indices = gutz::arrayo1ui(),
00204 const gutz::arrayw2f& color = gutz::arrayo2f(),
00205 const gutz::arrayw1ub& edgeFlag = gutz::arrayo1ub(),
00206 DrawAlg drawAlgType = GLIFT_DRAW_IMM );
00207
00208 PolygonGL( const PolygonGL& rhs );
00209 PolygonGL& operator=( const PolygonGL& rhs );
00210
00211 virtual ~PolygonGL() {}
00212 };
00213
00214 }
00215
00216 #endif
00217