Main Page   Namespace List   Class Hierarchy   Alphabetical List   Data Structures   File List   Namespace Members   Data Fields   Globals  

ExCMap Class Reference

#include <ExCMap.h>

Inheritance diagram for ExCMap:

ExCObject3D ExCObject

Public Methods

 ExCMap (void)
 ~ExCMap (void)
void ShowSkybox (void)
void HideSkybox (void)
void ShowMesh (void)
void HideMesh (void)
void EnableOctree (void)
void DisableOctree (void)
void ShowOctreeSubdivision (void)
void HideOctreeSubdivision (void)
void SetNumberMesh (long NumberMesh)
long GetNumberMesh (void)
int GetRenderMode (void)
GLuint GetGlListId (void)
void SetManagerTexture (ExManagerTexture *Texture)
bool LoadMap (const char *FileName)
void Draw (void)

Data Fields

std::string m_STextureBoxNameTop
std::string m_STextureBoxNameBottom
std::string m_STextureBoxNameFront
std::string m_STextureBoxNameBack
std::string m_STextureBoxNameLeft
std::string m_STextureBoxNameRight
std::ostrstream * Consol
void(* WriteToConsol )(const char *Label)

Protected Methods

void DrawAllMesh (void)
void DrawMeshInFrustrum (void)
void BuildSkyBox (void)
void BuildOctree (void)
void BuilList (void)
void BuildVertexArrays (void)

Protected Attributes

ExManagerTextureManagerTexture
std::vector< ExCVertexm_VecVertex
std::vector< ExCVertex
>::iterator 
m_ItVecVertex
std::vector< ExCMeshm_VecMesh
std::vector< ExCMesh >::iterator m_ItVecMesh
long m_NumberMesh
long m_NumberVertex
int m_RenderMode
GLuint m_GlListId
GLuint m_GlSkyBoxListId
bool m_ShowSkybox
bool m_ShowMesh
bool m_OctreeState
bool m_ShowOctreeSubdivision

Constructor & Destructor Documentation

ExCMap void   
 

Definition at line 26 of file ExCMap.cpp.

References m_OctreeState, m_ShowMesh, m_ShowOctreeSubdivision, m_ShowSkybox, m_STextureBoxNameBack, m_STextureBoxNameBottom, m_STextureBoxNameFront, m_STextureBoxNameLeft, m_STextureBoxNameRight, m_STextureBoxNameTop, m_VecMesh, and 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         m_STextureBoxNameTop="SkySpace_Top.tga";
00038         m_STextureBoxNameBottom="SkySpace_Bottom.tga";
00039         m_STextureBoxNameFront="SkySpace_Front.tga";
00040         m_STextureBoxNameBack="SkySpace_Back.tga";
00041         m_STextureBoxNameLeft="SkySpace_Left.tga";
00042         m_STextureBoxNameRight="SkySpace_Right.tga";
00043 }

~ExCMap void   
 

Definition at line 45 of file ExCMap.cpp.

00046 {
00047 }


Member Function Documentation

void BuildOctree void    [protected]
 

Definition at line 226 of file ExCMap.cpp.

References Guard.

00227 {
00228 Guard(void ExMap::BuildOctree(void))
00229         //m_Octree.SetManagerTexture(ManagerTexture);
00230         //m_Octree.Build(m_VecMesh);
00231 UnGuard
00232 }

void BuildSkyBox void    [protected]
 

Definition at line 49 of file ExCMap.cpp.

References Guard, m_GlSkyBoxListId, m_STextureBoxNameBack, m_STextureBoxNameBottom, m_STextureBoxNameFront, m_STextureBoxNameLeft, m_STextureBoxNameRight, m_STextureBoxNameTop, ManagerTexture, and ExManagerTexture::SetCurrentObject().

Referenced by LoadMap().

