ad_map_access
LandmarkValidInputRange.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: MIT
7  *
8  * ----------------- END LICENSE BLOCK -----------------------------------
9  */
10 
18 #pragma once
19 
20 #include <cmath>
21 #include <limits>
29 #include "spdlog/fmt/ostr.h"
30 #include "spdlog/spdlog.h"
31 
42 inline bool withinValidInputRange(::ad::map::landmark::Landmark const &input, bool const logErrors = true)
43 {
44  // check for generic member input ranges
45  bool inValidInputRange = true;
46  inValidInputRange = withinValidInputRange(input.id, logErrors) && withinValidInputRange(input.type, logErrors)
47  && withinValidInputRange(input.position, logErrors) && withinValidInputRange(input.orientation, logErrors)
48  && withinValidInputRange(input.boundingBox, logErrors) && withinValidInputRange(input.trafficLightType, logErrors)
49  && withinValidInputRange(input.trafficSignType, logErrors);
50  if (!inValidInputRange && logErrors)
51  {
52  spdlog::error("withinValidInputRange(::ad::map::landmark::Landmark)>> {} has invalid member",
53  input); // LCOV_EXCL_BR_LINE
54  }
55 
56  return inValidInputRange;
57 }
ad::map::landmark::Landmark::type
::ad::map::landmark::LandmarkType type
Definition: Landmark.hpp:136
ad::map::landmark::Landmark
DataType Landmark.
Definition: Landmark.hpp:51
Landmark.hpp
ad::map::landmark::Landmark::trafficLightType
::ad::map::landmark::TrafficLightType trafficLightType
Definition: Landmark.hpp:157
ad::map::landmark::Landmark::orientation
::ad::map::point::ECEFPoint orientation
Definition: Landmark.hpp:146
LandmarkTypeValidInputRange.hpp
ad::map::landmark::Landmark::trafficSignType
::ad::map::landmark::TrafficSignType trafficSignType
Definition: Landmark.hpp:162
TrafficSignTypeValidInputRange.hpp
withinValidInputRange
bool withinValidInputRange(::ad::map::landmark::Landmark const &input, bool const logErrors=true)
check if the given Landmark is within valid input range
Definition: LandmarkValidInputRange.hpp:42
ECEFPointValidInputRange.hpp
LandmarkIdValidInputRange.hpp
TrafficLightTypeValidInputRange.hpp
GeometryValidInputRange.hpp
ad::map::landmark::Landmark::position
::ad::map::point::ECEFPoint position
Definition: Landmark.hpp:141
ad::map::landmark::Landmark::id
::ad::map::landmark::LandmarkId id
Definition: Landmark.hpp:131