arbeit
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

primsGL.h

Go to the documentation of this file.
00001 //////////////////////////////////////////////////////////////////////
00002 // 6/6/02       Aaron Lefohn    Scientific Computing and Imaging Institute
00003 // School of Computing          University of Utah
00004 //
00005 //  This library is free software; you can redistribute it and/or
00006 //  modify it under the terms of the GNU Lesser General Public
00007 //  License as published by the Free Software Foundation; either
00008 //  version 2.1 of the License, or (at your option) any later version.
00009 //
00010 //  This library is distributed in the hope that it will be useful,
00011 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013 //  Lesser General Public License for more details.
00014 //
00015 //  You should have received a copy of the GNU Lesser General Public
00016 //  License along with this library; if not, write to the Free Software
00017 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00018 
00019 #ifndef _PRIM_GL_H__
00020 #define _PRIM_GL_H__
00021 
00022 #include "primGL.h"
00023 
00024 namespace glift {
00025 
00026 /////////////////////////////////////////////////////////////////////////
00027 ///
00028 /// Wrapper around all the OpenGL 1.2 primitives
00029 /// 
00030 /// - These should be used in more complex primitives when an OpenGL prim
00031 ///   is desired.
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 } /// End of namespace glift
00215 
00216 #endif
00217 

Send questions, comments, and bug reports to:
jmk