00050 {
00051 Guard(void ExMap::BuildSkyBox(void))
00052                 
00053                 glDeleteLists(m_GlSkyBoxListId,1);      //delete old list
00054                 m_GlSkyBoxListId=glGenLists(1); //Ask for a new free list
00055                 glNewList(m_GlSkyBoxListId,GL_COMPILE);
00056 
00057                 glEnable(GL_TEXTURE_2D);
00058                 glDisable(GL_LIGHTING);
00059                 ManagerTexture->SetCurrentObject(m_STextureBoxNameFront);
00060                 glBegin(GL_QUADS);
00061                         // Front Face
00062                         glColor4f(1, 1, 1, 1);
00063                         glTexCoord2f(1.0f, 1.0f); glVertex3d(-10000.0f,  10000.0f,  10000.0f);
00064                         glTexCoord2f(0.0f, 1.0f); glVertex3d( 10000.0f,  10000.0f,  10000.0f);
00065                         glTexCoord2f(0.0f, 0.0f); glVertex3d( 10000.0f, -10000.0f,  10000.0f);
00066                         glTexCoord2f(1.0f, 0.0f); glVertex3d(-10000.0f, -10000.0f,  10000.0f);
00067                 glEnd();
00068                 ManagerTexture->SetCurrentObject(m_STextureBoxNameBack);
00069                 glBegin(GL_QUADS);
00070                         // Back Face
00071                         glTexCoord2f(1.0f, 0.0f); glVertex3d( 10000.0f, -10000.0f, -10000.0f);
00072                         glTexCoord2f(1.0f, 1.0f); glVertex3d( 10000.0f,  10000.0f, -10000.0f);
00073                         glTexCoord2f(0.0f, 1.0f); glVertex3d(-10000.0f,  10000.0f, -10000.0f);
00074                         glTexCoord2f(0.0f, 0.0f); glVertex3d(-10000.0f, -10000.0f, -10000.0f);
00075                 glEnd();
00076                 ManagerTexture->SetCurrentObject(m_STextureBoxNameTop);
00077                 glBegin(GL_QUADS);
00078                         // Top Face
00079                         glTexCoord2f(0.0f, 1.0f); glVertex3d( 10000.0f,  10000.0f, -10000.0f);
00080                         glTexCoord2f(0.0f, 0.0f); glVertex3d( 10000.0f,  10000.0f,  10000.0f);
00081                         glTexCoord2f(1.0f, 0.0f); glVertex3d(-10000.0f,  10000.0f,  10000.0f);
00082                         glTexCoord2f(1.0f, 1.0f); glVertex3d(-10000.0f,  10000.0f, -10000.0f);
00083                 glEnd();
00084                 ManagerTexture->SetCurrentObject(m_STextureBoxNameBottom);
00085                 glBegin(GL_QUADS);
00086                         // Bottom Face
00087             glTexCoord2f(1.0f, 1.0f); glVertex3d(-10000.0f, -10000.0f,  10000.0f);
00088                         glTexCoord2f(0.0f, 1.0f); glVertex3d( 10000.0f, -10000.0f,  10000.0f);
00089                         glTexCoord2f(0.0f, 0.0f); glVertex3d( 10000.0f, -10000.0f, -10000.0f);
00090                         glTexCoord2f(1.0f, 0.0f); glVertex3d(-10000.0f, -10000.0f, -10000.0f);
00091                 glEnd();
00092                 ManagerTexture->SetCurrentObject(m_STextureBoxNameRight);
00093                 glBegin(GL_QUADS);
00094                         // Right face
00095                         glTexCoord2f(1.0f, 0.0f); glVertex3d( 10000.0f, -10000.0f,  10000.0f);
00096                         glTexCoord2f(1.0f, 1.0f); glVertex3d( 10000.0f,  10000.0f,  10000.0f);
00097                         glTexCoord2f(0.0f, 1.0f); glVertex3d( 10000.0f,  10000.0f, -10000.0f);
00098                         glTexCoord2f(0.0f, 0.0f); glVertex3d( 10000.0f, -10000.0f, -10000.0f);
00099                 glEnd();
00100                 ManagerTexture->SetCurrentObject(m_STextureBoxNameLeft);
00101                 glBegin(GL_QUADS);
00102                 // Left Face
00103                         glTexCoord2f(1.0f, 1.0f); glVertex3d(-10000.0f,  10000.0f, -10000.0f);
00104                         glTexCoord2f(0.0f, 1.0f); glVertex3d(-10000.0f,  10000.0f,  10000.0f);
00105                         glTexCoord2f(0.0f, 0.0f); glVertex3d(-10000.0f, -10000.0f,  10000.0f);
00106                         glTexCoord2f(1.0f, 0.0f); glVertex3d(-10000.0f, -10000.0f, -10000.0f);
00107 
00108                 glEnd();
00109                 glDisable(GL_TEXTURE_2D);
00110                 glEnable(GL_LIGHTING);
00111 
00112                 glEndList();
00113 UnGuard
00114 }

