ad_map_access
BorderOperation.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 "ad/map/lane/Types.hpp"
19 
21 namespace ad {
23 namespace map {
25 namespace lane {
26 
37 point::ENUEdge getLateralAlignmentEdge(ENUBorder const &border, physics::ParametricValue const lateralAlignment);
38 
47 physics::Distance getDistanceEnuPointToLateralAlignmentEdge(point::ENUPoint const &enuPoint,
48  point::ENUEdge const &lateralAlignmentEdge);
49 
63 void normalizeBorder(ENUBorder &border, ENUBorder const *previousBorder = nullptr);
64 
79 
89 void makeTransitionToSecondBorderContinuous(ENUBorder const &first, ENUBorder &second);
90 
105 
115 void makeTransitionFromFirstBorderContinuous(ENUBorder &first, ENUBorder const &second);
116 
122 inline physics::Distance calcLength(ENUBorder const &border)
123 {
124  return (calcLength(border.left) + calcLength(border.right)) / 2.;
125 }
131 inline physics::Distance calcLength(ECEFBorder const &border)
132 {
133  return (calcLength(border.left) + calcLength(border.right)) / 2.;
134 }
135 
141 inline physics::Distance calcLength(GeoBorder const &border)
142 {
143  return (calcLength(border.left) + calcLength(border.right)) / 2.;
144 }
145 
151 physics::Distance calcLength(ENUBorderList const &borderList);
152 
158 physics::Distance calcLength(ECEFBorderList const &borderList);
159 
165 physics::Distance calcLength(GeoBorderList const &borderList);
166 
172 point::ENUHeading getENUHeading(ENUBorderList const &borderList, point::ENUPoint const &enuPoint);
173 
174 } // namespace lane
175 } // namespace map
176 } // namespace ad
ad
namespace ad
Definition: GeometryStoreItem.hpp:28
ad::map::lane::getENUHeading
point::ENUHeading getENUHeading(ENUBorderList const &borderList, point::ENUPoint const &enuPoint)
calculate the ENUHeading of the vector<ENUBorder> at the given ENUPoint
ad::map::lane::makeTransitionFromFirstBorderContinuous
void makeTransitionFromFirstBorderContinuous(ENUBorder &first, ENUBorder const &second)
operation to make the transition between two borders continuous
HeadingOperation.hpp
ad::map::lane::GeoBorder::left
::ad::map::point::GeoEdge left
Definition: GeoBorder.hpp:121
ad::map::lane::ECEFBorder
DataType ECEFBorder.
Definition: ECEFBorder.hpp:44
ad::map::lane::ENUBorder::left
::ad::map::point::ENUEdge left
Definition: ENUBorder.hpp:121
ad::map::lane::getLateralAlignmentEdge
point::ENUEdge getLateralAlignmentEdge(ENUBorder const &border, physics::ParametricValue const lateralAlignment)
Get the ENUEdge between the given border with corresponding lateralAlignment.
GeoOperation.hpp
ECEFOperation.hpp
ad::map::lane::makeTransitionToSecondEdgeContinuous
void makeTransitionToSecondEdgeContinuous(point::ENUEdge const &first, point::ENUEdge &second)
operation to make the transition between two edges continuous
ad::map::lane::GeoBorderList
std::vector<::ad::map::lane::GeoBorder > GeoBorderList
DataType GeoBorderList.
Definition: GeoBorderList.hpp:44
ad::map::lane::ENUBorderList
std::vector<::ad::map::lane::ENUBorder > ENUBorderList
DataType ENUBorderList.
Definition: ENUBorderList.hpp:44
ad::map::point::ENUPoint
DataType ENUPoint.
Definition: ENUPoint.hpp:51
ad::map::lane::normalizeBorder
void normalizeBorder(ENUBorder &border, ENUBorder const *previousBorder=nullptr)
normalizes the border
ad::map::point::ENUHeading
DataType ENUHeading.
Definition: ENUHeading.hpp:65
ad::map::lane::makeTransitionToSecondBorderContinuous
void makeTransitionToSecondBorderContinuous(ENUBorder const &first, ENUBorder &second)
operation to make the transition between two borders continuous
ENUOperation.hpp
ad::map::lane::makeTransitionFromFirstEdgeContinuous
void makeTransitionFromFirstEdgeContinuous(point::ENUEdge &first, point::ENUEdge const &second)
operation to make the transition between two edges continuous
ad::map::lane::getDistanceEnuPointToLateralAlignmentEdge
physics::Distance getDistanceEnuPointToLateralAlignmentEdge(point::ENUPoint const &enuPoint, point::ENUEdge const &lateralAlignmentEdge)
Get the distance between an ENU point and the lateral alignment edge.
ad::map::lane::ECEFBorder::right
::ad::map::point::ECEFEdge right
Definition: ECEFBorder.hpp:126
ad::map::lane::ECEFBorderList
std::vector<::ad::map::lane::ECEFBorder > ECEFBorderList
DataType ECEFBorderList.
Definition: ECEFBorderList.hpp:44
ad::map::lane::ECEFBorder::left
::ad::map::point::ECEFEdge left
Definition: ECEFBorder.hpp:121
Types.hpp
ad::map::lane::calcLength
physics::Distance calcLength(ENUBorder const &border)
calculate the length of the provided border as distance value
Definition: BorderOperation.hpp:122
ad::map::lane::GeoBorder
DataType GeoBorder.
Definition: GeoBorder.hpp:44
ad::map::lane::ENUBorder::right
::ad::map::point::ENUEdge right
Definition: ENUBorder.hpp:126
ad::map::lane::GeoBorder::right
::ad::map::point::GeoEdge right
Definition: GeoBorder.hpp:126
ad::map::lane::ENUBorder
DataType ENUBorder.
Definition: ENUBorder.hpp:44
ad::map::point::ENUEdge
std::vector<::ad::map::point::ENUPoint > ENUEdge
DataType ENUEdge.
Definition: ENUEdge.hpp:42