diff --git a/src/examples/IfcAlignment.cpp b/src/examples/IfcAlignment.cpp index d17bf76cd4..877ad778fd 100644 --- a/src/examples/IfcAlignment.cpp +++ b/src/examples/IfcAlignment.cpp @@ -395,6 +395,7 @@ int main() { // Zero-length terminator auto vertical_terminator_segment = create_gradient(vpoe, -0.5 / 100, 0.0); + vertical_terminator_segment.first->setTransition(Schema::IfcTransitionCode::IfcTransitionCode_DISCONTINUOUS); vertical_curve_segments->push(vertical_terminator_segment.first); vertical_segments->push(vertical_terminator_segment.second); diff --git a/src/ifcparse/IfcAlignmentHelper.cpp b/src/ifcparse/IfcAlignmentHelper.cpp index e16ddbc39e..8e26375ab5 100644 --- a/src/ifcparse/IfcAlignmentHelper.cpp +++ b/src/ifcparse/IfcAlignmentHelper.cpp @@ -163,7 +163,9 @@ std::tuple::ptr, typenam alignment_segment = new Ifc4x3_add2::IfcAlignmentSegment(IfcParse::IfcGlobalId(), nullptr, boost::none, boost::none, boost::none, nullptr, nullptr, design_parameters); horizontal_segments->push(alignment_segment); if (include_geometry) { - horizontal_curve_segments->push(mapAlignmentHorizontalSegment(design_parameters).first); + auto segment = mapAlignmentHorizontalSegment(design_parameters).first; + segment->setTransition(Ifc4x3_add2::IfcTransitionCode::IfcTransitionCode_DISCONTINUOUS); + horizontal_curve_segments->push(segment); } Ifc4x3_add2::IfcCompositeCurve* composite_curve = nullptr; @@ -306,7 +308,9 @@ std::tuple::ptr, typenam alignment_segment = new Ifc4x3_add2::IfcAlignmentSegment(IfcParse::IfcGlobalId(), nullptr, boost::none, boost::none, boost::none, nullptr, nullptr, design_parameters); vertical_segments->push(alignment_segment); if (include_geometry) { - vertical_curve_segments->push(mapAlignmentVerticalSegment(design_parameters).first); + auto segment = mapAlignmentVerticalSegment(design_parameters).first; + segment->setTransition(Ifc4x3_add2::IfcTransitionCode::IfcTransitionCode_DISCONTINUOUS); + vertical_curve_segments->push(segment); } Ifc4x3_add2::IfcGradientCurve* gradient_curve = nullptr;