diff --git a/src/opendrive_road_segment.cpp b/src/opendrive_road_segment.cpp index ee78ab6006c11ee8576dfbe7f0b1e6da2e84cba5..2967ed714b94cbb9191c5e275c7645a99d3b0fba 100644 --- a/src/opendrive_road_segment.cpp +++ b/src/opendrive_road_segment.cpp @@ -942,8 +942,13 @@ COpendriveRoadSegment *COpendriveRoadSegment::get_sub_segment(node_up_ref_t &new new_pose.x=new_point.x; new_pose.y=new_point.y; new_pose.heading=new_point.heading; - geom_it->opendrive->set_start_pose(new_pose); - geom_it->opendrive->set_max_s(geom_it->opendrive->get_max_s()-length); + if(geom_it->opendrive->get_name()=="Parametric polynomial 3th degree") + ((COpendriveParamPoly3 *)geom_it->opendrive)->set_start_pose(new_pose,geom_it->opendrive->get_max_s()-length); + else + { + geom_it->opendrive->set_start_pose(new_pose); + geom_it->opendrive->set_max_s(geom_it->opendrive->get_max_s()-length); + } break; } else