void BuildVertexArrays void    [protected]
 

Definition at line 234 of file ExCMap.cpp.

References Guard.

00235 {
00236 Guard(void ExMap::BuildVertexArrays(void))
00237         /*int i=0;
00238         float   *g_vertexArray;    // vertex array
00239         //float   *g_colorArray;     // color array
00240         float   *g_texcoordArray;  // texture array
00241 
00242         g_vertexArray= new float[m_VecMesh.size()*3][3];
00243         //g_colorArray=  new float[m_VecMesh.size()*3][3];
00244         g_texcoordArray= new float[m_VecMesh.size()*3][2];
00245 
00246         for(m_ItVecMesh=m_VecMesh.begin();m_ItVecMesh!=m_VecMesh.end();++m_ItVecMesh)
00247         {
00248                 //ManagerTexture->SetActiveTexture(m_ItVecMesh->GetMaterial());
00249                 
00250                 g_texcoordArray[i][0]=m_ItVecMesh->A.GetU(); 
00251                 g_texcoordArray[i][1]=m_ItVecMesh->A.GetV();
00252 
00253                 g_vertexArray[i][0]=m_ItVecMesh->A.GetX();
00254                 g_vertexArray[i][0]=m_ItVecMesh->A.GetY();
00255                 g_vertexArray[i][0]=m_ItVecMesh->A.GetZ();
00256                 
00257                 g_texcoordArray[i+1][0]=m_ItVecMesh->B.GetU();
00258                 g_texcoordArray[i+1][1]=m_ItVecMesh->B.GetV();
00259                 
00260                 g_vertexArray[i+1][0]=m_ItVecMesh->B.GetX();
00261                 g_vertexArray[i+1][0]=m_ItVecMesh->B.GetY();
00262                 g_vertexArray[i+1][0]=m_ItVecMesh->B.GetZ();
00263 
00264                 g_texcoordArray[i+2][0]=m_ItVecMesh->C.GetU();
00265                 g_texcoordArray[i+2][1]=m_ItVecMesh->C.GetV();
00266                 
00267                 g_vertexArray[i+2][0]=m_ItVecMesh->C.GetX();
00268                 g_vertexArray[i+2][0]=m_ItVecMesh->C.GetY();
00269                 g_vertexArray[i+2][0]=m_ItVecMesh->C.GetZ();
00270                 
00271                 i++;
00272         }
00273         // enable the vertex arrays being used
00274         glEnableClientState(GL_VERTEX_ARRAY);
00275         //glEnableClientState(GL_COLOR_ARRAY);
00276         glEnableClientState(GL_TEXTURE_COORD_ARRAY);
00277           // pass the pointers to OpenGL
00278         glVertexPointer(3, GL_FLOAT, 0, g_vertexArray);
00279         //glColorPointer(3, GL_FLOAT, 0, g_colorArray);
00280         glTexCoordPointer(2, GL_FLOAT, 0, g_texcoordArray);*/
00281 UnGuard
00282 }

void BuilList void    [protected]
 

Definition at line 192 of file ExCMap.cpp.

References Guard, m_GlListId, m_ItVecMesh, m_VecMesh, m_VecVertex, ManagerTexture, and ExManagerTexture::SetCurrentObject().

Referenced by LoadMap().

