diff --git a/OpenRoadEd/create_junction_road.cpp b/OpenRoadEd/create_junction_road.cpp index f0cfa2f0c8b5bb8fcc16bce7f79519157dc870a2..5f50c9ed4a30e2a3b96e492f67530d3bf7d2e2d9 100644 --- a/OpenRoadEd/create_junction_road.cpp +++ b/OpenRoadEd/create_junction_road.cpp @@ -112,7 +112,13 @@ unsigned int create_junction_road(RoadTree *road_tree, OpenDrive *open_drive,uns if(abs(lane->GetId())==abs(lane_link->GetFrom())) { lane_start_width=lane->GetWidthValue(s); - max_speed=lane->GetLaneSpeed(0)->GetMax(); + if(lane->GetLaneSpeedCount()>0) + max_speed=lane->GetLaneSpeed(0)->GetMax(); + else + { + std::cout << "Warning: Speed record missing. Using 60.0 Km/h" << std::endl; + max_speed=60.0; + } } } } @@ -253,7 +259,13 @@ unsigned int create_junction_road(RoadTree *road_tree, OpenDrive *open_drive,uns road->SetSuccessor("road",connection->GetConnectingRoad(), "start"); else road->SetSuccessor("road",connection->GetConnectingRoad(), "end"); - road->AddRoadType(0,predecessor->GetRoadType(0)->GetType()); + if(predecessor->GetRoadTypeCount()>0) + road->AddRoadType(0,predecessor->GetRoadType(0)->GetType()); + else + { + std::cout << "Warning: Road type record missing: Using town" << std::endl; + road->AddRoadType(0,"town"); + } road_tree->AddRoadType(road_index,0,false); road_id++; } @@ -367,7 +379,13 @@ unsigned int create_junction_road(RoadTree *road_tree, OpenDrive *open_drive,uns road->SetSuccessor("road",connection->GetConnectingRoad(), "start"); else road->SetSuccessor("road",connection->GetConnectingRoad(), "end"); - road->AddRoadType(0,predecessor->GetRoadType(0)->GetType()); + if(predecessor->GetRoadTypeCount()>0) + road->AddRoadType(0,predecessor->GetRoadType(0)->GetType()); + else + { + std::cout << "Warning: Road type record missing: Using town" << std::endl; + road->AddRoadType(0,"town"); + } road_tree->AddRoadType(road_index,0,false); road_id++; }