Changeset 840 for GTP/trunk/Lib/Vis/Preprocessing/src/Polygon3.cpp
- Timestamp:
- 04/27/06 11:57:28 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Vis/Preprocessing/src/Polygon3.cpp
r683 r840 498 498 499 499 500 void Polygon3::Triangulate(vector<Triangle3> &triangles) 500 void Polygon3::Triangulate(vector<Triangle3> &triangles) const 501 501 { 502 502 int i = 1; … … 517 517 518 518 519 void Polygon3::Triangulate(VertexIndexContainer &indices) 519 void Polygon3::Triangulate(VertexIndexContainer &indices) const 520 520 { 521 521 int i = 1; … … 539 539 540 540 541 void Polygon3::AddToMesh(Mesh &mesh)541 void IncludePolyInMesh(const Polygon3 &poly, Mesh &mesh) 542 542 { 543 543 const int n = (int)mesh.mVertices.size(); 544 544 545 545 //-- add the vertices 546 VertexContainer::const_iterator vit, vit_end = mVertices.end();547 for (vit = mVertices.begin(); vit != vit_end; ++ vit)546 VertexContainer::const_iterator vit, vit_end = poly.mVertices.end(); 547 for (vit = poly.mVertices.begin(); vit != vit_end; ++ vit) 548 548 { 549 549 mesh.mVertices.push_back(*vit); … … 551 551 552 552 // one quad => no triangulation necessary 553 if ( (int)mVertices.size() == 4)553 if (poly.mVertices.size() == 4) 554 554 { 555 555 mesh.AddFace(new Face(n, n + 1, n + 2, n + 3)); 556 } 557 else 558 { 559 VertexIndexContainer indices; 560 Triangulate(indices); 561 562 // add indices of triangle strip 563 for (int i = 0; i < (int)indices.size(); i += 3) 564 { 565 Face *face = new Face(n + indices[i], 566 n + indices[i + 1], 567 n + indices[i + 2]); 568 mesh.AddFace(face); 569 } 570 } 571 } 556 return; 557 } 558 559 VertexIndexContainer indices; 560 poly.Triangulate(indices); 561 562 // add indices of triangle strip 563 for (int i = 0; i < (int)indices.size(); i += 3) 564 { 565 Face *face = new Face(n + indices[i], 566 n + indices[i + 1], 567 n + indices[i + 2]); 568 mesh.AddFace(face); 569 } 570 }
Note: See TracChangeset
for help on using the changeset viewer.