00193 {
00194 Guard(void ExMap::BuilList(void))
00195         m_GlListId=glGenLists(1);
00196         glNewList(m_GlListId,GL_COMPILE);
00197                 glColor3f(1.0f, 1.0f, 1.0f);
00198                 glDisable(GL_LIGHTING);
00199                 glEnable(GL_TEXTURE_2D);
00200                 int i=0;
00201                 
00202                 for(m_ItVecMesh=m_VecMesh.begin();m_ItVecMesh!=m_VecMesh.end();++m_ItVecMesh)
00203                 {
00204                         ManagerTexture->SetCurrentObject(m_ItVecMesh->GetMaterial());
00205                         glBegin(GL_TRIANGLES);
00206                         glTexCoord2f(m_ItVecMesh->A.GetU(), m_ItVecMesh->A.GetV());
00207                         glVertex3f(m_ItVecMesh->A.GetX(),m_ItVecMesh->A.GetY(),m_ItVecMesh->A.GetZ());
00208                         glTexCoord2f(m_ItVecMesh->B.GetU(), m_ItVecMesh->B.GetV());
00209                         glVertex3f(m_ItVecMesh->B.GetX(),m_ItVecMesh->B.GetY(),m_ItVecMesh->B.GetZ());
00210                         glTexCoord2f(m_ItVecMesh->C.GetU(), m_ItVecMesh->C.GetV());
00211                         glVertex3f(m_ItVecMesh->C.GetX(),m_ItVecMesh->C.GetY(),m_ItVecMesh->C.GetZ());
00212                         glEnd();
00213                         i++;
00214                 }
00215                 
00216                 glEnable(GL_LIGHTING);
00217                 glDisable(GL_TEXTURE_2D);
00218         glEndList();
00219         //delete data because they are now in list
00220         m_VecVertex.clear();
00221         m_VecMesh.clear();
00222 UnGuard
00223 }

void DisableOctree void    [inline]
 

Definition at line 98 of file ExCMap.h.

References m_OctreeState.

Referenced by ExManagerMap::ShowOctreeSubdivision().

00098 {m_OctreeState=true;}

void Draw void    [virtual]
 

Reimplemented from ExCObject.

Definition at line 170 of file ExCMap.cpp.

References DrawAllMesh(), DrawMeshInFrustrum(), Guard, and m_GlSkyBoxListId.

Referenced by ExManagerMap::Draw().

00171 {
00172 Guard(void ExMap::Draw(void))
00173         //if(m_ShowSkybox)glCallList(m_GlSkyBoxListId);
00174         glCallList(m_GlSkyBoxListId);
00175         glPushMatrix();
00176         glRotatef(-90,1.0f,0.0f,0.0f);
00177         if(m_ShowMesh)
00178         {                                                  
00179                 if(m_OctreeState)
00180                 {
00181                         DrawMeshInFrustrum();   
00182                 }else
00183                 {
00184                         DrawAllMesh();
00185                 }
00186         }
00187         glPopMatrix();
00188 
00189 UnGuard
00190 }

void DrawAllMesh void    [protected]
 

Definition at line 116 of file ExCMap.cpp.

References Guard, and m_GlListId.

Referenced by Draw().

00117 {
00118 Guard(void ExMap::DrawAllMesh(void))
00119         glCallList(m_GlListId);
00120 UnGuard
00121 }

void DrawMeshInFrustrum void    [protected]
 

Definition at line 123 of file ExCMap.cpp.

References Guard.

Referenced by Draw().

