24 ::ad::map::lane::LaneIdSet
const &mapAreaLanes)
25 : mEgoVehicleData(egoVehicleData)
26 , mRssRoute(rss_route)
27 , mWorldModelCreation(time_index, mEgoVehicleData.mRssObjectData.rss_dynamics, connecting_routes_cache)
28 , mMapAreaLanes(mapAreaLanes)
31 auto egoVehicleAdapter = mEgoVehicleData.getAdapter();
32 if (!
bool(egoVehicleAdapter))
34 throw std::runtime_error(
"RssRouteChecker::ParallelWorldModelCreator>> ego_vehicle adapter invalid");
37 egoVehicleAdapter->getMinimumDistanceToObjectsThatHaveToBeAnalyzed());
39 mGreenTrafficLightsOnRoute = egoVehicleAdapter->getGreenTrafficLightsOnRoute(mRssRoute.
route);
40 auto const roadBoundariesMode = egoVehicleAdapter->getRoadBoundariesMode(mRssRoute.
route);
44 egoObjectData.
rss_dynamics.alpha_lat.accel_max = ::ad::physics::Acceleration(0.);
45 egoObjectData.
rss_dynamics.lateral_fluctuation_margin = ::ad::physics::Distance(0.);
55 if (pedestrianToProcess.second.mActive)
57 auto egoVehicleAdapter = mEgoVehicleData.getAdapter();
58 if (!
bool(egoVehicleAdapter))
60 throw std::runtime_error(
"RssRouteChecker::ParallelWorldModelCreator>> ego_vehicle adapter invalid");
62 auto pedestrianAdapter = pedestrianToProcess.second.getAdapter();
63 if (!
bool(pedestrianAdapter))
65 throw std::runtime_error(
"RssRouteChecker::ParallelWorldModelCreator>> pedestrian adapter invalid");
69 auto rssConstellationResult = egoVehicleAdapter->getPedestrianConstellationOnRoute(
70 mRssRoute, egoObjectData, pedestrianAdapter, pedestrianData);
71 egoObjectData.
rss_dynamics = rssConstellationResult.ego_vehicle_dynamics;
72 pedestrianData.
rss_dynamics = rssConstellationResult.object_dynamics;
77 rssConstellationResult.restrict_speed_limit_mode,
78 mGreenTrafficLightsOnRoute,
79 rssConstellationResult.constellation_creation_mode,
87 if (artificialObjectToProcess.second.mActive)
89 auto egoVehicleAdapter = mEgoVehicleData.getAdapter();
90 if (!
bool(egoVehicleAdapter))
92 throw std::runtime_error(
"RssRouteChecker::ParallelWorldModelCreator>> ego_vehicle adapter invalid");
94 auto artificialObjectAdapter = artificialObjectToProcess.second.getAdapter();
95 if (!
bool(artificialObjectAdapter))
97 throw std::runtime_error(
"RssRouteChecker::ParallelWorldModelCreator>> artificialObject adapter invalid");
101 auto rssConstellationResult = egoVehicleAdapter->getArtificialObjectConstellationOnRoute(
102 mRssRoute, egoObjectData, artificialObjectAdapter, artificialObjectData);
103 egoObjectData.
rss_dynamics = rssConstellationResult.ego_vehicle_dynamics;
104 artificialObjectData.
rss_dynamics = rssConstellationResult.object_dynamics;
108 artificialObjectData,
109 rssConstellationResult.restrict_speed_limit_mode,
110 mGreenTrafficLightsOnRoute,
111 rssConstellationResult.constellation_creation_mode,
118 if (vehicleToProcess.second.mActive)
120 process(vehicleToProcess.second);
126 if ((vehicleToProcess.second.mActive)
127 && (vehicleToProcess.second.mRssObjectData.id != mEgoVehicleData.mRssObjectData.id))
129 process(vehicleToProcess.second);
135 auto egoVehicleAdapter = mEgoVehicleData.getAdapter();
136 if (!
bool(egoVehicleAdapter))
138 throw std::runtime_error(
"RssRouteChecker::ParallelWorldModelCreator>> ego_vehicle adapter invalid");
140 auto vehicleAdapter = vehicleToProcess.
getAdapter();
141 if (!
bool(vehicleAdapter))
143 throw std::runtime_error(
"RssRouteChecker::ParallelWorldModelCreator>> vehicle adapter invalid");
147 if (vehicleData.
type == ::ad::rss::world::ObjectType::EgoVehicle)
149 vehicleData.
type = ::ad::rss::world::ObjectType::OtherVehicle;
151 auto rssConstellationResult
152 = egoVehicleAdapter->getVehicleConstellationOnRoute(mRssRoute, egoObjectData, vehicleAdapter, vehicleData);
153 egoObjectData.
rss_dynamics = rssConstellationResult.ego_vehicle_dynamics;
154 vehicleData.
rss_dynamics = rssConstellationResult.object_dynamics;
156 if ((mEgoVehicleData.mRouteExtensionMode
165 rssConstellationResult.restrict_speed_limit_mode,
166 mGreenTrafficLightsOnRoute,
167 rssConstellationResult.constellation_creation_mode,
168 mEgoVehicleData.mRoutes,
177 rssConstellationResult.restrict_speed_limit_mode,
178 mGreenTrafficLightsOnRoute,
179 rssConstellationResult.constellation_creation_mode,
184 ::ad::rss::world::WorldModel getWorldModel()
194 ::ad::map::landmark::LandmarkIdSet mGreenTrafficLightsOnRoute;
195 ::ad::map::lane::LaneIdSet
const &mMapAreaLanes;
namespace ad
Definition: RouteAccelerations.hpp:33