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

Function HAlignmentToObj

src/cpp/test/io_helpers.cpp:466–504  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers 1

DumpAlignmentFunction · 0.85

Calls 1

sizeMethod · 0.80

Tested by

no test coverage detected