14 #include <ad/map/geometry/PolygonOperation.hpp>
15 #include <ad/map/intersection/Intersection.hpp>
16 #include <ad/map/route/FullRoute.hpp>
17 #include <ad/rss/structured/RssFormulas.hpp>
18 #include <ad/rss/world/WorldModel.hpp>
55 ::ad::map::landmark::LandmarkIdSet
const &greenTrafficLights,
97 world::ConstellationType
const &constellation_type,
112 world::ConstellationType
const &constellation_type,
129 ::ad::map::route::FullRoute
const &egoRoute,
130 ::ad::map::route::FullRoute
const &objectRoute,
131 ::ad::map::route::FullRoute
const &intersectionOtherRoute,
152 explicit Route(::ad::map::route::FullRoute
const &route_in)
154 , min_lane_offset(route_in.min_lane_offset)
155 , max_lane_offset(route_in.max_lane_offset)
158 Route(::ad::map::route::FullRoute
const &route_in,
159 ::ad::map::point::ENUHeading
const &route_heading_start_in,
160 ::ad::map::point::ENUHeading
const &route_heading_end_in)
162 , min_lane_offset(route_in.min_lane_offset)
163 , max_lane_offset(route_in.max_lane_offset)
164 , route_heading_available(true)
165 , route_heading_start(route_heading_start_in)
166 , route_heading_end(route_heading_end_in)
169 Route(::ad::map::route::FullRoute
const &route_in,
170 ::ad::map::route::RouteLaneOffset
const min_lane_offset_in,
171 ::ad::map::route::RouteLaneOffset
const max_lane_offset_in,
172 ::ad::map::point::ENUHeading
const &route_heading_start_in,
173 ::ad::map::point::ENUHeading
const &route_heading_end_in)
175 , min_lane_offset(min_lane_offset_in)
176 , max_lane_offset(max_lane_offset_in)
177 , route_heading_available(true)
178 , route_heading_start(route_heading_start_in)
179 , route_heading_end(route_heading_end_in)
182 ::ad::map::route::FullRoute
const &route;
183 ::ad::map::route::RouteLaneOffset
const min_lane_offset;
184 ::ad::map::route::RouteLaneOffset
const max_lane_offset;
185 bool route_heading_available{
false};
186 ::ad::map::point::ENUHeading
const route_heading_start;
187 ::ad::map::point::ENUHeading
const route_heading_end;
201 bool createRoadArea(Route
const &route,
202 ::ad::map::lane::LaneIdSet
const &intersectionLanes,
203 std::vector<RssObjectConversion::Ptr> objects,
204 world::RoadArea &roadArea,
205 std::vector<ad::map::route::RoadSegment> *intersectingArea =
nullptr);
216 bool createNonIntersectionRoadArea(::ad::map::route::FullRoute
const &route,
217 ::ad::map::point::ENUHeading
const &route_heading_start,
218 ::ad::map::point::ENUHeading
const &route_heading_end,
219 std::vector<RssObjectConversion::Ptr> objects,
220 world::RoadArea &roadArea);
231 bool createMergingRoadArea(::ad::map::route::FullRoute
const &route,
232 ::ad::map::point::ENUHeading
const &route_heading_start,
233 ::ad::map::point::ENUHeading
const &route_heading_end,
235 world::RoadArea &roadArea);
247 bool createIntersectionRoadArea(::ad::map::route::FullRoute
const &route,
248 ::ad::map::intersection::IntersectionConstPtr intersection,
250 world::RoadArea &roadArea,
251 std::vector<ad::map::route::RoadSegment> &intersectingArea);
262 bool appendConstellation(world::ConstellationType
const &constellation_type,
264 world::RoadArea
const &egoRoad,
266 world::RoadArea
const &intersecting_road);
276 void extractLaneIntervalsAndPolygon(std::vector<ad::map::route::RoadSegment>
const &intersectionArea,
277 std::vector<ad::map::route::LaneInterval> &intersectionLaneIntervals,
278 ::ad::geometry::Polygon &polygon);
290 bool updateExactIntersectionArea(world::RoadArea &roadArea,
291 std::vector<ad::map::route::LaneInterval>
const &originalLaneIntervals,
292 ad::map::match::LaneOccupiedRegionList
const &exactIntersectingRegions);
308 bool updateExactIntersectionArea(world::RoadArea &roadAreaA,
309 std::vector<ad::map::route::RoadSegment>
const &intersectionAreaA,
310 world::RoadArea &roadAreaB,
311 std::vector<ad::map::route::RoadSegment>
const &intersectionAreaB);
313 double mSpeedLimitFactor;
314 ::ad::map::landmark::LandmarkIdSet mGreenTrafficLights;
315 RssWorldModelCreation &mWorldModelCreation;
namespace ad
Definition: RouteAccelerations.hpp:33