ad_rss
SceneValidInputRange.hpp
Go to the documentation of this file.
1 /*
2  * ----------------- BEGIN LICENSE BLOCK ---------------------------------
3  *
4  * Copyright (C) 2018-2020 Intel Corporation
5  *
6  * SPDX-License-Identifier: LGPL-2.1-only
7  *
8  * ----------------- END LICENSE BLOCK -----------------------------------
9  */
10 
18 #pragma once
19 
20 #include <cmath>
21 #include <limits>
26 #include "ad/rss/world/Scene.hpp"
27 #include "spdlog/fmt/ostr.h"
28 #include "spdlog/spdlog.h"
29 
40 inline bool withinValidInputRange(::ad::rss::world::Scene const &input, bool const logErrors = true)
41 {
42  // check for generic member input ranges
43  bool inValidInputRange = true;
44  inValidInputRange = withinValidInputRange(input.situationType, logErrors)
45  && withinValidInputRange(input.egoVehicle, logErrors)
46  && withinValidInputRange(input.egoVehicleRssDynamics, logErrors) && withinValidInputRange(input.object, logErrors)
47  && withinValidInputRange(input.objectRssDynamics, logErrors)
48  && withinValidInputRange(input.intersectingRoad, logErrors)
49  && withinValidInputRange(input.egoVehicleRoad, logErrors);
50  if (!inValidInputRange && logErrors)
51  {
52  spdlog::error("withinValidInputRange(::ad::rss::world::Scene)>> {} has invalid member", input); // LCOV_EXCL_BR_LINE
53  }
54 
55  return inValidInputRange;
56 }
ad::rss::world::Scene::egoVehicleRoad
::ad::rss::world::RoadArea egoVehicleRoad
Definition: Scene.hpp:164
ad::rss::world::Scene::objectRssDynamics
::ad::rss::world::RssDynamics objectRssDynamics
Definition: Scene.hpp:151
ObjectValidInputRange.hpp
ad::rss::world::Scene::egoVehicleRssDynamics
::ad::rss::world::RssDynamics egoVehicleRssDynamics
Definition: Scene.hpp:140
ad::rss::world::Scene
DataType Scene.
Definition: Scene.hpp:48
RssDynamicsValidInputRange.hpp
ad::rss::world::Scene::egoVehicle
::ad::rss::world::Object egoVehicle
Definition: Scene.hpp:133
ad::rss::world::Scene::intersectingRoad
::ad::rss::world::RoadArea intersectingRoad
Definition: Scene.hpp:158
ad::rss::world::Scene::object
::ad::rss::world::Object object
Definition: Scene.hpp:145
withinValidInputRange
bool withinValidInputRange(::ad::rss::world::Scene const &input, bool const logErrors=true)
check if the given Scene is within valid input range
Definition: SceneValidInputRange.hpp:40
SituationTypeValidInputRange.hpp
Scene.hpp
ad::rss::world::Scene::situationType
::ad::rss::situation::SituationType situationType
Definition: Scene.hpp:128
RoadAreaValidInputRange.hpp