| 400 | } |
| 401 | |
| 402 | std::pair<Ifc4x3_add2::IfcCurveSegment*, Ifc4x3_add2::IfcCurveSegment*> mapAlignmentSegment(const Ifc4x3_add2::IfcAlignmentSegment* segment) { |
| 403 | std::pair<Ifc4x3_add2::IfcCurveSegment*, Ifc4x3_add2::IfcCurveSegment*> result(nullptr, nullptr); |
| 404 | auto design_parameters = segment->DesignParameters(); |
| 405 | auto horizontal = design_parameters->as<Ifc4x3_add2::IfcAlignmentHorizontalSegment>(); |
| 406 | auto vertical = design_parameters->as<Ifc4x3_add2::IfcAlignmentVerticalSegment>(); |
| 407 | auto cant = design_parameters->as<Ifc4x3_add2::IfcAlignmentCantSegment>(); |
| 408 | if (horizontal) { |
| 409 | result = mapAlignmentHorizontalSegment(horizontal); |
| 410 | } else if (vertical) { |
| 411 | result = mapAlignmentVerticalSegment(vertical); |
| 412 | } else if (cant) { |
| 413 | result = mapAlignmentCantSegment(cant); |
| 414 | } else { |
| 415 | Logger::Error(std::string("Unexpected IfcAlignmentSegment subtype encountered")); |
| 416 | } |
| 417 | return result; |
| 418 | } |
| 419 | |
| 420 | std::pair<Ifc4x3_add2::IfcCurveSegment*, Ifc4x3_add2::IfcCurveSegment*> mapAlignmentHorizontalSegment(const Ifc4x3_add2::IfcAlignmentHorizontalSegment* segment) { |
| 421 | std::pair<Ifc4x3_add2::IfcCurveSegment*, Ifc4x3_add2::IfcCurveSegment*> result(nullptr, nullptr); |
nothing calls this directly
no test coverage detected