#include <ExCMap.h>
|
Définition à la ligne 26 du fichier ExCMap.cpp. Références m_OctreeState, m_ShowMesh, m_ShowOctreeSubdivision, m_ShowSkybox, m_VecMesh, et m_VecVertex.
00027 { 00028 m_ShowSkybox=true; 00029 m_ShowMesh=true; 00030 m_OctreeState=false; 00031 m_ShowOctreeSubdivision=false; 00032 #ifdef UNIX_SRC 00033 // This is very awfull but it segfault without it 00034 m_VecMesh.reserve (1000); 00035 m_VecVertex.reserve (1000); 00036 #endif 00037 } |
|
Définition à la ligne 39 du fichier ExCMap.cpp.
00040 { 00041 } |
|
Définition à la ligne 216 du fichier ExCMap.cpp. Références ExCOctree::Build(), Guard, m_Octree, m_VecMesh, ManagerTexture, ExCOctree::SetManagerTexture(), et UnGuard. Référencé par LoadMap().
00217 { 00218 Guard(void ExMap::BuildOctree(void)) 00219 m_Octree.SetManagerTexture(ManagerTexture); 00220 m_Octree.Build(m_VecMesh); 00221 UnGuard 00222 } |
|
Définition à la ligne 43 du fichier ExCMap.cpp. Références Guard, m_GlSkyBoxListId, m_STextureBoxNameBack, m_STextureBoxNameBottom, m_STextureBoxNameFront, m_STextureBoxNameLeft, m_STextureBoxNameRight, m_STextureBoxNameTop, ManagerTexture, ExManagerTexture::SetActiveTexture(), et UnGuard. Référencé par LoadMap().
00044 { 00045 Guard(void ExMap::BuildSkyBox(void)) 00046 00047 glDeleteLists(m_GlSkyBoxListId,1); //delete old list 00048 m_GlSkyBoxListId=glGenLists(1); //Ask for a new free list 00049 glNewList(m_GlSkyBoxListId,GL_COMPILE); 00050 00051 glEnable(GL_TEXTURE_2D); 00052 glDisable(GL_LIGHTING); 00053 ManagerTexture->SetActiveTexture(m_STextureBoxNameFront); 00054 glBegin(GL_QUADS); 00055 // Front Face 00056 glColor4f(1, 1, 1, 1); 00057 glTexCoord2f(1.0f, 1.0f); glVertex3f(-500.0f, 500.0f, 500.0f); 00058 glTexCoord2f(0.0f, 1.0f); glVertex3f( 500.0f, 500.0f, 500.0f); 00059 glTexCoord2f(0.0f, 0.0f); glVertex3f( 500.0f, -500.0f, 500.0f); 00060 glTexCoord2f(1.0f, 0.0f); glVertex3f(-500.0f, -500.0f, 500.0f); 00061 glEnd(); 00062 ManagerTexture->SetActiveTexture(m_STextureBoxNameBack); 00063 glBegin(GL_QUADS); 00064 // Back Face 00065 glTexCoord2f(1.0f, 0.0f); glVertex3f( 500.0f, -500.0f, -500.0f); 00066 glTexCoord2f(1.0f, 1.0f); glVertex3f( 500.0f, 500.0f, -500.0f); 00067 glTexCoord2f(0.0f, 1.0f); glVertex3f(-500.0f, 500.0f, -500.0f); 00068 glTexCoord2f(0.0f, 0.0f); glVertex3f(-500.0f, -500.0f, -500.0f); 00069 glEnd(); 00070 ManagerTexture->SetActiveTexture(m_STextureBoxNameTop); 00071 glBegin(GL_QUADS); 00072 // Top Face 00073 glTexCoord2f(0.0f, 1.0f); glVertex3f( 500.0f, 500.0f, -500.0f); 00074 glTexCoord2f(0.0f, 0.0f); glVertex3f( 500.0f, 500.0f, 500.0f); 00075 glTexCoord2f(1.0f, 0.0f); glVertex3f(-500.0f, 500.0f, 500.0f); 00076 glTexCoord2f(1.0f, 1.0f); glVertex3f(-500.0f, 500.0f, -500.0f); 00077 glEnd(); 00078 ManagerTexture->SetActiveTexture(m_STextureBoxNameBottom); 00079 glBegin(GL_QUADS); 00080 // Bottom Face 00081 glTexCoord2f(1.0f, 1.0f); glVertex3f(-500.0f, -500.0f, 500.0f); 00082 glTexCoord2f(0.0f, 1.0f); glVertex3f( 500.0f, -500.0f, 500.0f); 00083 glTexCoord2f(0.0f, 0.0f); glVertex3f( 500.0f, -500.0f, -500.0f); 00084 glTexCoord2f(1.0f, 0.0f); glVertex3f(-500.0f, -500.0f, -500.0f); 00085 glEnd(); 00086 ManagerTexture->SetActiveTexture(m_STextureBoxNameRight); 00087 glBegin(GL_QUADS); 00088 // Right face 00089 glTexCoord2f(1.0f, 0.0f); glVertex3f( 500.0f, -500.0f, 500.0f); 00090 glTexCoord2f(1.0f, 1.0f); glVertex3f( 500.0f, 500.0f, 500.0f); 00091 glTexCoord2f(0.0f, 1.0f); glVertex3f( 500.0f, 500.0f, -500.0f); 00092 glTexCoord2f(0.0f, 0.0f); glVertex3f( 500.0f, -500.0f, -500.0f); 00093 glEnd(); 00094 ManagerTexture->SetActiveTexture(m_STextureBoxNameLeft); 00095 glBegin(GL_QUADS); 00096 // Left Face 00097 glTexCoord2f(1.0f, 1.0f); glVertex3f(-500.0f, 500.0f, -500.0f); 00098 glTexCoord2f(0.0f, 1.0f); glVertex3f(-500.0f, 500.0f, 500.0f); 00099 glTexCoord2f(0.0f, 0.0f); glVertex3f(-500.0f, -500.0f, 500.0f); 00100 glTexCoord2f(1.0f, 0.0f); glVertex3f(-500.0f, -500.0f, -500.0f); 00101 00102 glEnd(); 00103 glDisable(GL_TEXTURE_2D); 00104 glEnable(GL_LIGHTING); 00105 00106 glEndList(); 00107 UnGuard 00108 } |
|
Définition à la ligne 224 du fichier ExCMap.cpp. Référencé par LoadMap().
00225 { 00226 Guard(void ExMap::BuildVertexArrays(void)) 00227 /*int i=0; 00228 float *g_vertexArray; // vertex array 00229 //float *g_colorArray; // color array 00230 float *g_texcoordArray; // texture array 00231 00232 g_vertexArray= new float[m_VecMesh.size()*3][3]; 00233 //g_colorArray= new float[m_VecMesh.size()*3][3]; 00234 g_texcoordArray= new float[m_VecMesh.size()*3][2]; 00235 00236 for(m_ItVecMesh=m_VecMesh.begin();m_ItVecMesh!=m_VecMesh.end();++m_ItVecMesh) 00237 { 00238 //ManagerTexture->SetActiveTexture(m_ItVecMesh->GetMaterial()); 00239 00240 g_texcoordArray[i][0]=m_ItVecMesh->A.GetU(); 00241 g_texcoordArray[i][1]=m_ItVecMesh->A.GetV(); 00242 00243 g_vertexArray[i][0]=m_ItVecMesh->A.GetX(); 00244 g_vertexArray[i][0]=m_ItVecMesh->A.GetY(); 00245 g_vertexArray[i][0]=m_ItVecMesh->A.GetZ(); 00246 00247 g_texcoordArray[i+1][0]=m_ItVecMesh->B.GetU(); 00248 g_texcoordArray[i+1][1]=m_ItVecMesh->B.GetV(); 00249 00250 g_vertexArray[i+1][0]=m_ItVecMesh->B.GetX(); 00251 g_vertexArray[i+1][0]=m_ItVecMesh->B.GetY(); 00252 g_vertexArray[i+1][0]=m_ItVecMesh->B.GetZ(); 00253 00254 g_texcoordArray[i+2][0]=m_ItVecMesh->C.GetU(); 00255 g_texcoordArray[i+2][1]=m_ItVecMesh->C.GetV(); 00256 00257 g_vertexArray[i+2][0]=m_ItVecMesh->C.GetX(); 00258 g_vertexArray[i+2][0]=m_ItVecMesh->C.GetY(); 00259 g_vertexArray[i+2][0]=m_ItVecMesh->C.GetZ(); 00260 00261 i++; 00262 } 00263 // enable the vertex arrays being used 00264 glEnableClientState(GL_VERTEX_ARRAY); 00265 //glEnableClientState(GL_COLOR_ARRAY); 00266 glEnableClientState(GL_TEXTURE_COORD_ARRAY); 00267 // pass the pointers to OpenGL 00268 glVertexPointer(3, GL_FLOAT, 0, g_vertexArray); 00269 //glColorPointer(3, GL_FLOAT, 0, g_colorArray); 00270 glTexCoordPointer(2, GL_FLOAT, 0, g_texcoordArray);*/ 00271 UnGuard 00272 } |
|
Définition à la ligne 185 du fichier ExCMap.cpp. Références Guard, m_GlListId, m_ItVecMesh, m_VecMesh, ManagerTexture, ExManagerTexture::SetActiveTexture(), et UnGuard. Référencé par LoadMap().
00186 { 00187 Guard(void ExMap::BuilList(void)) 00188 m_GlListId=glGenLists(1); 00189 glNewList(m_GlListId,GL_COMPILE); 00190 glColor3f(1.0f, 1.0f, 1.0f); 00191 glDisable(GL_LIGHTING); 00192 glEnable(GL_TEXTURE_2D); 00193 int i=0; 00194 00195 for(m_ItVecMesh=m_VecMesh.begin();m_ItVecMesh!=m_VecMesh.end();++m_ItVecMesh) 00196 { 00197 ManagerTexture->SetActiveTexture(m_ItVecMesh->GetMaterial()); 00198 glBegin(GL_TRIANGLES); 00199 glTexCoord2f(m_ItVecMesh->A.GetU(), m_ItVecMesh->A.GetV()); 00200 glVertex3f(m_ItVecMesh->A.GetX(),m_ItVecMesh->A.GetY(),m_ItVecMesh->A.GetZ()); 00201 glTexCoord2f(m_ItVecMesh->B.GetU(), m_ItVecMesh->B.GetV()); 00202 glVertex3f(m_ItVecMesh->B.GetX(),m_ItVecMesh->B.GetY(),m_ItVecMesh->B.GetZ()); 00203 glTexCoord2f(m_ItVecMesh->C.GetU(), m_ItVecMesh->C.GetV()); 00204 glVertex3f(m_ItVecMesh->C.GetX(),m_ItVecMesh->C.GetY(),m_ItVecMesh->C.GetZ()); 00205 glEnd(); 00206 i++; 00207 } 00208 00209 glEnable(GL_LIGHTING); 00210 glDisable(GL_TEXTURE_2D); 00211 glEndList(); 00212 UnGuard 00213 } |
|
Définition à la ligne 98 du fichier ExCMap.h. Références m_OctreeState. Référencé par ExManagerMap::DisableOctree().
00098 {m_OctreeState=false;} |
|
Définition à la ligne 164 du fichier ExCMap.cpp. Références DrawAllMesh(), DrawMeshInFrustrum(), Guard, m_GlSkyBoxListId, et UnGuard. Référencé par ExManagerMap::Draw().
00165 { 00166 Guard(void ExMap::Draw(void)) 00167 if(m_ShowSkybox)glCallList(m_GlSkyBoxListId); 00168 glPushMatrix(); 00169 glRotatef(-90,1.0f,0.0f,0.0f); 00170 if(m_ShowMesh) 00171 { 00172 if(m_OctreeState) 00173 { 00174 DrawMeshInFrustrum(); 00175 }else 00176 { 00177 DrawAllMesh(); 00178 } 00179 } 00180 glPopMatrix(); 00181 00182 UnGuard 00183 } |
|
Définition à la ligne 110 du fichier ExCMap.cpp. Références Guard, m_GlListId, et UnGuard. Référencé par Draw().
00111 { 00112 Guard(void ExMap::DrawAllMesh(void)) 00113 glCallList(m_GlListId); 00114 UnGuard 00115 } |
|
Définition à la ligne 117 du fichier ExCMap.cpp. Références ExCFrustum::CalculateFrustum(), Frustrum, Guard, m_ItVecMesh, m_VecMesh, ManagerTexture, ExCFrustum::PointInFrustum(), ExManagerTexture::SetActiveTexture(), et UnGuard. Référencé par Draw().
00118 { 00119 Guard(void ExMap::DrawMeshInFrustrum(void)) 00120 //DrawAllMesh(); 00121 //m_Octree.Draw(); 00122 Frustrum.CalculateFrustum(); 00123 glColor3f(1.0f, 1.0f, 1.0f); 00124 glDisable(GL_LIGHTING); 00125 glEnable(GL_TEXTURE_2D); 00126 int i=0; 00127 int pointinfrustrum=0; 00128 00129 for(m_ItVecMesh=m_VecMesh.begin();m_ItVecMesh!=m_VecMesh.end();++m_ItVecMesh) 00130 { 00131 ManagerTexture->SetActiveTexture(m_ItVecMesh->GetMaterial()); 00132 if(Frustrum.PointInFrustum(m_ItVecMesh->A.GetX(),m_ItVecMesh->A.GetY(),m_ItVecMesh->A.GetZ())) 00133 { 00134 pointinfrustrum++; 00135 } 00136 if(Frustrum.PointInFrustum(m_ItVecMesh->B.GetX(),m_ItVecMesh->B.GetY(),m_ItVecMesh->B.GetZ())) 00137 { 00138 pointinfrustrum++; 00139 } 00140 if(Frustrum.PointInFrustum(m_ItVecMesh->C.GetX(),m_ItVecMesh->C.GetY(),m_ItVecMesh->C.GetZ())) 00141 { 00142 pointinfrustrum++; 00143 } 00144 00145 if(pointinfrustrum>1) 00146 { 00147 glBegin(GL_TRIANGLES); 00148 glTexCoord2f(m_ItVecMesh->A.GetU(), m_ItVecMesh->A.GetV()); 00149 glVertex3f(m_ItVecMesh->A.GetX(),m_ItVecMesh->A.GetY(),m_ItVecMesh->A.GetZ()); 00150 glTexCoord2f(m_ItVecMesh->B.GetU(), m_ItVecMesh->B.GetV()); 00151 glVertex3f(m_ItVecMesh->B.GetX(),m_ItVecMesh->B.GetY(),m_ItVecMesh->B.GetZ()); 00152 glTexCoord2f(m_ItVecMesh->C.GetU(), m_ItVecMesh->C.GetV()); 00153 glVertex3f(m_ItVecMesh->C.GetX(),m_ItVecMesh->C.GetY(),m_ItVecMesh->C.GetZ()); 00154 glEnd(); 00155 } 00156 i++; 00157 pointinfrustrum=0; 00158 } 00159 glEnable(GL_LIGHTING); 00160 glDisable(GL_TEXTURE_2D); 00161 UnGuard 00162 } |
|
Définition à la ligne 97 du fichier ExCMap.h. Références m_OctreeState. Référencé par ExManagerMap::EnableOctree().
00097 {m_OctreeState=true;} |
|
Définition à la ligne 109 du fichier ExCMap.h. Références m_GlListId.
00109 {return m_GlListId;} |
|
Définition à la ligne 107 du fichier ExCMap.h. Références m_NumberMesh.
00107 {return m_NumberMesh;} |
|
Définition à la ligne 108 du fichier ExCMap.h. Références m_RenderMode.
00108 {return m_RenderMode;} |
|
Définition à la ligne 96 du fichier ExCMap.h. Références m_ShowMesh. Référencé par ExManagerMap::HideMesh().
00096 {m_ShowMesh=false;} |
|
Définition à la ligne 100 du fichier ExCMap.h. Références m_ShowOctreeSubdivision. Référencé par ExManagerMap::HideOctreeSubdivision().
00100 {m_ShowOctreeSubdivision=false;} |
|
Définition à la ligne 94 du fichier ExCMap.h. Références m_ShowSkybox. Référencé par ExManagerMap::HideSkybox().
00094 {m_ShowSkybox=false;} |
|
Définition à la ligne 274 du fichier ExCMap.cpp. Références ExCMesh::A, ExManagerTexture::AddTexture(), ExCMesh::B, BuildOctree(), BuildSkyBox(), BuildVertexArrays(), BuilList(), ExCMesh::C, Consol, Guard, LoadMap(), ExCMesh::m_AB, ExCMesh::m_BC, ExCMesh::m_CA, ExCMesh::m_MeshNumber, m_NumberMesh, m_NumberVertex, ExCMesh::m_Smoothing, m_STextureBoxNameBack, m_STextureBoxNameBottom, m_STextureBoxNameFront, m_STextureBoxNameLeft, m_STextureBoxNameRight, m_STextureBoxNameTop, m_VecMesh, m_VecVertex, ManagerTexture, PREFIX, ExManagerTexture::SetActiveTexture(), ExCMesh::SetMaterial(), ExCVertex::SetU(), ExCVertex::SetV(), ExCVertex::SetX(), ExCVertex::SetY(), ExCVertex::SetZ(), et UnGuard. Référencé par ExManagerMap::LoadMap(), et LoadMap().
00275 { 00276 Guard(void ExCMap::LoadMap(const char *FileName)) 00277 char ch; 00278 int RetVal; 00279 std::string StBuffer; 00280 char Buff[255]; 00281 int FileSize; 00282 ExCVertex VertexBuff; 00283 ExCMesh MeshBuff; 00284 int MeshNumber=0; 00285 00286 FILE *MapFile; 00287 memset(Buff,0,255); 00288 #ifdef UNIX_SRC 00289 sprintf (Buff, PREFIX "/ExNihilo/Data/Modeles/%s", FileName); 00290 #else 00291 sprintf(Buff,"../Data/Modeles/%s",FileName); 00292 #endif 00293 MapFile=fopen(Buff,"r"); 00294 00295 if(!MapFile) 00296 { 00297 *Consol<<"File not found:"<<Buff<<std::endl; 00298 return false; 00299 }else 00300 { 00301 *Consol<<"Loading map File :"<<FileName<<std::endl; 00302 00303 fseek(MapFile,0,SEEK_END); 00304 FileSize=ftell(MapFile); 00305 //Start of file 00306 fseek(MapFile,0,SEEK_SET); 00307 do 00308 { 00309 RetVal=fread(&ch,sizeof(char),1,MapFile); 00310 }while(ch!='#'); 00311 //reading file type; 00312 do 00313 { 00314 RetVal=fread(&ch,sizeof(char),1,MapFile); 00315 StBuffer=StBuffer+ch; 00316 }while(ch!='#'); 00317 if(strcmp(StBuffer.data(),"map#")==0) 00318 { 00319 //read top skybox texture 00320 StBuffer.erase(StBuffer.begin(),StBuffer.end()); 00321 do 00322 { 00323 RetVal=fread(&ch,sizeof(char),1,MapFile); 00324 StBuffer=StBuffer+ch; 00325 }while(ch!='#'); 00326 StBuffer.erase(StBuffer.end()-1,StBuffer.end()); 00327 StBuffer.erase(StBuffer.begin(),StBuffer.begin()+1); 00328 m_STextureBoxNameTop=new char[strlen(StBuffer.data()-5)]; 00329 memset(m_STextureBoxNameTop,0,strlen(StBuffer.data()-5)); 00330 StBuffer.copy(m_STextureBoxNameTop,strlen(StBuffer.data())-4,0); 00331 //read bottom skybox texture 00332 StBuffer.erase(StBuffer.begin(),StBuffer.end()); 00333 do 00334 { 00335 RetVal=fread(&ch,sizeof(char),1,MapFile); 00336 StBuffer=StBuffer+ch; 00337 }while(ch!='#'); 00338 StBuffer.erase(StBuffer.end()-1,StBuffer.end()); 00339 StBuffer.erase(StBuffer.begin(),StBuffer.begin()+1); 00340 m_STextureBoxNameBottom=new char[strlen(StBuffer.data()-5)]; 00341 memset(m_STextureBoxNameBottom,0,strlen(StBuffer.data()-5)); 00342 StBuffer.copy(m_STextureBoxNameBottom,strlen(StBuffer.data())-4,0); 00343 //read front skybox texture 00344 StBuffer.erase(StBuffer.begin(),StBuffer.end()); 00345 do 00346 { 00347 RetVal=fread(&ch,sizeof(char),1,MapFile); 00348 StBuffer=StBuffer+ch; 00349 }while(ch!='#'); 00350 StBuffer.erase(StBuffer.end()-1,StBuffer.end()); 00351 StBuffer.erase(StBuffer.begin(),StBuffer.begin()+1); 00352 m_STextureBoxNameFront=new char[strlen(StBuffer.data()-5)]; 00353 memset(m_STextureBoxNameFront,0,strlen(StBuffer.data()-5)); 00354 StBuffer.copy(m_STextureBoxNameFront,strlen(StBuffer.data())-4,0); 00355 //read back skybox texture 00356 StBuffer.erase(StBuffer.begin(),StBuffer.end()); 00357 do 00358 { 00359 RetVal=fread(&ch,sizeof(char),1,MapFile); 00360 StBuffer=StBuffer+ch; 00361 }while(ch!='#'); 00362 StBuffer.erase(StBuffer.end()-1,StBuffer.end()); 00363 StBuffer.erase(StBuffer.begin(),StBuffer.begin()+1); 00364 m_STextureBoxNameBack=new char[strlen(StBuffer.data()-5)]; 00365 memset(m_STextureBoxNameBack,0,strlen(StBuffer.data()-5)); 00366 StBuffer.copy(m_STextureBoxNameBack,strlen(StBuffer.data())-4,0); 00367 //read left skybox texture 00368 StBuffer.erase(StBuffer.begin(),StBuffer.end()); 00369 do 00370 { 00371 RetVal=fread(&ch,sizeof(char),1,MapFile); 00372 StBuffer=StBuffer+ch; 00373 }while(ch!='#'); 00374 StBuffer.erase(StBuffer.end()-1,StBuffer.end()); 00375 StBuffer.erase(StBuffer.begin(),StBuffer.begin()+1); 00376 m_STextureBoxNameLeft=new char[strlen(StBuffer.data()-5)]; 00377 memset(m_STextureBoxNameLeft,0,strlen(StBuffer.data()-5)); 00378 StBuffer.copy(m_STextureBoxNameLeft,strlen(StBuffer.data())-4,0); 00379 //read right skybox texture 00380 StBuffer.erase(StBuffer.begin(),StBuffer.end()); 00381 do 00382 { 00383 RetVal=fread(&ch,sizeof(char),1,MapFile); 00384 StBuffer=StBuffer+ch; 00385 }while(ch!='#'); 00386 StBuffer.erase(StBuffer.end()-1,StBuffer.end()); 00387 StBuffer.erase(StBuffer.begin(),StBuffer.begin()+1); 00388 m_STextureBoxNameRight=new char[strlen(StBuffer.data()-5)]; 00389 memset(m_STextureBoxNameRight,0,strlen(StBuffer.data()-5)); 00390 StBuffer.copy(m_STextureBoxNameRight,strlen(StBuffer.data())-4,0); 00391 00392 // read number of vertex 00393 StBuffer.erase(StBuffer.begin(),StBuffer.end()); 00394 do 00395 { 00396 RetVal=fread(&ch,sizeof(char),1,MapFile); 00397 StBuffer=StBuffer+ch; 00398 }while(ch!='#'); 00399 StBuffer.erase(StBuffer.end()-1,StBuffer.end()); 00400 StBuffer.erase(StBuffer.begin(),StBuffer.begin()+1); 00401 try 00402 { 00403 m_NumberVertex=atol(StBuffer.data()); 00404 }catch(...) 00405 { 00406 m_NumberVertex=0; 00407 } 00408 // read vertex 00409 #ifdef UNIX_SRC 00410 m_VecVertex.resize (m_NumberVertex + 2); 00411 #endif 00412 std::cout << __LINE__ << std::endl; 00413 for(int i=0;i<m_NumberVertex;i++) 00414 { 00415 //read x 00416 StBuffer.erase(StBuffer.begin(),StBuffer.end()); 00417 do 00418 { 00419 RetVal=fread(&ch,sizeof(char),1,MapFile); 00420 StBuffer=StBuffer+ch; 00421 }while(ch!='#'); 00422 StBuffer.erase(StBuffer.end()-1,StBuffer.end()); 00423 StBuffer.erase(StBuffer.begin(),StBuffer.begin()+1); 00424 try 00425 { 00426 VertexBuff.SetX(atof(StBuffer.data())); 00427 //cout<<"X:"<<atof(StBuffer.data()); 00428 }catch(...) 00429 { 00430 m_NumberMesh=0; 00431 } 00432 //read y 00433 StBuffer.erase(StBuffer.begin(),StBuffer.end()); 00434 do 00435 { 00436 RetVal=fread(&ch,sizeof(char),1,MapFile); 00437 StBuffer=StBuffer+ch; 00438 }while(ch!='#'); 00439 StBuffer.erase(StBuffer.end()-1,StBuffer.end()); 00440 //StBuffer.erase(StBuffer.begin(),StBuffer.begin()+1); 00441 try 00442 { 00443 VertexBuff.SetY(atof(StBuffer.data())); 00444 //cout<<" Y:"<<atof(StBuffer.data()); 00445 }catch(...) 00446 { 00447 VertexBuff.SetY(0); 00448 } 00449 //read z 00450 StBuffer.erase(StBuffer.begin(),StBuffer.end()); 00451 do 00452 { 00453 RetVal=fread(&ch,sizeof(char),1,MapFile); 00454 StBuffer=StBuffer+ch; 00455 }while(ch!='#'); 00456 StBuffer.erase(StBuffer.end()-1,StBuffer.end()); 00457 //StBuffer.erase(StBuffer.begin(),StBuffer.begin()+1); 00458 try 00459 { 00460 VertexBuff.SetZ(atof(StBuffer.data())); 00461 //cout<<" Z:"<<atof(StBuffer.data())<<endl; 00462 }catch(...) 00463 { 00464 VertexBuff.SetZ(0); 00465 } 00466 //read u 00467 StBuffer.erase(StBuffer.begin(),StBuffer.end()); 00468 do 00469 { 00470 RetVal=fread(&ch,sizeof(char),1,MapFile); 00471 StBuffer=StBuffer+ch; 00472 }while(ch!='#'); 00473 StBuffer.erase(StBuffer.end()-1,StBuffer.end()); 00474 StBuffer.erase(StBuffer.begin(),StBuffer.begin()+1); 00475 try 00476 { 00477 VertexBuff.SetU(atof(StBuffer.data())); 00478 }catch(...) 00479 { 00480 VertexBuff.SetU(0); 00481 } 00482 //read v 00483 StBuffer.erase(StBuffer.begin(),StBuffer.end()); 00484 do 00485 { 00486 RetVal=fread(&ch,sizeof(char),1,MapFile); 00487 StBuffer=StBuffer+ch; 00488 }while(ch!='#'); 00489 StBuffer.erase(StBuffer.end()-1,StBuffer.end()); 00490 StBuffer.erase(StBuffer.begin(),StBuffer.begin()+1); 00491 try 00492 { 00493 VertexBuff.SetV(atof(StBuffer.data())); 00494 }catch(...) 00495 { 00496 VertexBuff.SetV(0); 00497 } 00498 m_VecVertex.push_back(VertexBuff); 00499 } 00500 // read number of mesh 00501 StBuffer.erase(StBuffer.begin(),StBuffer.end()); 00502 do 00503 { 00504 RetVal=fread(&ch,sizeof(char),1,MapFile); 00505 StBuffer=StBuffer+ch; 00506 }while(ch!='#'); 00507 StBuffer.erase(StBuffer.end()-1,StBuffer.end()); 00508 StBuffer.erase(StBuffer.begin(),StBuffer.begin()+1); 00509 try 00510 { 00511 m_NumberMesh=atol(StBuffer.data()); 00512 }catch(...) 00513 { 00514 m_NumberMesh=0; 00515 } 00516 // read mesh 00517 #ifdef UNIX_SRC 00518 m_VecMesh.resize (m_NumberMesh + 2); 00519 #endif 00520 for(int j=0;j<m_NumberMesh;j++) { 00521 //read vertex a number 00522 StBuffer.erase(StBuffer.begin(),StBuffer.end()); 00523 do { 00524 RetVal=fread(&ch,sizeof(char),1,MapFile); 00525 StBuffer=StBuffer+ch; 00526 } while(ch!='#'); 00527 StBuffer.erase(StBuffer.end()-1,StBuffer.end()); 00528 StBuffer.erase(StBuffer.begin(),StBuffer.begin()+1); 00529 try { 00530 MeshBuff.A=m_VecVertex.at(atoi(StBuffer.data())); 00531 } catch(...) { 00532 MeshBuff.A=(ExCVertex(0.0f,0.0f,0.0f)); 00533 } 00534 //read vertex b number 00535 StBuffer.erase(StBuffer.begin(),StBuffer.end()); 00536 do { 00537 RetVal=fread(&ch,sizeof(char),1,MapFile); 00538 StBuffer=StBuffer+ch; 00539 } while(ch!='#'); 00540 StBuffer.erase(StBuffer.end()-1,StBuffer.end()); 00541 00542 try { 00543 MeshBuff.B=m_VecVertex.at(atoi(StBuffer.data())); 00544 } catch(...) { 00545 MeshBuff.B=(ExCVertex(0.0f,0.0f,0.0f)); 00546 } 00547 //read vertex c number 00548 StBuffer.erase(StBuffer.begin(),StBuffer.end()); 00549 do { 00550 RetVal=fread(&ch,sizeof(char),1,MapFile); 00551 StBuffer=StBuffer+ch; 00552 } while(ch!='#'); 00553 StBuffer.erase(StBuffer.end()-1,StBuffer.end()); 00554 try { 00555 MeshBuff.C=m_VecVertex.at(atoi(StBuffer.data())); 00556 } catch(...) { 00557 MeshBuff.C=(ExCVertex(0.0f,0.0f,0.0f)); 00558 } 00559 //read AB 00560 StBuffer.erase(StBuffer.begin(),StBuffer.end()); 00561 do { 00562 RetVal=fread(&ch,sizeof(char),1,MapFile); 00563 StBuffer=StBuffer+ch; 00564 } while(ch!='#'); 00565 StBuffer.erase(StBuffer.end()-1,StBuffer.end()); 00566 try { 00567 MeshBuff.m_AB=atoi(StBuffer.data()); 00568 } catch(...) { 00569 MeshBuff.m_AB=0; 00570 } 00571 //read BC 00572 StBuffer.erase(StBuffer.begin(),StBuffer.end()); 00573 do { 00574 RetVal=fread(&ch,sizeof(char),1,MapFile); 00575 StBuffer=StBuffer+ch; 00576 } while(ch!='#'); 00577 StBuffer.erase(StBuffer.end()-1,StBuffer.end()); 00578 try { 00579 MeshBuff.m_BC=atoi(StBuffer.data()); 00580 } catch(...) { 00581 MeshBuff.m_BC=0; 00582 } 00583 //read CA 00584 StBuffer.erase(StBuffer.begin(),StBuffer.end()); 00585 do { 00586 RetVal=fread(&ch,sizeof(char),1,MapFile); 00587 StBuffer=StBuffer+ch; 00588 } while(ch!='#'); 00589 StBuffer.erase(StBuffer.end()-1,StBuffer.end()); 00590 try { 00591 MeshBuff.m_CA=atoi(StBuffer.data()); 00592 } catch(...) { 00593 MeshBuff.m_CA=0; 00594 } 00595 //read material 00596 StBuffer.erase(StBuffer.begin(),StBuffer.end()); 00597 do { 00598 RetVal=fread(&ch,sizeof(char),1,MapFile); 00599 StBuffer=StBuffer+ch; 00600 } while(ch!='#'); 00601 StBuffer.erase(StBuffer.end()-1,StBuffer.end()); 00602 MeshBuff.SetMaterial(StBuffer.data()); 00603 ManagerTexture->AddTexture(StBuffer.data()); 00604 //read smothing 00605 StBuffer.erase(StBuffer.begin(),StBuffer.end()); 00606 do { 00607 RetVal=fread(&ch,sizeof(char),1,MapFile); 00608 StBuffer=StBuffer+ch; 00609 } while(ch!='#'); 00610 StBuffer.erase(StBuffer.end()-1,StBuffer.end()); 00611 StBuffer.erase(StBuffer.begin(),StBuffer.begin()+1); 00612 try { 00613 MeshBuff.m_Smoothing=atoi(StBuffer.data()); 00614 } catch(...) { 00615 MeshBuff.m_Smoothing=0; 00616 } 00617 MeshBuff.m_MeshNumber=MeshNumber; 00618 MeshNumber++; 00619 m_VecMesh.push_back(MeshBuff); 00620 } 00621 00622 }else 00623 { 00624 *Consol<<FileName<<"is not a valide map file"<<std::endl; 00625 return false; 00626 } 00627 00628 fclose(MapFile); 00629 ManagerTexture->AddTexture(m_STextureBoxNameTop); 00630 ManagerTexture->SetActiveTexture(m_STextureBoxNameTop); 00631 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); 00632 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); 00633 ManagerTexture->AddTexture(m_STextureBoxNameBottom); 00634 ManagerTexture->SetActiveTexture(m_STextureBoxNameBottom); 00635 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); 00636 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); 00637 ManagerTexture->AddTexture(m_STextureBoxNameFront); 00638 ManagerTexture->SetActiveTexture(m_STextureBoxNameFront); 00639 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); 00640 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); 00641 ManagerTexture->AddTexture(m_STextureBoxNameBack); 00642 ManagerTexture->SetActiveTexture(m_STextureBoxNameBack); 00643 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); 00644 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); 00645 ManagerTexture->AddTexture(m_STextureBoxNameLeft); 00646 ManagerTexture->SetActiveTexture(m_STextureBoxNameLeft); 00647 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); 00648 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); 00649 ManagerTexture->AddTexture(m_STextureBoxNameRight); 00650 ManagerTexture->SetActiveTexture(m_STextureBoxNameRight); 00651 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); 00652 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); 00653 BuildOctree(); 00654 BuilList(); 00655 BuildVertexArrays(); 00656 BuildSkyBox(); 00657 *Consol<<FileName<<" map file loaded with "<<m_NumberVertex<<" vertex and "<<m_NumberMesh<<" faces"<<std::endl; 00658 } 00659 return true; 00660 UnGuard 00661 } |
|
Définition à la ligne 110 du fichier ExCMap.h. Référencé par ExManagerMap::LoadMap().
00110 {ManagerTexture=Texture;} |
|
Définition à la ligne 105 du fichier ExCMap.h. Références m_NumberMesh.
00105 {m_NumberMesh=NumberMesh;} |
|
Définition à la ligne 95 du fichier ExCMap.h. Références m_ShowMesh. Référencé par ExManagerMap::ShowMesh().
00095 {m_ShowMesh=true;} |
|
Définition à la ligne 99 du fichier ExCMap.h. Références m_ShowOctreeSubdivision. Référencé par ExManagerMap::ShowOctreeSubdivision().
00099 {m_ShowOctreeSubdivision=true;} |
|
Définition à la ligne 93 du fichier ExCMap.h. Références m_ShowSkybox. Référencé par ExManagerMap::ShowSkybox().
00093 {m_ShowSkybox=true;} |
|
Définition à la ligne 102 du fichier ExCMap.h. Référencé par ExManagerMap::LoadMap(), et LoadMap(). |
|
Définition à la ligne 76 du fichier ExCMap.h. Référencé par DrawMeshInFrustrum(). |
|
Définition à la ligne 56 du fichier ExCMap.h. Référencé par BuilList(), DrawAllMesh(), et GetGlListId(). |
|
Définition à la ligne 57 du fichier ExCMap.h. Référencé par BuildSkyBox(), et Draw(). |
|
Définition à la ligne 49 du fichier ExCMap.h. Référencé par BuilList(), et DrawMeshInFrustrum(). |
|
|
|
Définition à la ligne 52 du fichier ExCMap.h. Référencé par GetNumberMesh(), LoadMap(), et SetNumberMesh(). |
|
Définition à la ligne 53 du fichier ExCMap.h. Référencé par LoadMap(). |
|
Définition à la ligne 75 du fichier ExCMap.h. Référencé par BuildOctree(). |
|
Définition à la ligne 61 du fichier ExCMap.h. Référencé par DisableOctree(), EnableOctree(), et ExCMap(). |
|
Définition à la ligne 54 du fichier ExCMap.h. Référencé par GetRenderMode(). |
|
|
|
Définition à la ligne 62 du fichier ExCMap.h. Référencé par ExCMap(), HideOctreeSubdivision(), et ShowOctreeSubdivision(). |
|
Définition à la ligne 59 du fichier ExCMap.h. Référencé par ExCMap(), HideSkybox(), et ShowSkybox(). |
|
Définition à la ligne 82 du fichier ExCMap.h. Référencé par BuildSkyBox(), et LoadMap(). |
|
Définition à la ligne 80 du fichier ExCMap.h. Référencé par BuildSkyBox(), et LoadMap(). |
|
Définition à la ligne 81 du fichier ExCMap.h. Référencé par BuildSkyBox(), et LoadMap(). |
|
Définition à la ligne 83 du fichier ExCMap.h. Référencé par BuildSkyBox(), et LoadMap(). |
|
Définition à la ligne 84 du fichier ExCMap.h. Référencé par BuildSkyBox(), et LoadMap(). |
|
Définition à la ligne 79 du fichier ExCMap.h. Référencé par BuildSkyBox(), et LoadMap(). |
|
Définition à la ligne 48 du fichier ExCMap.h. Référencé par BuildOctree(), BuilList(), DrawMeshInFrustrum(), ExCMap(), et LoadMap(). |
|
|
|
Définition à la ligne 44 du fichier ExCMap.h. Référencé par BuildOctree(), BuildSkyBox(), BuilList(), DrawMeshInFrustrum(), et LoadMap(). |
|
Référencé par ExManagerMap::LoadMap(). |