ad_map_access
Routing.hpp
Go to the documentation of this file.
1 // ----------------- BEGIN LICENSE BLOCK ---------------------------------
2 //
3 // Copyright (C) 2018-2021 Intel Corporation
4 //
5 // SPDX-License-Identifier: MIT
6 //
7 // ----------------- END LICENSE BLOCK -----------------------------------
12 #pragma once
13 
14 #include <set>
16 
17 /* @brief namespace ad */
18 namespace ad {
19 /* @brief namespace map */
20 namespace map {
21 /* @brief namespace route */
22 namespace route {
26 namespace planning {
27 
31 enum class RoutingDirection
32 {
33  DONT_CARE,
34  POSITIVE,
35  NEGATIVE
36 };
37 
45 {
50  bool operator==(const RoutingParaPoint &other) const
51  {
52  return (direction == other.direction) && (point == other.point);
53  }
54 
59  bool operator!=(const RoutingParaPoint &other) const
60  {
61  return !operator==(other);
62  }
63 
68  bool operator<(const RoutingParaPoint &other) const
69  {
70  if (direction == other.direction)
71  {
72  return point < other.point;
73  }
74  return direction < other.direction;
75  }
76 
77  point::ParaPoint point;
79 };
80 
90  physics::ParametricValue const &parametricOffset,
91  RoutingDirection const &routingDirection = RoutingDirection::DONT_CARE)
92 {
93  RoutingParaPoint routingPoint;
94  routingPoint.point.laneId = laneId;
95  routingPoint.point.parametricOffset = parametricOffset;
96  routingPoint.direction = routingDirection;
97  return routingPoint;
98 }
99 
100 } // namespace planning
101 } // namespace route
102 } // namespace map
103 } // namespace ad
ad
namespace ad
Definition: GeometryStoreItem.hpp:28
ad::map::route::planning::RoutingParaPoint::operator==
bool operator==(const RoutingParaPoint &other) const
Standard comparison operator.
Definition: Routing.hpp:50
ad::map::route::planning::createRoutingParaPoint
RoutingParaPoint createRoutingParaPoint(lane::LaneId const &laneId, physics::ParametricValue const &parametricOffset, RoutingDirection const &routingDirection=RoutingDirection::DONT_CARE)
create a RoutingParaPoint
Definition: Routing.hpp:89
ad::map::point::ParaPoint
DataType ParaPoint.
Definition: ParaPoint.hpp:48
ad::map::route::planning::RoutingParaPoint::operator!=
bool operator!=(const RoutingParaPoint &other) const
Standard comparison operator.
Definition: Routing.hpp:59
ad::map::route::planning::RoutingDirection::DONT_CARE
@ DONT_CARE
Vehicle direction is not relevant.
ad::map::route::planning::RoutingDirection::NEGATIVE
@ NEGATIVE
Vehicle direction is opposite of Lane orientation.
ad::map::lane::LaneId
DataType LaneId.
Definition: LaneId.hpp:66
ad::map::route::planning::RoutingDirection
RoutingDirection
direction at the para point in respect to the lane orientation
Definition: Routing.hpp:31
ad::map::route::planning::RoutingDirection::POSITIVE
@ POSITIVE
Vehicle direction is same as Lane orientation.
ad::map::route::planning::RoutingParaPoint
routing para point
Definition: Routing.hpp:44
ad::map::point::ParaPoint::parametricOffset
::ad::physics::ParametricValue parametricOffset
Definition: ParaPoint.hpp:136
ParaPointOperation.hpp
ad::map::route::planning::RoutingParaPoint::operator<
bool operator<(const RoutingParaPoint &other) const
Standard comparison operator.
Definition: Routing.hpp:68
ad::map::point::ParaPoint::laneId
::ad::map::lane::LaneId laneId
Definition: ParaPoint.hpp:125