00124 {
00125 Guard(void ExMap::DrawMeshInFrustrum(void))
00126         //DrawAllMesh();
00127         //m_Octree.Draw();
00128         /*Frustrum.CalculateFrustum();
00129         glColor3f(1.0f, 1.0f, 1.0f);
00130         glDisable(GL_LIGHTING);
00131         glEnable(GL_TEXTURE_2D);
00132         int i=0;
00133         int pointinfrustrum=0;
00134 
00135         for(m_ItVecMesh=m_VecMesh.begin();m_ItVecMesh!=m_VecMesh.end();++m_ItVecMesh)
00136         {
00137                 ManagerTexture->SetCurrentObject(m_ItVecMesh->GetMaterial());
00138                 if(Frustrum.PointInFrustum(m_ItVecMesh->A.GetX(),m_ItVecMesh->A.GetY(),m_ItVecMesh->A.GetZ()))
00139                 {
00140                         pointinfrustrum++;
00141                 }
00142                 if(Frustrum.PointInFrustum(m_ItVecMesh->B.GetX(),m_ItVecMesh->B.GetY(),m_ItVecMesh->B.GetZ()))
00143                 {
00144                         pointinfrustrum++;
00145                 }
00146                 if(Frustrum.PointInFrustum(m_ItVecMesh->C.GetX(),m_ItVecMesh->C.GetY(),m_ItVecMesh->C.GetZ()))
00147                 {
00148                         pointinfrustrum++;
00149                 }
00150                 
00151                 if(pointinfrustrum>1)
00152                 {
00153                         glBegin(GL_TRIANGLES);
00154                                 glTexCoord2f(m_ItVecMesh->A.GetU(), m_ItVecMesh->A.GetV());
00155                                 glVertex3f(m_ItVecMesh->A.GetX(),m_ItVecMesh->A.GetY(),m_ItVecMesh->A.GetZ());
00156                                 glTexCoord2f(m_ItVecMesh->B.GetU(), m_ItVecMesh->B.GetV());
00157                                 glVertex3f(m_ItVecMesh->B.GetX(),m_ItVecMesh->B.GetY(),m_ItVecMesh->B.GetZ());
00158                                 glTexCoord2f(m_ItVecMesh->C.GetU(), m_ItVecMesh->C.GetV());
00159                                 glVertex3f(m_ItVecMesh->C.GetX(),m_ItVecMesh->C.GetY(),m_ItVecMesh->C.GetZ());
00160                         glEnd();
00161                 }
00162                 i++;
00163                 pointinfrustrum=0;
00164         }       
00165         glEnable(GL_LIGHTING);
00166         glDisable(GL_TEXTURE_2D);*/
00167 UnGuard
00168 }

void EnableOctree void    [inline]
 

Definition at line 97 of file ExCMap.h.

References m_ShowMesh.

Referenced by ExManagerMap::DisableOctree().

00097 {m_ShowMesh=false;}

GLuint GetGlListId void    [inline]
 

Definition at line 109 of file ExCMap.h.

References m_RenderMode.

00109 {return m_RenderMode;}

long GetNumberMesh void    [inline]
 

Definition at line 107 of file ExCMap.h.

00108 {return m_NumberMesh;}

int GetRenderMode void    [inline]
 

Definition at line 108 of file ExCMap.h.

References m_NumberMesh.

00108 {return m_NumberMesh;}

void HideMesh void    [inline]
 

Definition at line 96 of file ExCMap.h.

References m_ShowMesh.

Referenced by ExManagerMap::EnableOctree().

00096 {m_ShowMesh=true;}

void HideOctreeSubdivision void    [inline]
 

Definition at line 100 of file ExCMap.h.

References m_ShowOctreeSubdivision.

void HideSkybox void    [inline]
 

Definition at line 94 of file ExCMap.h.

References m_ShowSkybox.

Referenced by ExManagerMap::ShowMesh().

00094 {m_ShowSkybox=true;}

bool LoadMap const char *    FileName
 

Definition at line 284 of file ExCMap.cpp.

References ExCMesh::A, ExManagerTexture::Add(), ExCMesh::B, BuildSkyBox(), BuilList(), ExCMesh::C, Consol, data, ExNihilo::ExtractIntValueFromSring(), ExNihilo::ExtracValueFromSring(), ExCMesh::GetMaterial(), Guard, ExManagerTexture::Load(), 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::SetCurrentObject(), ExCMesh::SetMaterial(), ExCVertex::SetU(), ExCVertex::SetV(), ExCVertex::SetX(), ExCVertex::SetY(), and ExCVertex::SetZ().

Referenced by ExManagerMap::LoadMap(), and LoadMap().

