ad_map_access
Transform.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 
16 #include "ad/map/point/Types.hpp"
17 
19 namespace ad {
21 namespace map {
23 namespace point {
24 
28 inline ECEFPoint toECEF(GeoPoint const &point)
29 {
30  return access::getCoordinateTransform()->Geo2ECEF(point);
31 }
32 
39 inline ECEFPoint toECEF(ENUPoint const &point)
40 {
41  return access::getCoordinateTransform()->ENU2ECEF(point);
42 }
43 
49 ECEFPoint toECEF(ENUPoint const &point, GeoPoint const &enuReferencePoint);
50 
54 inline GeoPoint toGeo(ECEFPoint const &point)
55 {
56  return access::getCoordinateTransform()->ECEF2Geo(point);
57 }
58 
65 inline GeoPoint toGeo(ENUPoint const &point)
66 {
67  return access::getCoordinateTransform()->ENU2Geo(point);
68 }
69 
75 GeoPoint toGeo(ENUPoint const &point, GeoPoint const &enuReferencePoint);
76 
83 inline ENUPoint toENU(ECEFPoint const &point)
84 {
85  return access::getCoordinateTransform()->ECEF2ENU(point);
86 }
87 
94 inline ENUPoint toENU(GeoPoint const &point)
95 {
96  return access::getCoordinateTransform()->Geo2ENU(point);
97 }
98 
104 ENUPoint toENU(ECEFPoint const &point, GeoPoint const &enuReferencePoint);
105 
111 ENUPoint toENU(GeoPoint const &point, GeoPoint const &enuReferencePoint);
112 
116 inline ECEFEdge toECEF(GeoEdge const &edge)
117 {
118  ECEFEdge resultEdge;
119  access::getCoordinateTransform()->convert(edge, resultEdge);
120  return resultEdge;
121 }
122 
129 inline ECEFEdge toECEF(ENUEdge const &edge)
130 {
131  ECEFEdge resultEdge;
132  access::getCoordinateTransform()->convert(edge, resultEdge);
133  return resultEdge;
134 }
135 
141 ECEFEdge toECEF(ENUEdge const &edge, GeoPoint const &enuReferencePoint);
142 
146 inline GeoEdge toGeo(ECEFEdge const &edge)
147 {
148  GeoEdge resultEdge;
149  access::getCoordinateTransform()->convert(edge, resultEdge);
150  return resultEdge;
151 }
152 
159 inline GeoEdge toGeo(ENUEdge const &edge)
160 {
161  GeoEdge resultEdge;
162  access::getCoordinateTransform()->convert(edge, resultEdge);
163  return resultEdge;
164 }
165 
171 GeoEdge toGeo(ENUEdge const &edge, GeoPoint const &enuReferencePoint);
172 
179 inline ENUEdge toENU(ECEFEdge const &edge)
180 {
181  ENUEdge resultEdge;
182  access::getCoordinateTransform()->convert(edge, resultEdge);
183  return resultEdge;
184 }
185 
192 inline ENUEdge toENU(GeoEdge const &edge)
193 {
194  ENUEdge resultEdge;
195  access::getCoordinateTransform()->convert(edge, resultEdge);
196  return resultEdge;
197 }
198 
204 ENUEdge toENU(ECEFEdge const &edge, GeoPoint const &enuReferencePoint);
205 
211 ENUEdge toENU(GeoEdge const &edge, GeoPoint const &enuReferencePoint);
212 
213 } // namespace point
214 } // namespace map
215 } // namespace ad
ad
namespace ad
Definition: GeometryStoreItem.hpp:28
ad::map::access::getCoordinateTransform
std::shared_ptr< point::CoordinateTransform > getCoordinateTransform()
get the coordinate transformation object
Operation.hpp
CoordinateTransform.hpp
ad::map::point::toECEF
ECEFPoint toECEF(GeoPoint const &point)
perform coordinate transformation from GeoPoint to ECEFPoint
Definition: Transform.hpp:28
ad::map::point::GeoPoint
DataType GeoPoint.
Definition: GeoPoint.hpp:47
ad::map::point::toGeo
GeoPoint toGeo(ECEFPoint const &point)
perform coordinate transformation from ECEFPoint to GeoPoint
Definition: Transform.hpp:54
ad::map::point::ENUPoint
DataType ENUPoint.
Definition: ENUPoint.hpp:51
Types.hpp
ad::map::point::toENU
ENUPoint toENU(ECEFPoint const &point)
perform coordinate transformation from ECEFPoint to ENUPoint
Definition: Transform.hpp:83
ad::map::point::GeoEdge
std::vector<::ad::map::point::GeoPoint > GeoEdge
DataType GeoEdge.
Definition: GeoEdge.hpp:42
ad::map::point::ECEFPoint
DataType ECEFPoint.
Definition: ECEFPoint.hpp:45
ad::map::point::ECEFEdge
std::vector<::ad::map::point::ECEFPoint > ECEFEdge
DataType ECEFEdge.
Definition: ECEFEdge.hpp:42
ad::map::point::ENUEdge
std::vector<::ad::map::point::ENUPoint > ENUEdge
DataType ENUEdge.
Definition: ENUEdge.hpp:42