1414#include " Road.h"
1515#include " RoadMark.h"
1616#include " RoadObject.h"
17- #include " Signal .h"
17+ #include " RoadSignal .h"
1818#include " Utils.hpp"
1919
2020#include < algorithm>
@@ -61,7 +61,7 @@ OpenDriveMap::OpenDriveMap(const std::string& xodr_file,
6161 const bool with_lane_height,
6262 const bool abs_z_for_for_local_road_obj_outline,
6363 const bool fix_spiral_edge_cases,
64- const bool with_signals ) :
64+ const bool with_road_signals ) :
6565 xodr_file (xodr_file)
6666{
6767 pugi::xml_parse_result result = this ->xml_doc .load_file (xodr_file.c_str ());
@@ -632,44 +632,44 @@ OpenDriveMap::OpenDriveMap(const std::string& xodr_file,
632632 }
633633 }
634634 /* parse signals */
635- if (with_signals )
635+ if (with_road_signals )
636636 {
637637 for (pugi::xml_node signal_node : road_node.child (" signals" ).children (" signal" ))
638638 {
639- std::string signal_id = signal_node.attribute (" id" ).as_string (" " );
640- CHECK_AND_REPAIR (road.id_to_signal .find (signal_id ) == road.id_to_signal .end (),
641- (std::string (" signal::id already exists - " ) + signal_id ).c_str (),
642- signal_id = signal_id + std::string (" _dup" ));
643-
644- Signal& signal = road.id_to_signal
645- .insert ({signal_id ,
646- Signal (road_id,
647- signal_id ,
648- signal_node.attribute (" name" ).as_string (" " ),
649- signal_node.attribute (" s" ).as_double (0 ),
650- signal_node.attribute (" t" ).as_double (0 ),
651- signal_node.attribute (" dynamic" ).as_bool (),
652- signal_node.attribute (" zOffset" ).as_double (0 ),
653- signal_node.attribute (" value" ).as_double (0 ),
654- signal_node.attribute (" height" ).as_double (0 ),
655- signal_node.attribute (" width" ).as_double (0 ),
656- signal_node.attribute (" hOffset" ).as_double (0 ),
657- signal_node.attribute (" pitch" ).as_double (0 ),
658- signal_node.attribute (" roll" ).as_double (0 ),
659- signal_node.attribute (" orientation" ).as_string (" none" ),
660- signal_node.attribute (" country" ).as_string (" " ),
661- signal_node.attribute (" type" ).as_string (" none" ),
662- signal_node.attribute (" subtype" ).as_string (" none" ),
663- signal_node.attribute (" unit" ).as_string (" " ),
664- signal_node.attribute (" text" ).as_string (" none" ))})
665- .first ->second ;
666- signal .xml_node = signal_node;
667-
668- CHECK_AND_REPAIR (signal .s0 >= 0 , " signal::s < 0" , signal .s0 = 0 );
669- CHECK_AND_REPAIR (signal .height >= 0 , " signal::height < 0" , signal .height = 0 );
670- CHECK_AND_REPAIR (signal .width >= 0 , " signal::width < 0" , signal .width = 0 );
671-
672- signal .lane_validities = extract_lane_validity_records (signal_node);
639+ std::string road_signal_id = signal_node.attribute (" id" ).as_string (" " );
640+ CHECK_AND_REPAIR (road.id_to_signal .find (road_signal_id ) == road.id_to_signal .end (),
641+ (std::string (" signal::id already exists - " ) + road_signal_id ).c_str (),
642+ road_signal_id = road_signal_id + std::string (" _dup" ));
643+
644+ RoadSignal& road_signal = road.id_to_signal
645+ .insert ({road_signal_id ,
646+ RoadSignal (road_id,
647+ road_signal_id ,
648+ signal_node.attribute (" name" ).as_string (" " ),
649+ signal_node.attribute (" s" ).as_double (0 ),
650+ signal_node.attribute (" t" ).as_double (0 ),
651+ signal_node.attribute (" dynamic" ).as_bool (),
652+ signal_node.attribute (" zOffset" ).as_double (0 ),
653+ signal_node.attribute (" value" ).as_double (0 ),
654+ signal_node.attribute (" height" ).as_double (0 ),
655+ signal_node.attribute (" width" ).as_double (0 ),
656+ signal_node.attribute (" hOffset" ).as_double (0 ),
657+ signal_node.attribute (" pitch" ).as_double (0 ),
658+ signal_node.attribute (" roll" ).as_double (0 ),
659+ signal_node.attribute (" orientation" ).as_string (" none" ),
660+ signal_node.attribute (" country" ).as_string (" " ),
661+ signal_node.attribute (" type" ).as_string (" none" ),
662+ signal_node.attribute (" subtype" ).as_string (" none" ),
663+ signal_node.attribute (" unit" ).as_string (" " ),
664+ signal_node.attribute (" text" ).as_string (" none" ))})
665+ .first ->second ;
666+ road_signal .xml_node = signal_node;
667+
668+ CHECK_AND_REPAIR (road_signal .s0 >= 0 , " signal::s < 0" , road_signal .s0 = 0 );
669+ CHECK_AND_REPAIR (road_signal .height >= 0 , " signal::height < 0" , road_signal .height = 0 );
670+ CHECK_AND_REPAIR (road_signal .width >= 0 , " signal::width < 0" , road_signal .width = 0 );
671+
672+ road_signal .lane_validities = extract_lane_validity_records (signal_node);
673673 }
674674 }
675675 }
@@ -685,7 +685,7 @@ RoadNetworkMesh OpenDriveMap::get_road_network_mesh(const double eps) const
685685 LanesMesh& lanes_mesh = out_mesh.lanes_mesh ;
686686 RoadmarksMesh& roadmarks_mesh = out_mesh.roadmarks_mesh ;
687687 RoadObjectsMesh& road_objects_mesh = out_mesh.road_objects_mesh ;
688- SignalsMesh& signals_mesh = out_mesh.signals_mesh ;
688+ RoadSignalsMesh& road_signals_mesh = out_mesh.road_signals_mesh ;
689689
690690 for (const auto & id_road : this ->id_to_road )
691691 {
@@ -728,10 +728,10 @@ RoadNetworkMesh OpenDriveMap::get_road_network_mesh(const double eps) const
728728
729729 for (const auto & id_signal : road.id_to_signal )
730730 {
731- const Signal& signal = id_signal.second ;
732- const std::size_t signals_idx_offset = signals_mesh .vertices .size ();
733- signals_mesh. signal_start_indices [signals_idx_offset] = signal .id ;
734- signals_mesh .add_mesh (road.get_signal_mesh (signal ));
731+ const RoadSignal& road_signal = id_signal.second ;
732+ const std::size_t signals_idx_offset = road_signals_mesh .vertices .size ();
733+ road_signals_mesh. road_signal_start_indices [signals_idx_offset] = road_signal .id ;
734+ road_signals_mesh .add_mesh (road.get_road_signal_mesh (road_signal ));
735735 }
736736 }
737737
0 commit comments