00285 {
00286 Guard(void ExCMap::LoadMap(const char *FileName))
00287         
00288         char                    buffer[255];
00289         ExCVertex               VertexBuff;
00290         ExCMesh                 MeshBuff;
00291 
00292         #ifdef UNIX_SRC
00293                 sprintf(buffer, PREFIX "/ExNihilo/Data/Map/%s", FileName);
00294         #else
00295                 sprintf(buffer, "../Data/Map/%s", FileName);
00296         #endif
00297         
00298         std::ifstream fin;
00299         std::string buffstring;
00300 
00301         char b[256];
00302         fin.open(buffer,std::ios::in);
00303         if(fin.is_open())
00304         {
00305                         //read file type
00306                         memset(b,0,255);fin.getline(b,256,'\n');
00307                         buffstring=ExNihilo::ExtracValueFromSring(b,"<filetype>","<#filetype>");
00308                         //read skybox_top
00309                         memset(b,0,255);fin.getline(b,256,'\n');
00310                         m_STextureBoxNameTop=ExNihilo::ExtracValueFromSring(b,"<skybox_top>","<#skybox_top>");
00311                         //read skybox_bottom
00312                         memset(b,0,255);fin.getline(b,256,'\n');
00313                         m_STextureBoxNameBottom=ExNihilo::ExtracValueFromSring(b,"<skybox_bottom>","<#skybox_bottom>");
00314                         //read skybox_front
00315                         memset(b,0,255);fin.getline(b,256,'\n');
00316                         m_STextureBoxNameFront=ExNihilo::ExtracValueFromSring(b,"<skybox_front>","<#skybox_front>");
00317                         //read skybox_back
00318                         memset(b,0,255);fin.getline(b,256,'\n');
00319                         m_STextureBoxNameBack=ExNihilo::ExtracValueFromSring(b,"<skybox_back>","<#skybox_back>");
00320                         //read skybox_left
00321                         memset(b,0,255);fin.getline(b,256,'\n');
00322                         m_STextureBoxNameLeft=ExNihilo::ExtracValueFromSring(b,"<skybox_left>","<#skybox_left>");
00323                         //read skybox_right
00324                         memset(b,0,255);fin.getline(b,256,'\n');
00325                         m_STextureBoxNameRight=ExNihilo::ExtracValueFromSring(b,"<skybox_right>","<#skybox_right>");
00326                 
00327         
00328                         //read number vertex
00329                         memset(b,0,255);fin.getline(b,256,'\n');
00330                         m_NumberVertex=ExNihilo::ExtractIntValueFromSring(b,"<number_vertex>","<#number_vertex>");
00331                         //read vertex
00332                         for(int i=0;i<m_NumberVertex;i++)
00333                         {
00334                                 memset(b,0,255);fin.getline(b,256,'\n');
00335                                 
00336                                 buffstring.erase(buffstring.begin(),buffstring.end());
00337                                 buffstring=ExNihilo::ExtracValueFromSring(b,"<vertex_data>","<#vertex_data>");
00338                                 VertexBuff.SetX(ExNihilo::ExtractFloatValueFromSring(buffstring,"<X>","<#X>"));
00339                                 VertexBuff.SetY(ExNihilo::ExtractFloatValueFromSring(buffstring,"<Y>","<#Y>"));
00340                                 VertexBuff.SetZ(ExNihilo::ExtractFloatValueFromSring(buffstring,"<Z>","<#Z>"));
00341                                 VertexBuff.SetU(ExNihilo::ExtractFloatValueFromSring(buffstring,"<U>","<#U>"));
00342                                 VertexBuff.SetV(ExNihilo::ExtractFloatValueFromSring(buffstring,"<V>","<#V>"));
00343                                 m_VecVertex.push_back(VertexBuff);
00344                                 //std::cout<<i<<"of"<<m_NumberVertex<<std::endl;
00345                         }
00346                         //read number mesh
00347                         memset(b,0,255);fin.getline(b,256,'\n');
00348                         m_NumberMesh=ExNihilo::ExtractIntValueFromSring(b,"<number_mesh>","<#number_mesh>");
00349                         //read mesh
00350                         for(int i=0;i<m_NumberMesh;i++)
00351                         {
00352                                 memset(b,0,255);
00353                                 fin.getline(b,256,'\n');
00354                                 buffstring.erase(buffstring.begin(),buffstring.end());
00355                                 buffstring=ExNihilo::ExtracValueFromSring(b,"<mesh_data>","<#mesh_data>");
00356         
00357 
00358                                 MeshBuff.A=m_VecVertex.at(ExNihilo::ExtractIntValueFromSring(buffstring,"<A>","<#A>"));
00359                                 MeshBuff.B=m_VecVertex.at(ExNihilo::ExtractIntValueFromSring(buffstring,"<B>","<#B>"));
00360                                 MeshBuff.C=m_VecVertex.at(ExNihilo::ExtractIntValueFromSring(buffstring,"<C>","<#C>"));
00361 
00362                                 MeshBuff.m_AB=ExNihilo::ExtractIntValueFromSring(buffstring,"<AB>","<#AB>");
00363                                 MeshBuff.m_CA=ExNihilo::ExtractIntValueFromSring(buffstring,"<CA>","<#CA>");
00364                                 MeshBuff.m_BC=ExNihilo::ExtractIntValueFromSring(buffstring,"<BC>","<#BC>");
00365 
00366                                 MeshBuff.SetMaterial(ExNihilo::ExtracValueFromSring(buffstring,"<texture>","<#texture>").data());
00367                                 
00368                                 ManagerTexture->Add(MeshBuff.GetMaterial());
00369                                 MeshBuff.m_Smoothing=ExNihilo::ExtractIntValueFromSring(buffstring,"<smothing>","<#smothing>");
00370                                 
00371                                 MeshBuff.m_MeshNumber=i;
00372                                 
00373                                 m_VecMesh.push_back(MeshBuff);
00374                                 //std::cout<<i<<"of"<<m_NumberMesh<<std::endl;
00375                                 
00376                         
00377                         }
00378                 fin.close();
00379                 
00380         }else throw   ExCExpFileNotFound();
00381 
00382 
00383 
00384         ManagerTexture->Load(m_STextureBoxNameTop);
00385         ManagerTexture->SetCurrentObject(m_STextureBoxNameTop);
00386         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
00387         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
00388         ManagerTexture->Load(m_STextureBoxNameBottom);
00389         ManagerTexture->SetCurrentObject(m_STextureBoxNameBottom);
00390         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
00391         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
00392         ManagerTexture->Load(m_STextureBoxNameFront);
00393         ManagerTexture->SetCurrentObject(m_STextureBoxNameFront);
00394         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
00395         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
00396         ManagerTexture->Load(m_STextureBoxNameBack);
00397         ManagerTexture->SetCurrentObject(m_STextureBoxNameBack);
00398         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
00399         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
00400         ManagerTexture->Load(m_STextureBoxNameLeft);
00401         ManagerTexture->SetCurrentObject(m_STextureBoxNameLeft);
00402         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
00403         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
00404         ManagerTexture->Load(m_STextureBoxNameRight);
00405         ManagerTexture->SetCurrentObject(m_STextureBoxNameRight);
00406         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
00407         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
00408         
00409 
00410         BuildSkyBox();
00411         BuilList();
00412         *Consol<<FileName<<" map file loaded with "<<m_NumberVertex<<" vertex and "<<m_NumberMesh<<" faces"<<std::endl;
00413 
00414         return true;
00415 
00416 UnGuard 
00417 }

