Ignore:
Timestamp:
03/06/07 14:26:14 (17 years ago)
Author:
gumbau
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Geom/shared/GTGeometry/src/GeoMeshSimplifier.cpp

    r2127 r2194  
    224224        VMI::vTexCoords =       vTexCoords; 
    225225 
    226          
    227  
    228226        mGeoMesh        =       new Mesh(); 
    229227 
     
    252250 
    253251        if (VMI::bLoadCamerasFromFile == GL_FALSE) 
    254                 VMI::cameras = VMI::setCameras(VMI::radius, VMI::cameraType, &VMI::numCameras); 
     252                VMI::cameras = VMI::setCameras( VMI::radius,  
     253                                                                                                                                                VMI::cameraType, 
     254                                                                                                                                                &VMI::numCameras); 
    255255 
    256256        VMI::histogram  =       VMI::initHistogram(     VMI::mesh->currentNumTriangles, 
    257                         VMI::numCameras); 
     257                                                                                                                                                                VMI::numCameras); 
    258258 
    259259        VMI::initialIs  =       VMI::initIs(VMI::numCameras); 
     
    272272} 
    273273 
    274 /// Starts the simplification process. Receives as a parameter the  
    275 ///     LOD factor in a range of [0,1]. Implements the  
     274/// Starts the simplification process. Receives as a parameter the 
     275///     LOD factor in a range of [0,1]. Implements the 
    276276///     Simplifier::Simplify method to perform an image based simplification. 
    277277void ViewPointDrivenSimplifier::Simplify(Real percent) 
     
    333333 
    334334        VMI::contractInitialMesh(VMI::mesh); 
    335  
     335         
    336336        //      Load a geometry mesh for vmi mesh. 
    337337        loadMesh(); 
     
    431431                vmi_mesh->vertices[i].z = vertex_buffer->mPosition[i].z; 
    432432 
    433                 vmi_mesh->vertices[i].numTriangles = 0; 
    434                 vmi_mesh->vertices[i].triangles = NULL; 
    435                 vmi_mesh->vertices[i].numEdges = 0; 
    436                 vmi_mesh->vertices[i].edges = NULL; 
    437                 vmi_mesh->vertices[i].enable    = GL_TRUE; 
    438                 vmi_mesh->vertices[i].movable = GL_TRUE; 
     433                vmi_mesh->vertices[i].numTriangles      = 0; 
     434                vmi_mesh->vertices[i].triangles                 = NULL; 
     435                vmi_mesh->vertices[i].numEdges                  = 0; 
     436                vmi_mesh->vertices[i].edges                                     = NULL; 
     437                vmi_mesh->vertices[i].enable                            = GL_TRUE; 
    439438        } 
    440439         
     
    468467                        vmi_mesh->triangles[index].indices[2] = geosubmesh->mIndex[(3 * i) + 2]; 
    469468 
    470                         vmi_mesh->triangles[index].area = computeTriangleArea(vmi_mesh->vertices,  
    471                                         &vmi_mesh->triangles[index]); 
    472                         computeTriangleNormal(vmi_mesh->vertices, &vmi_mesh->triangles[index]); 
     469                        vmi_mesh->triangles[index].area = computeTriangleArea( 
     470                                                                                                                                                                                vmi_mesh->vertices,  
     471                                                                                                                                                                                &vmi_mesh->triangles[index]); 
     472 
     473                        computeTriangleNormal(vmi_mesh->vertices, 
     474                                                                                                                &vmi_mesh->triangles[index]); 
    473475 
    474476                        vmi_mesh->triangles[index].saliency = 0.0; 
     
    482484 
    483485                                // Reallocate memory for the new adjacent triangle. 
    484                                 vmi_mesh->vertices[v1].triangles = (int *)realloc(vmi_mesh->vertices[v1].triangles, (vmi_mesh->vertices[v1].numTriangles + 1) * sizeof(int)); 
     486                                vmi_mesh->vertices[v1].triangles =  
     487                                                                                        (int *)realloc(vmi_mesh->vertices[v1].triangles, 
     488                                                                                        (vmi_mesh->vertices[v1].numTriangles + 1) 
     489                                                                                        * 
     490                                                                                        sizeof(int)); 
    485491 
    486492                                VMI::addItem(   (int *)vmi_mesh->vertices[v1].triangles, 
     
    503509        // E = 3 T / 2 
    504510        vmi_mesh->edges = (VMI::Edge *)malloc(sizeof(VMI::Edge) 
    505                                                                                                                                                 * 
    506                                                                                                                                                 vmi_mesh->numTriangles * 3); 
     511                                                                                * 
     512                                                                                vmi_mesh->numTriangles * 3); 
    507513 
    508514        if (vmi_mesh->edges == NULL) 
     
    554560        vmi_mesh->numEdges = n; 
    555561 
    556         for (i=0; i<vmi_mesh->numEdges; i++) { 
     562        for (i  =       0; i < vmi_mesh->numEdges; i++) 
     563        { 
    557564                v1 = vmi_mesh->edges[i].u; 
    558565                v2 = vmi_mesh->edges[i].v; 
    559566 
    560                 vmi_mesh->vertices[v1].edges =  
    561                         (int *)realloc(vmi_mesh->vertices[v1].edges, (vmi_mesh->vertices[v1].numEdges + 1) * sizeof(int)); 
     567                vmi_mesh->vertices[v1].edges    = 
     568                                                        (int *)realloc(vmi_mesh->vertices[v1].edges, 
     569                                                        (vmi_mesh->vertices[v1].numEdges + 1) * sizeof(int)); 
     570 
    562571                // Adding edge i adjacent to vertex v1 
    563                 VMI::addItem(vmi_mesh->vertices[v1].edges, &vmi_mesh->vertices[v1].numEdges, i); 
    564  
    565                 vmi_mesh->vertices[v2].edges =  
    566                         (int *)realloc(vmi_mesh->vertices[v2].edges, (vmi_mesh->vertices[v2].numEdges + 1) * sizeof(int)); 
     572                VMI::addItem(   vmi_mesh->vertices[v1].edges, 
     573                                                                        &vmi_mesh->vertices[v1].numEdges, 
     574                                                                        i); 
     575 
     576                vmi_mesh->vertices[v2].edges = 
     577                                                                (int *)realloc(vmi_mesh->vertices[v2].edges, 
     578                                                                (vmi_mesh->vertices[v2].numEdges + 1) * sizeof(int)); 
     579 
    567580                // Adding edge i adjacent to vertex v2 
    568                 VMI::addItem(vmi_mesh->vertices[v2].edges, &vmi_mesh->vertices[v2].numEdges, i); 
     581                VMI::addItem(   vmi_mesh->vertices[v2].edges, 
     582                                                                        &vmi_mesh->vertices[v2].numEdges, 
     583                                                                        i); 
    569584        } 
    570585 
Note: See TracChangeset for help on using the changeset viewer.