MCPcopy Create free account
hub / github.com/ThatOpen/engine_web-ifc / HAlignmentToObjThree

Function HAlignmentToObjThree

src/cpp/test/dumpToThree.h:461–494  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

459 }
460
461 inline std::string HAlignmentToObjThree(const std::vector<webifc::geometry::IfcAlignment>& geom)
462 {
463 std::stringstream obj;
464 for (uint32_t ia = 0; ia < geom.size(); ia++)
465 {
466 for (uint32_t ic = 0; ic < geom[ia].Horizontal.curves.size(); ic++)
467 {
468 if (geom[ia].Horizontal.curves[ic].points.size() > 0)
469 {
470 for (uint32_t ip = 0; ip < geom[ia].Horizontal.curves[ic].points.size(); ip++)
471 {
472 glm::dvec3 t = glm::dvec4(geom[ia].Horizontal.curves[ic].points[ip].x, geom[ia].Horizontal.curves[ic].points[ip].y, 0, 1);
473 obj << "v " << t.x << " " << t.y << " " << t.z << "\n";
474 }
475 }
476 }
477 }
478 uint32_t idx = 0;
479 for (uint32_t ia = 0; ia < geom.size(); ia++)
480 {
481 for (uint32_t ic = 0; ic < geom[ia].Horizontal.curves.size(); ic++)
482 {
483 if (geom[ia].Horizontal.curves[ic].points.size() > 0)
484 {
485 for (uint32_t ip = 0; ip < geom[ia].Horizontal.curves[ic].points.size() - 1; ip++)
486 {
487 obj << "l " << (idx) << " " << (idx + 1) << "\n";
488 idx++;
489 }
490 }
491 }
492 }
493 return obj.str();
494 }
495
496 inline std::string CrossSectionToObjThree(const std::vector<webifc::geometry::IfcCrossSections>& geom)
497 {

Callers 1

DumpAlignmentThreeFunction · 0.85

Calls 1

sizeMethod · 0.80

Tested by

no test coverage detected