void SetManagerTexture ExManagerTexture   Texture [inline]
 

Definition at line 110 of file ExCMap.h.

References m_GlListId.

Referenced by ExManagerMap::LoadMap().

00110 {return m_GlListId;}

void SetNumberMesh long    NumberMesh [inline]
 

Definition at line 105 of file ExCMap.h.

References m_NumberMesh.

00106 {m_NumberMesh=NumberMesh;}

void ShowMesh void    [inline]
 

Definition at line 95 of file ExCMap.h.

References m_ShowSkybox.

Referenced by ExManagerMap::HideMesh().

00095 {m_ShowSkybox=false;}

void ShowOctreeSubdivision void    [inline]
 

Definition at line 99 of file ExCMap.h.

References m_OctreeState.

Referenced by ExManagerMap::HideOctreeSubdivision().

00099 {m_OctreeState=false;}

void ShowSkybox void    [inline]
 

Definition at line 93 of file ExCMap.h.

Referenced by ExManagerMap::HideSkybox().

00094 {m_ShowSkybox=true;}


Field Documentation

std::ostrstream* Consol
 

Definition at line 102 of file ExCMap.h.

Referenced by ExManagerMap::LoadMap(), and LoadMap().

GLuint m_GlListId [protected]
 

Definition at line 56 of file ExCMap.h.

