- Timestamp:
- 03/06/07 14:26:14 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Geom/shared/GTGeometry/src/GeoMeshSimplifier.cpp
r2127 r2194 224 224 VMI::vTexCoords = vTexCoords; 225 225 226 227 228 226 mGeoMesh = new Mesh(); 229 227 … … 252 250 253 251 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); 255 255 256 256 VMI::histogram = VMI::initHistogram( VMI::mesh->currentNumTriangles, 257 VMI::numCameras);257 VMI::numCameras); 258 258 259 259 VMI::initialIs = VMI::initIs(VMI::numCameras); … … 272 272 } 273 273 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 276 276 /// Simplifier::Simplify method to perform an image based simplification. 277 277 void ViewPointDrivenSimplifier::Simplify(Real percent) … … 333 333 334 334 VMI::contractInitialMesh(VMI::mesh); 335 335 336 336 // Load a geometry mesh for vmi mesh. 337 337 loadMesh(); … … 431 431 vmi_mesh->vertices[i].z = vertex_buffer->mPosition[i].z; 432 432 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; 439 438 } 440 439 … … 468 467 vmi_mesh->triangles[index].indices[2] = geosubmesh->mIndex[(3 * i) + 2]; 469 468 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]); 473 475 474 476 vmi_mesh->triangles[index].saliency = 0.0; … … 482 484 483 485 // 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)); 485 491 486 492 VMI::addItem( (int *)vmi_mesh->vertices[v1].triangles, … … 503 509 // E = 3 T / 2 504 510 vmi_mesh->edges = (VMI::Edge *)malloc(sizeof(VMI::Edge) 505 506 511 * 512 vmi_mesh->numTriangles * 3); 507 513 508 514 if (vmi_mesh->edges == NULL) … … 554 560 vmi_mesh->numEdges = n; 555 561 556 for (i=0; i<vmi_mesh->numEdges; i++) { 562 for (i = 0; i < vmi_mesh->numEdges; i++) 563 { 557 564 v1 = vmi_mesh->edges[i].u; 558 565 v2 = vmi_mesh->edges[i].v; 559 566 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 562 571 // 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 567 580 // 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); 569 584 } 570 585
Note: See TracChangeset
for help on using the changeset viewer.