Ignore:
Timestamp:
06/13/06 10:45:56 (19 years ago)
Author:
gumbau
Message:
 
Location:
GTP/trunk/Lib/Geom/shared/GeoTool
Files:
2 edited

Legend:

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

    r998 r1014  
    8282                        <Tool 
    8383                                Name="VCCLCompilerTool" 
    84                                 Optimization="0" 
    85                                 AdditionalIncludeDirectories=".\include;..\include;..\..\..\..\..\..\NonGTP\FLTK\include;..\..\..\..\..\..\NonGTP\glut;..\GTGeometry\include;..\GTGeometry\src\libs\vmi\include" 
     84                                Optimization="2" 
     85                                AdditionalIncludeDirectories=".\include;..\include;..\..\..\..\..\..\NonGTP\FLTK\include;..\..\..\..\..\..\NonGTP\glut;..\GTGeometry\include;..\GTGeometry\src\libs\vmi\include;..\..\..\..\..\..\nongtp\Devil\include" 
    8686                                PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;WIN32_LEAN_AND_MEAN;VC_EXTRA_LEAN;WIN32_EXTRA_LEAN" 
    8787                                RuntimeLibrary="4" 
     88                                BufferSecurityCheck="FALSE" 
    8889                                UsePrecompiledHeader="0" 
    8990                                WarningLevel="0" 
  • GTP/trunk/Lib/Geom/shared/GeoTool/src/GeoMeshViewUI.cpp

    r1007 r1014  
    12311231                { 
    12321232                        //      Build the LOD file. 
    1233                         case    LODTREES_AUTO:                   
     1233                        case    LODTREES_AUTO: 
    12341234 
    12351235                                //      Open file chooser dialog. 
    12361236                                file_name       =       fltk::file_chooser("Build LOD","*",""); 
     1237                                 
    12371238                                if (!file_name) 
     1239                                { 
    12381240                                        break; 
     1241                                } 
    12391242 
    12401243                                std::cout << "Creando secuencia de simplificacion de hojas..."; 
     1244                                 
    12411245                                createLeavesSequence(file_name+std::string(".leafseq")); 
     1246                                 
    12421247                                std::cout << "OK!" << std::endl; 
    12431248 
     
    12591264                                                                        delete auxTreeSimpSequence;*/ 
    12601265 
    1261  
    12621266                        case    LODSTRIPS_AUTO: 
    12631267 
    1264                                 // Builder                                       
     1268                                //      Builder 
    12651269                                if (!file_name) 
     1270                                { 
    12661271                                        file_name       =       fltk::file_chooser("Build LOD","*",""); 
     1272                                } 
     1273                                 
    12671274                                //      If a file was selected. 
    12681275                                if (file_name) 
     
    12811288 
    12821289                                        //      Loads a simplification sequence file. 
    1283                                         oMeshSimpSequence->Load(Serializer("SimplifSequence.txt",Serializer::READ)); 
     1290                                        oMeshSimpSequence->Load(Serializer(     "SimplifSequence.txt", 
     1291                                                                                                                                                                                        Serializer::READ)); 
    12841292 
    12851293                                        //      If the simplification sequence and the mesh exist. 
     
    12911299                                                                progress_function); 
    12921300 
    1293                                                 oSerializer     =       new Serializer(strcat(file_name,".lod"),Serializer::Mode::WRITE); 
     1301                                                oSerializer     =       new Serializer( strcat(file_name,".lod"), 
     1302                                                                                                                                                                        Serializer::Mode::WRITE); 
    12941303 
    12951304                                                oLodStrip->Save(*oSerializer); 
     
    13141323                                                mesh_saver      =       new     GeoMeshSaver(); 
    13151324                                                file_name[strlen(file_name) - 4]        =       '\0'; 
    1316                                                 mesh_saver->save(mGeoMesh, strcat(file_name,".mesh")); 
     1325                                                 
     1326                                                mesh_saver->save(       mGeoMesh, 
     1327                                                                                                                        strcat(file_name,".mesh")); 
     1328                                                 
    13171329                                                delete  mesh_saver; 
    1318  
    13191330                                        } 
    13201331                                        else 
     
    13621373} 
    13631374 
    1364  
    13651375//--------------------------------------------------------------------------- 
    13661376//      Lod Slider Callback for the foliage 
     
    13841394} 
    13851395 
    1386  
    1387  
    13881396//--------------------------------------------------------------------------- 
    13891397//      Mesh Info Callback 
     
    14021410 
    14031411//--------------------------------------------------------------------------- 
    1404 //      Logo Callback 
     1412//      Logo Callback. 
    14051413//--------------------------------------------------------------------------- 
    14061414inline void GeoMeshViewUI::cb_mLogo_i(fltk::InvisibleBox*, void*) 
     
    14281436 
    14291437//--------------------------------------------------------------------------- 
    1430 //      Show the stripify panel 
     1438//      Show the stripify panel. 
    14311439//--------------------------------------------------------------------------- 
    14321440void    GeoMeshViewUI::showStripify() 
     
    14511459 
    14521460//--------------------------------------------------------------------------- 
    1453 //      Hide the stripify panel 
     1461//      Hide the stripify panel. 
    14541462//--------------------------------------------------------------------------- 
    14551463void    GeoMeshViewUI::hideStripify() 
     
    14741482 
    14751483//--------------------------------------------------------------------------- 
    1476 //      Show the Simplify Edge Collapse panel 
     1484//      Show the Simplify Edge Collapse panel. 
    14771485//--------------------------------------------------------------------------- 
    14781486void    GeoMeshViewUI::showEdgeCollapse() 
     
    15621570 
    15631571//--------------------------------------------------------------------------- 
    1564 //      Show the Simlify Leaves Collapse 
     1572//      Show the Simlify Leaves Collapse. 
    15651573//--------------------------------------------------------------------------- 
    15661574void    GeoMeshViewUI::showLeavesCollapse() 
     
    16061614 
    16071615//--------------------------------------------------------------------------- 
    1608 //      Hide the Simplify Leaves Collapse 
     1616//      Hide the Simplify Leaves Collapse. 
    16091617//--------------------------------------------------------------------------- 
    16101618void    GeoMeshViewUI::hideLeavesCollapse() 
     
    16471655 
    16481656//--------------------------------------------------------------------------- 
    1649 //      Show the LodStrips Panel 
     1657//      Show the LodStrips Panel. 
    16501658//--------------------------------------------------------------------------- 
    16511659void    GeoMeshViewUI::showOpenMeshSimplification() 
     
    16651673 
    16661674//--------------------------------------------------------------------------- 
    1667 //      Hide the LodStrips Panel 
     1675//      Hide the LodStrips Panel. 
    16681676//--------------------------------------------------------------------------- 
    16691677void    GeoMeshViewUI::hideOpenMeshSimplification() 
     
    16831691 
    16841692//--------------------------------------------------------------------------- 
    1685 //      Shows the auto generate LodStrips panel 
     1693//      Shows the auto generate LodStrips panel. 
    16861694//--------------------------------------------------------------------------- 
    16871695void    GeoMeshViewUI::showAutoGenerateLodStrips() 
     
    16961704        //mBuildBar->activate(); 
    16971705} 
    1698 //--------------------------------------------------------------------------- 
    1699 //      Shows the auto generate LodStrips panel 
     1706 
     1707//--------------------------------------------------------------------------- 
     1708//      Shows the auto generate LodStrips panel. 
    17001709//--------------------------------------------------------------------------- 
    17011710void    GeoMeshViewUI::showAutoGenerateLodTrees() 
     
    17121721 
    17131722//--------------------------------------------------------------------------- 
    1714 //      Show the LodStrips visulization panel 
     1723//      Show the LodStrips visulization panel. 
    17151724//--------------------------------------------------------------------------- 
    17161725void    GeoMeshViewUI::showLodStripSlider() 
     
    17211730 
    17221731//--------------------------------------------------------------------------- 
    1723 //      Hide the LodStrips visualization panel 
     1732//      Hide the LodStrips visualization panel. 
    17241733//--------------------------------------------------------------------------- 
    17251734void    GeoMeshViewUI::hideLodStripSlider() 
     
    17301739 
    17311740//--------------------------------------------------------------------------- 
    1732 //      Show the LodTree visulization panel 
     1741//      Show the LodTree visulization panel. 
    17331742//--------------------------------------------------------------------------- 
    17341743void    GeoMeshViewUI::showLodTreeSlider() 
     
    17391748 
    17401749//--------------------------------------------------------------------------- 
    1741 //      Hide the LodTree visualization panel 
     1750//      Hide the LodTree visualization panel. 
    17421751//--------------------------------------------------------------------------- 
    17431752void    GeoMeshViewUI::hideLodTreeSlider() 
     
    17471756} 
    17481757 
    1749  
    1750 //--------------------------------------------------------------------------- 
    1751 //      Show the LodTrees Panel 
     1758//--------------------------------------------------------------------------- 
     1759//      Show the LodTrees Panel. 
    17521760//--------------------------------------------------------------------------- 
    17531761void    GeoMeshViewUI::showOpenLeavesSimplification() 
     
    17611769 
    17621770//--------------------------------------------------------------------------- 
    1763 //      Hide the LodTrees Panel 
     1771//      Hide the LodTrees Panel. 
    17641772//--------------------------------------------------------------------------- 
    17651773void    GeoMeshViewUI::hideOpenLeavesSimplification() 
     
    17731781 
    17741782//--------------------------------------------------------------------------- 
    1775 //      Show the mesh info browser 
     1783//      Show the mesh info browser. 
    17761784//--------------------------------------------------------------------------- 
    17771785void    GeoMeshViewUI::showMeshInfo() 
     
    18791887 
    18801888//--------------------------------------------------------------------------- 
    1881 //      Hide the mesh info browser 
     1889//      Hide the mesh info browser. 
    18821890//--------------------------------------------------------------------------- 
    18831891void    GeoMeshViewUI::hideMeshInfo() 
     
    18881896 
    18891897//--------------------------------------------------------------------------- 
    1890 //      Hide the right panel 
     1898//      Hide the right panel. 
    18911899//--------------------------------------------------------------------------- 
    18921900void    GeoMeshViewUI::hideRightPanel() 
     
    19031911 
    19041912//--------------------------------------------------------------------------- 
    1905 //      Get the number of vertices 
     1913//      Get the number of vertices. 
    19061914//--------------------------------------------------------------------------- 
    19071915size_t  GeoMeshViewUI::getVertexCount(Mesh      *geoMesh) 
     
    19301938 
    19311939//--------------------------------------------------------------------------- 
    1932 //      Get the number of triangles 
     1940//      Get the number of triangles. 
    19331941//--------------------------------------------------------------------------- 
    19341942size_t  GeoMeshViewUI::getTriangleCount(Geometry::Mesh  *geoMesh) 
     
    19691977 
    19701978//--------------------------------------------------------------------------- 
    1971 //      Get the number of strips 
     1979//      Get the number of strips. 
    19721980//--------------------------------------------------------------------------- 
    19731981size_t  GeoMeshViewUI::getStripCount(Geometry::Mesh     *geoMesh) 
     
    19952003 
    19962004//--------------------------------------------------------------------------- 
    1997 //      It paints the submesh selected by the mMeshInfo tree 
    1998 //      Trate the mMeshInfo event        
     2005//      It paints the submesh selected by the mMeshInfo tree. 
     2006//      Trate the mMeshInfo event. 
    19992007//--------------------------------------------------------------------------- 
    20002008int GeoMeshViewUI::paintMesh(void) 
     
    20082016        meshNumber      =       -1; 
    20092017 
    2010         // Shows the selected object label 
     2018        // Shows the selected object label. 
    20112019        strcpy(selectedTag,mMeshInfo->goto_focus()->label()); 
    20122020         
    20132021        p=strstr(selectedTag,"SubMesh "); 
    20142022 
    2015         // If the item begins with string "SubMesh" 
     2023        // If the item begins with string "SubMesh". 
    20162024        if (p!=NULL) 
    20172025        { 
     
    20322040bool GeoMeshViewUI::simplifyEdgeCollapse() 
    20332041{ 
    2034     Real    percent; 
    2035  
    2036     //    If input field empty. 
    2037     if (mMeshReduction->fvalue() <= 0.0) 
    2038     { 
    2039         return false; 
    2040     } 
    2041  
    2042     geoMeshView->saveContext(); 
    2043  
    2044     //    Debug. 
    2045     cout    <<    "Mesh Reduction: " 
    2046                 <<    mMeshReduction->fvalue() 
    2047                 <<    endl; 
    2048      
    2049     //    Gets simplify option. 
    2050     if (mGeometryBased->value()) 
    2051     { 
    2052         simplificationState    =    MESHSIMP; 
    2053         mMeshSimplifier         = new GeometryBasedSimplifier(mGeoMesh, 
    2054                                                                         
    2055                                      progress_function); 
    2056     } 
    2057     else 
    2058     { 
    2059         simplificationState    =    VIEWPOINTDRIVEN; 
    2060         mMeshSimplifier         = new ViewPointDrivenSimplifier(mGeoMesh, 
    2061                                                                         
    2062                                          progress_function); 
    2063     } 
    2064  
    2065     mMeshSimplifier->setMeshLeaves(idMeshLeaves); 
    2066  
    2067     if (mPercent->value()) 
    2068     { 
    2069         // Simplificación por porcentaje 
    2070         if (mMeshReduction->fvalue() <= 100.0 &&  
    2071 mMeshReduction->fvalue() > 0.0) 
    2072         { 
    2073             percent    = mMeshReduction->fvalue(); 
    2074             percent    =    percent    / 100.0; 
    2075  
    2076             // Simplifica el geomesh -> Parámetro es un factor LOD [0,1]. 
    2077             mMeshSimplifier->Simplify(percent); 
    2078  
    2079             //    Deletes the previous mesh. 
    2080             delete mUndoMesh; 
    2081  
    2082             mUndoMesh    =    new Mesh(); 
    2083  
    2084             //    Sets the undo mesh. 
    2085             *mUndoMesh    =    *mGeoMesh; 
    2086  
    2087             delete    mGeoMesh; 
    2088  
    2089             mGeoMesh    =    mMeshSimplifier->GetMesh(); 
    2090  
    2091             //    Visualize mesh. 
    2092             geoMeshView->setMesh(mGeoMesh); 
    2093  
    2094         } 
    2095         else 
    2096         { 
    2097             fltk::alert("Wrong value for simplification.\n" 
    2098                     "Valid values [0..100]"); 
    2099              
    2100             return    false; 
    2101         } 
    2102     } 
    2103     else 
    2104     { 
    2105         //      Simplificar hasta un número de vértices. 
    2106         uint32 v    =    (uint32)mMeshReduction->fvalue(); 
    2107  
    2108         //      Simplifica el geomesh -> Parámetro es un factor LOD [0,1]. 
    2109         mMeshSimplifier->Simplify(v); 
    2110  
    2111         //      Deletes the previous mesh. 
    2112         delete mUndoMesh; 
    2113  
    2114         mUndoMesh    =    new Mesh(); 
    2115  
    2116         //      Sets the undo mesh. 
    2117         *mUndoMesh    =    *mGeoMesh; 
    2118  
    2119         delete    mGeoMesh; 
    2120  
    2121         mGeoMesh    =    mMeshSimplifier->GetMesh(); 
    2122  
    2123         //      Visualize the mesh. 
    2124         geoMeshView->setMesh(mGeoMesh); 
    2125     } 
    2126  
    2127     return    true; 
     2042        Real    percent; 
     2043 
     2044        //    If input field empty. 
     2045        if (mMeshReduction->fvalue() <= 0.0) 
     2046        { 
     2047                return false; 
     2048        } 
     2049 
     2050        geoMeshView->saveContext(); 
     2051 
     2052        //    Debug. 
     2053        cout    <<    "Mesh Reduction: " 
     2054                <<    mMeshReduction->fvalue() 
     2055                <<    endl; 
     2056 
     2057        //    Gets simplify option. 
     2058        if (mGeometryBased->value()) 
     2059        { 
     2060                simplificationState     =       MESHSIMP; 
     2061                mMeshSimplifier                 =       new GeometryBasedSimplifier(mGeoMesh, 
     2062                                                                                                                                                                                                                        progress_function); 
     2063        } 
     2064        else 
     2065        { 
     2066                simplificationState     =       VIEWPOINTDRIVEN; 
     2067                mMeshSimplifier                 =       new ViewPointDrivenSimplifier(mGeoMesh, 
     2068                                                                                                                                                                                                                                progress_function); 
     2069        } 
     2070 
     2071        mMeshSimplifier->setMeshLeaves(idMeshLeaves); 
     2072 
     2073        if (mPercent->value()) 
     2074        { 
     2075                // Simplificación por porcentaje 
     2076                if (mMeshReduction->fvalue() <= 100.0 &&  
     2077                                mMeshReduction->fvalue() > 0.0) 
     2078                { 
     2079                        percent =       mMeshReduction->fvalue(); 
     2080                        percent =       percent / 100.0; 
     2081 
     2082                        //      Simplifica el geomesh -> Parámetro es un factor LOD [0,1]. 
     2083                        mMeshSimplifier->Simplify(percent); 
     2084 
     2085                        //      Deletes the previous mesh. 
     2086                        delete mUndoMesh; 
     2087 
     2088                        mUndoMesh       =       new Mesh(); 
     2089 
     2090                        //      Sets the undo mesh. 
     2091                        *mUndoMesh      =       *mGeoMesh; 
     2092 
     2093                        delete    mGeoMesh; 
     2094 
     2095                        mGeoMesh        =       mMeshSimplifier->GetMesh(); 
     2096 
     2097                        //      Visualize mesh. 
     2098                        geoMeshView->setMesh(mGeoMesh); 
     2099                } 
     2100                else 
     2101                { 
     2102                        fltk::alert("Wrong value for simplification.\n" 
     2103                                                                        "Valid values [0..100]"); 
     2104 
     2105                        return  false; 
     2106                } 
     2107        } 
     2108        else 
     2109        { 
     2110                //      Simplificar hasta un número de vértices. 
     2111                uint32 v        =       (uint32)mMeshReduction->fvalue(); 
     2112 
     2113                //      Simplifica el geomesh -> Parámetro es un factor LOD [0,1]. 
     2114                mMeshSimplifier->Simplify(v); 
     2115 
     2116                //      Deletes the previous mesh. 
     2117                delete mUndoMesh; 
     2118 
     2119                mUndoMesh       =       new Mesh(); 
     2120 
     2121                //      Sets the undo mesh. 
     2122                *mUndoMesh      =       *mGeoMesh; 
     2123 
     2124                delete  mGeoMesh; 
     2125 
     2126                mGeoMesh        =       mMeshSimplifier->GetMesh(); 
     2127 
     2128                //      Visualize the mesh. 
     2129                geoMeshView->setMesh(mGeoMesh); 
     2130        } 
     2131 
     2132        return  true; 
    21282133} 
    21292134 
Note: See TracChangeset for help on using the changeset viewer.