Referenced by BuilList(), DrawAllMesh(), and SetManagerTexture().

GLuint m_GlSkyBoxListId [protected]
 

Definition at line 57 of file ExCMap.h.

Referenced by BuildSkyBox(), and Draw().

std::vector<ExCMesh>::iterator m_ItVecMesh [protected]
 

Definition at line 49 of file ExCMap.h.

Referenced by BuilList().

std::vector<ExCVertex>::iterator m_ItVecVertex [protected]
 

Definition at line 47 of file ExCMap.h.

long m_NumberMesh [protected]
 

Definition at line 52 of file ExCMap.h.

Referenced by GetRenderMode(), LoadMap(), and SetNumberMesh().

long m_NumberVertex [protected]
 

Definition at line 53 of file ExCMap.h.

Referenced by LoadMap().

bool m_OctreeState [protected]
 

Definition at line 61 of file ExCMap.h.

Referenced by DisableOctree(), ExCMap(), and ShowOctreeSubdivision().

int m_RenderMode [protected]
 

Definition at line 54 of file ExCMap.h.

Referenced by GetGlListId().

bool m_ShowMesh [protected]
 

Definition at line 60 of file ExCMap.h.

Referenced by EnableOctree(), ExCMap(), and HideMesh().

bool m_ShowOctreeSubdivision [protected]
 

Definition at line 62 of file ExCMap.h.

Referenced by ExCMap(), and HideOctreeSubdivision().

bool m_ShowSkybox [protected]
 

Definition at line 59 of file ExCMap.h.

Referenced by ExCMap(), HideSkybox(), and ShowMesh().

std::string m_STextureBoxNameBack
 

Definition at line 82 of file ExCMap.h.

Referenced by BuildSkyBox(), ExCMap(), and LoadMap().

std::string m_STextureBoxNameBottom
 

Definition at line 80 of file ExCMap.h.

Referenced by BuildSkyBox(), ExCMap(), and LoadMap().

std::string m_STextureBoxNameFront
 

Definition at line 81 of file ExCMap.h.

Referenced by BuildSkyBox(), ExCMap(), and LoadMap().

std::string m_STextureBoxNameLeft
 

Definition at line 83 of file ExCMap.h.

Referenced by BuildSkyBox(), ExCMap(), and LoadMap().

std::string m_STextureBoxNameRight
 

Definition at line 84 of file ExCMap.h.

Referenced by BuildSkyBox(), ExCMap(), and LoadMap().

std::string m_STextureBoxNameTop
 

Definition at line 79 of file ExCMap.h.

Referenced by BuildSkyBox(), ExCMap(), and LoadMap().

std::vector<ExCMesh> m_VecMesh [protected]
 

Definition at line 48 of file ExCMap.h.

Referenced by BuilList(), ExCMap(), and LoadMap().

std::vector<ExCVertex> m_VecVertex [protected]
 

Definition at line 46 of file ExCMap.h.

Referenced by BuilList(), ExCMap(), and LoadMap().

ExManagerTexture* ManagerTexture [protected]
 

Definition at line 44 of file ExCMap.h.

Referenced by BuildSkyBox(), BuilList(), and LoadMap().

void(* WriteToConsol)(const char *Label)
 


The documentation for this class was generated from the following files:
Generated on Tue Dec 10 18:20:22 2002 for ExNihilo by doxygen1.3-rc1