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

Method GetProfile3D

src/cpp/web-ifc/geometry/IfcGeometryLoader.cpp:3688–3711  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3686 }
3687
3688 IfcProfile IfcGeometryLoader::GetProfile3D(uint32_t expressID) const
3689 {
3690 spdlog::debug("[GetProfile3D({})]", expressID);
3691 auto lineType = _loader.GetLineType(expressID);
3692 switch (lineType)
3693 {
3694 case schema::IFCARBITRARYOPENPROFILEDEF:
3695 {
3696 IfcProfile profile;
3697
3698 _loader.MoveToArgumentOffset(expressID, 0);
3699 profile.type = _loader.GetStringArgument();
3700 _loader.MoveToArgumentOffset(expressID, 2);
3701 profile.curve = GetCurve(_loader.GetRefArgument(), 3);
3702
3703 return profile;
3704 }
3705 default:
3706 spdlog::error("[GetProfilebyLine()] unexpected 3D profile type {}", expressID, lineType);
3707 break;
3708 }
3709
3710 return IfcProfile();
3711 }
3712
3713 glm::dvec3 IfcGeometryLoader::GetVector(uint32_t expressID) const
3714 {

Callers 1

GetSurfaceMethod · 0.80

Calls 7

debugFunction · 0.85
errorFunction · 0.85
IfcProfileClass · 0.85
MoveToArgumentOffsetMethod · 0.80
GetStringArgumentMethod · 0.80
GetRefArgumentMethod · 0.80
GetLineTypeMethod · 0.45

Tested by

no test coverage detected