| 1410 | } |
| 1411 | |
| 1412 | IfcCurve IfcGeometryLoader::GetOrientedEdge(uint32_t expressID) const |
| 1413 | { |
| 1414 | spdlog::debug("[GetOrientedEdge({})]", expressID); |
| 1415 | _loader.MoveToArgumentOffset(expressID, 3); |
| 1416 | std::string_view orientValue = _loader.GetStringArgument(); |
| 1417 | bool orient = orientValue == "T"; |
| 1418 | _loader.MoveToArgumentOffset(expressID, 2); |
| 1419 | uint32_t edgeCurveRef = _loader.GetRefArgument(); |
| 1420 | IfcCurve curveEdge = GetEdge(edgeCurveRef); |
| 1421 | |
| 1422 | // Read edgeCurve |
| 1423 | |
| 1424 | if (orient) |
| 1425 | { |
| 1426 | std::reverse(curveEdge.points.begin(), curveEdge.points.end()); |
| 1427 | } |
| 1428 | |
| 1429 | return curveEdge; |
| 1430 | } |
| 1431 | |
| 1432 | glm::dvec3 IfcGeometryLoader::GetVertexPoint(uint32_t expressID) const |
| 1433 | { |
nothing calls this directly
no test coverage detected