40 const std::string validity =
"validity";
44 road_node = road_node.next_sibling(
"road")) {
54 const double t_position = signal_node.attribute(
"t").as_double();
55 const road::SignId signal_id = signal_node.attribute(
"id").value();
56 const std::string name = signal_node.attribute(
"name").value();
57 const std::string dynamic = signal_node.attribute(
"dynamic").value();
58 const std::string orientation = signal_node.attribute(
"orientation").value();
59 const double zOffset = signal_node.attribute(
"zOffSet").as_double();
60 const std::string country = signal_node.attribute(
"country").value();
61 const std::string type = signal_node.attribute(
"type").value();
62 const std::string subtype = signal_node.attribute(
"subtype").value();
63 const double value = signal_node.attribute(
"value").as_double();
64 const std::string unit = signal_node.attribute(
"unit").value();
65 const double height = signal_node.attribute(
"height").as_double();
66 const double width = signal_node.attribute(
"width").as_double();
67 const std::string text = signal_node.attribute(
"text").value();
68 const double hOffset = signal_node.attribute(
"hOffset").as_double();
69 const double pitch = signal_node.attribute(
"pitch").as_double();
70 const double roll = signal_node.attribute(
"roll").as_double();
97 auto signal_reference = map_builder.
AddSignal(road,
117 AddValidity(signal_reference, signal_node,
"validity", map_builder);
119 for (
pugi::xml_node dependency_node : signal_node.children(
"dependency")) {
120 const std::string dependency_id = dependency_node.attribute(
"id").value();
121 const std::string dependency_type = dependency_node.attribute(
"type").value();
123 log_debug(
"Added dependency to signal ", signal_id,
":", dependency_id, dependency_type);
128 for (
pugi::xml_node position_node : signal_node.children(
"positionInertial")) {
129 const double x = position_node.attribute(
"x").as_double();
130 const double y = position_node.attribute(
"y").as_double();
131 const double z = position_node.attribute(
"z").as_double();
132 const double hdg = position_node.attribute(
"hdg").as_double();
133 const double inertial_pitch = position_node.attribute(
"pitch").as_double();
134 const double inertial_roll = position_node.attribute(
"roll").as_double();
139 hdg, inertial_pitch, inertial_roll);
144 const double s_position = signal_reference_node.attribute(
"s").as_double();
145 const double t_position = signal_reference_node.attribute(
"t").as_double();
146 const road::SignId signal_id = signal_reference_node.attribute(
"id").value();
147 const std::string signal_reference_orientation =
148 signal_reference_node.attribute(
"orientation").value();
152 "Added SignalReference ",
155 signal_reference_orientation);
165 signal_reference_orientation);
167 AddValidity(signal_reference, signal_reference_node,
"validity", map_builder);
element::RoadInfoSignal * AddSignal(Road *road, const SignId signal_id, const double s, const double t, const std::string name, const std::string dynamic, const std::string orientation, const double zOffset, const std::string country, const std::string type, const std::string subtype, const double value, const std::string unit, const double height, const double width, const std::string text, const double hOffset, const double pitch, const double roll)