454 .newElement = Colored<Quadrilateral>{quad, MAIN_COLOR}, |
454 .newElement = Colored<Quadrilateral>{quad, MAIN_COLOR}, |
455 }); |
455 }); |
456 } |
456 } |
457 for (std::size_t i = 0; i < indices.size(); i += 3) { |
457 for (std::size_t i = 0; i < indices.size(); i += 3) { |
458 if (mergedTriangles.cutTriangles.find(i) == mergedTriangles.cutTriangles.end()) { |
458 if (mergedTriangles.cutTriangles.find(i) == mergedTriangles.cutTriangles.end()) { |
459 Triangle triangle{ |
459 Colored<Triangle> tri = triangle( |
460 Triangle{ |
460 this->polygon[indices[i]], |
461 .p1 = this->polygon[indices[i]], |
461 this->polygon[indices[i + 1]], |
462 .p2 = this->polygon[indices[i + 1]], |
462 this->polygon[indices[i + 2]]); |
463 .p3 = this->polygon[indices[i + 2]], |
|
464 } |
|
465 }; |
|
466 if (shouldInvert < 0) { |
463 if (shouldInvert < 0) { |
467 invert(triangle); |
464 invert(tri); |
468 } |
465 } |
469 result.push_back(AppendToModel{ |
466 result.push_back(AppendToModel{tri}); |
470 .newElement = Colored<Triangle>{ |
|
471 triangle, |
|
472 MAIN_COLOR, |
|
473 } |
|
474 }); |
|
475 } |
467 } |
476 } |
468 } |
477 } |
469 } |
478 return result; |
470 return result; |
479 } |
471 } |