00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _OPENCITY_MODEL_H_
00021 #define _OPENCITY_MODEL_H_ 1
00022
00023 #include "main.h"
00024
00025 #include <map>
00026
00027
00028
00031 class Model {
00032 public:
00033 Model(
00034 const GLfloat data [],
00035 const GLuint & size );
00036
00037 Model(
00038 const GLfloat data [],
00039 const GLuint & size,
00040 const GLfloat rgb [],
00041 const GLfloat tcoord [],
00042 const GLuint tname [] );
00043
00044 Model(
00045 GLuint dlOpaque,
00046 GLuint dlAlpha,
00047 std::map<string, GLuint> mapTex );
00048
00049 ~Model();
00050
00051
00052
00059 void
00060 Display(
00061 const OC_FLOAT & rcfW = 0,
00062 const OC_FLOAT & rcfH = 0,
00063 const OC_FLOAT & rcfY = 0 ) const;
00064
00065
00066
00070 void
00071 Display2(
00072 const OC_FLOAT & rcfW,
00073 const OC_FLOAT & rcfH,
00074 const OC_BYTE tabY []) const;
00075
00076
00077
00078 void
00079 DisplayPoly(
00080 const OC_FLOAT & rcfW,
00081 const OC_FLOAT & rcfH,
00082 const OC_BYTE tabY []
00083 ) const;
00084
00085
00086
00089 void
00090 DisplayList() const;
00091
00092
00093
00100 void
00101 DisplayList(
00102 const OC_FLOAT & rcfW,
00103 const OC_FLOAT & rcfL,
00104 const OC_BYTE tabY []
00105 ) const;
00106
00107
00108 private:
00109 const GLfloat* ftabData;
00110 const GLfloat* ftabRGB;
00111 const GLfloat* ftabTexCoord;
00112 const GLuint* uitabTexName;
00113 GLuint uiTabSize;
00114
00115
00116 GLuint uiOpaqueList;
00117 GLuint uiAlphaList;
00118 std::map<string, GLuint> mapTexture;
00119 };
00120
00121
00122 #endif
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158