42 {
43 for (auto& road_internal : *roads) {
44
45 for (auto& section_internal : road_internal.sections) {
46 for (auto& lane_internal : section_internal.lanes) {
47 std::string lane_id = lane_internal.lane.id().id();
48 proto_data_.
pb_lanes[lane_id] = lane_internal.lane;
49 section_internal.section.add_lane_id()->set_id(lane_id);
50 }
51 (*road_internal.road.add_section()) = section_internal.section;
52 proto_data_.
pb_roads[road_internal.id] = road_internal.road;
53 }
54
55 for (auto& crosswalk : road_internal.crosswalks) {
57 }
58
59 for (auto& parking_space : road_internal.parking_spaces) {
61 }
62
63 for (auto& clear_area : road_internal.clear_areas) {
65 }
66
67 for (auto& speed_bump : road_internal.speed_bumps) {
69 }
70
71 for (auto& stop_line_internal : road_internal.stop_lines) {
72 proto_data_.
pb_stop_lines[stop_line_internal.id] = stop_line_internal;
73 }
74
75 for (auto& traffic_light_internal : road_internal.traffic_lights) {
76 auto& traffic_light = traffic_light_internal.traffic_light;
77 for (auto stop_line_id : traffic_light_internal.stop_line_ids) {
79 auto& stop_line_curve = proto_data_.
pb_stop_lines[stop_line_id].curve;
80 (*traffic_light.add_stop_line()) = stop_line_curve;
81 }
82 proto_data_.
pb_signals[traffic_light.id().id()] = traffic_light;
83 }
84
85 for (auto& stop_sign_internal : road_internal.stop_signs) {
86 auto& stop_sign = stop_sign_internal.stop_sign;
87 for (auto stop_line_id : stop_sign_internal.stop_line_ids) {
89 auto& stop_line_curve = proto_data_.
pb_stop_lines[stop_line_id].curve;
90 (*stop_sign.add_stop_line()) = stop_line_curve;
91 }
93 }
94
95 for (auto& yield_sign_internal : road_internal.yield_signs) {
96 auto& yield_sign = yield_sign_internal.yield_sign;
97 for (auto stop_line_id : yield_sign_internal.stop_line_ids) {
99 auto& stop_line_curve = proto_data_.
pb_stop_lines[stop_line_id].curve;
100 (*yield_sign.add_stop_line()) = stop_line_curve;
101 }
103 }
104
105 for (auto& pnc_junction : road_internal.pnc_junctions) {
107 }
108 }
109}
std::unordered_map< std::string, PbClearArea > pb_clear_areas
std::unordered_map< std::string, PbParkingSpace > pb_parking_spaces
std::unordered_map< std::string, PbSpeedBump > pb_speed_bumps
std::unordered_map< std::string, PbSignal > pb_signals
std::unordered_map< std::string, PbCrosswalk > pb_crosswalks
std::unordered_map< std::string, PbRoad > pb_roads
std::unordered_map< std::string, PbStopSign > pb_stop_signs
std::unordered_map< std::string, PbLane > pb_lanes
std::unordered_map< std::string, PbPNCJunction > pb_pnc_junctions
std::unordered_map< std::string, StopLineInternal > pb_stop_lines
std::unordered_map< std::string, PbYieldSign > pb_yield_signs