# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

geom_ext.h

Go to the documentation of this file.
00001 
00007 /* Copyright, 2000 Nevrax Ltd.
00008  *
00009  * This file is part of NEVRAX NEL.
00010  * NEVRAX NEL is free software; you can redistribute it and/or modify
00011  * it under the terms of the GNU General Public License as published by
00012  * the Free Software Foundation; either version 2, or (at your option)
00013  * any later version.
00014 
00015  * NEVRAX NEL is distributed in the hope that it will be useful, but
00016  * WITHOUT ANY WARRANTY; without even the implied warranty of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00018  * General Public License for more details.
00019 
00020  * You should have received a copy of the GNU General Public License
00021  * along with NEVRAX NEL; see the file COPYING. If not, write to the
00022  * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
00023  * MA 02111-1307, USA.
00024  */
00025 
00026 #ifndef NL_TRIANGLE_EXT_H
00027 #define NL_TRIANGLE_EXT_H
00028 
00029 #include "nel/misc/types_nl.h"
00030 #include "nel/misc/line.h"
00031 #include "nel/misc/triangle.h"
00032 #include "nel/misc/quad.h"
00033 #include "nel/misc/uv.h"
00034 #include "nel/misc/rgba.h"
00035 
00036 
00037 namespace NLMISC 
00038 {
00039 
00040 // ***************************************************************************
00041 // ***************************************************************************
00042 // Lines.
00043 // ***************************************************************************
00044 // ***************************************************************************
00045 
00046 
00047 // ***************************************************************************
00054 class CLineColor : public CLine
00055 {
00056 public:
00057         CRGBA   Color0, Color1;
00058 
00059 public:
00060 
00062         CLineColor() {}
00063 
00064         CLineColor              &operator=(const CLine &line)
00065         {
00066                 *((CLine*)this)= line;
00067                 return *this;
00068         }
00069 
00070 };
00071 
00072 
00073 // ***************************************************************************
00080 class CLineUV : public CLine
00081 {
00082 public:
00083         CUV             Uv0, Uv1;
00084 
00085 public:
00086 
00088         CLineUV() {}
00089 
00090         CLineUV         &operator=(const CLine &line)
00091         {
00092                 *((CLine*)this)= line;
00093                 return *this;
00094         }
00095 
00096 };
00097 
00098 
00099 // ***************************************************************************
00106 class CLineColorUV : public CLine
00107 {
00108 public:
00109         CRGBA   Color0, Color1;
00110         CUV             Uv0, Uv1;
00111 
00112 public:
00113 
00115         CLineColorUV() {}
00116 
00117         CLineColorUV            &operator=(const CLine &line)
00118         {
00119                 *((CLine*)this)= line;
00120                 return *this;
00121         }
00122 
00123 };
00124 
00125 
00126 // ***************************************************************************
00127 // ***************************************************************************
00128 // Triangles.
00129 // ***************************************************************************
00130 // ***************************************************************************
00131 
00132 
00133 
00134 // ***************************************************************************
00141 class CTriangleColor : public CTriangle
00142 {
00143 public:
00144         CRGBA   Color0, Color1, Color2;
00145 
00146 public:
00147 
00149         CTriangleColor() {}
00150 
00151         CTriangleColor          &operator=(const CTriangle &tri)
00152         {
00153                 *((CTriangle*)this)= tri;
00154                 return *this;
00155         }
00156 
00157 };
00158 
00159 
00160 // ***************************************************************************
00167 class CTriangleUV : public CTriangle
00168 {
00169 public:
00170         CUV             Uv0, Uv1, Uv2;
00171 
00172 public:
00173 
00175         CTriangleUV() {}
00176 
00177         CTriangleUV             &operator=(const CTriangle &tri)
00178         {
00179                 *((CTriangle*)this)= tri;
00180                 return *this;
00181         }
00182 
00183 };
00184 
00185 
00186 // ***************************************************************************
00193 class CTriangleColorUV : public CTriangle
00194 {
00195 public:
00196         CRGBA   Color0, Color1, Color2;
00197         CUV             Uv0, Uv1, Uv2;
00198 
00199 public:
00200 
00202         CTriangleColorUV() {}
00203 
00204         CTriangleColorUV                &operator=(const CTriangle &tri)
00205         {
00206                 *((CTriangle*)this)= tri;
00207                 return *this;
00208         }
00209 
00210 };
00211 
00212 
00213 // ***************************************************************************
00214 // ***************************************************************************
00215 // Quads.
00216 // ***************************************************************************
00217 // ***************************************************************************
00218 
00219 
00220 // ***************************************************************************
00227 class CQuadColor : public CQuad
00228 {
00229 public:
00230         CRGBA   Color0, Color1, Color2, Color3;
00231 
00232 public:
00233 
00235         CQuadColor() {}
00236 
00237         CQuadColor              &operator=(const CQuad &quad)
00238         {
00239                 *((CQuad*)this)= quad;
00240                 return *this;
00241         }
00242 
00243 };
00244 
00245 
00246 // ***************************************************************************
00253 class CQuadUV : public CQuad
00254 {
00255 public:
00256         CUV             Uv0, Uv1, Uv2, Uv3;
00257 
00258 public:
00259 
00261         CQuadUV() {}
00262 
00263         CQuadUV         &operator=(const CQuad &quad)
00264         {
00265                 *((CQuad*)this)= quad;
00266                 return *this;
00267         }
00268 
00269 };
00270 
00271 
00272 // ***************************************************************************
00279 class CQuadColorUV : public CQuad
00280 {
00281 public:
00282         CRGBA   Color0, Color1, Color2, Color3;
00283         CUV             Uv0, Uv1, Uv2, Uv3;
00284 
00285 public:
00286 
00288         CQuadColorUV() {}
00289 
00290         CQuadColorUV            &operator=(const CQuad &quad)
00291         {
00292                 *((CQuad*)this)= quad;
00293                 return *this;
00294         }
00295 
00296 };
00297 
00298 
00299 } // NLMISC
00300 
00301 
00302 #endif // NL_TRIANGLE_EXT_H
00303 
00304 /* End of triangle_ext.h */