Ignore:
Timestamp:
06/20/06 13:02:00 (19 years ago)
Author:
gumbau
Message:
 
Location:
GTP/trunk/Lib/Geom/shared/GeoTool
Files:
27 added
7 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Geom/shared/GeoTool/GeoTool.vcproj

    r1014 r1024  
    138138                        UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"> 
    139139                        <File 
     140                                RelativePath=".\src\GeoMaterialLoader.cpp"> 
     141                        </File> 
     142                        <File 
    140143                                RelativePath=".\src\GeoMeshLoader.cpp"> 
    141144                        </File> 
     
    161164                        UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"> 
    162165                        <File 
     166                                RelativePath=".\include\GeoMaterialLoader.h"> 
     167                        </File> 
     168                        <File 
    163169                                RelativePath=".\include\GeoMeshLoader.h"> 
    164170                        </File> 
  • GTP/trunk/Lib/Geom/shared/GeoTool/include/GeoMeshViewUI.h

    r994 r1024  
    5252#include        "../resource.h" 
    5353 
     54#include        <GeoMaterialLoader.h> 
     55 
    5456//      State of the button process. 
    5557enum    ProcessState 
     
    282284        bool    fileExists(const char   *fileNameMesh); 
    283285 
     286        //      Set textures to mesh model. 
     287        void setTextures(); 
     288 
    284289        public: 
    285290 
     
    296301        fltk::Item                                      *menuMeshExportOBJ; 
    297302        fltk::Item                                      *menuFileTransformSharedVertex; 
    298         fltk::ItemGroup                         *menuLoadTextures; 
    299         fltk::Item                                              *menuFileLoadTexture; 
     303        fltk::ItemGroup                 *menuLoadTextures; 
     304        fltk::Item                                      *menuFileLoadTexture; 
    300305 
    301306        fltk::Item                                      *menuFileQuit; 
  • GTP/trunk/Lib/Geom/shared/GeoTool/src/GeoMeshLoader.cpp

    r989 r1024  
    427427        //      Gets material name. 
    428428        fgets(materialName,255,f); 
     429        materialName[strlen(materialName) - 1]  =       '\0'; 
    429430 
    430431        fread(&useSharedVertices,sizeof(bool),1,f); 
  • GTP/trunk/Lib/Geom/shared/GeoTool/src/GeoMeshSaver.cpp

    r1017 r1024  
    215215 
    216216        // Material Name. 
     217        strcat(geoSubMesh->mMaterialName,"\n"); 
    217218        mSerializer->WriteData(geoSubMesh->mMaterialName); 
    218219 
  • GTP/trunk/Lib/Geom/shared/GeoTool/src/GeoMeshViewUI.cpp

    r1017 r1024  
    2525        geoMeshView->deactiveLodTree(); 
    2626 
    27         geoMeshView->resetTextures(); 
    2827        BuildLoadTextureSubMeshMenu(); 
    2928 
     
    10031002} 
    10041003 
    1005 VertexBuffer *origSubMeshVB=NULL; 
    1006 int orig_numindices=0; 
    1007 Index *orig_indices=NULL; 
    1008  
    10091004//--------------------------------------------------------------------------- 
    10101005//      Button Process Callback 
     
    10181013        progressBarType =       PROCESS; 
    10191014        mProcessBar->position(0); 
    1020  
    1021         origSubMeshVB=NULL; 
    10221015 
    10231016        //      Initialize error flag. 
     
    10861079                                else 
    10871080                                { 
    1088                                         origSubMeshVB=mGeoMesh->mSubMesh[idMeshLeaves].mVertexBuffer->Clone(); 
    1089                                         orig_numindices=mGeoMesh->mSubMesh[idMeshLeaves].mIndexCount; 
    1090                                         orig_indices=new Index[orig_numindices]; 
    1091                                         for (int i=0; i<orig_numindices; i++) 
    1092                                                 orig_indices[i]=mGeoMesh->mSubMesh[idMeshLeaves].mIndex[i]; 
    1093  
    10941081                                        std::cout << "Simplificando hojas..."; 
    10951082                                        simplifyLeavesCollapse(); 
     
    13361323                                                file_name[strlen(file_name) - 4]        =       '\0'; 
    13371324                                                 
    1338                                                 mesh_saver->leavesSubMesh=idMeshLeaves; 
    1339                                                 mesh_saver->leavesVB=origSubMeshVB; 
    1340                                                 mesh_saver->numindices=orig_numindices; 
    1341                                                 mesh_saver->indices=orig_indices; 
    13421325                                                mesh_saver->save(       mGeoMesh, 
    13431326                                                                                                                        strcat(file_name,".mesh")); 
     
    25022485                        //      Visualize mesh. 
    25032486                        geoMeshView->setMesh(mGeoMesh); 
     2487                         
     2488                        //      Set textures. 
     2489                        geoMeshView->resetTextures(); 
     2490                        setTextures(); 
    25042491 
    25052492                        //      Hide right panel. 
     
    25442531        //      Free memory. 
    25452532        delete  fcho; 
     2533} 
     2534 
     2535//      Set textures to mesh model. 
     2536void GeoMeshViewUI::setTextures() 
     2537{ 
     2538        GeoMaterialLoader       *loader; 
     2539        string                                          filename; 
     2540        string                                          material; 
     2541         
     2542        loader  = new   GeoMaterialLoader(); 
     2543 
     2544        //      For each submesh. 
     2545        for (int submesh = 0; submesh < mGeoMesh->mSubMeshCount; submesh++) 
     2546        { 
     2547                material        = string(mGeoMesh->mSubMesh[submesh].mMaterialName); 
     2548                                 
     2549                if (loader->existsMaterial(material)) 
     2550                { 
     2551                        //      Debug. 
     2552                        cout    <<      "Material " 
     2553                                                <<      material 
     2554                                                <<      " found." 
     2555                                                <<      endl; 
     2556                         
     2557                        filename        =       loader->getTextureFileName(material); 
     2558 
     2559                        //      Debug. 
     2560                        cout    <<      "File: " 
     2561                                                <<      filename.c_str() 
     2562                                                <<      endl; 
     2563                         
     2564                        geoMeshView->LoadTextureSubMesh(submesh,        filename.c_str()); 
     2565                } 
     2566        } 
    25462567} 
    25472568 
Note: See TracChangeset for help on using the changeset viewer.