Go to the documentation of this file.
20 #include "ad/physics/Angle.hpp"
21 #include "ad/physics/Distance.hpp"
48 ECEFHeading
createECEFHeading(ENUHeading
const &yaw, GeoPoint
const &enuReferencePoint);
95 ENUHeading
createENUHeading(ECEFHeading
const &ecefHeading, GeoPoint
const &enuReferencePoint);
108 ENUHeading
createENUHeading(ECEFHeading
const &ecefHeading, ECEFPoint
const &enuReferencePoint);
136 directionalVector.
x =
ENUCoordinate(std::cos(
static_cast<double>(heading)));
137 directionalVector.
y =
ENUCoordinate(std::sin(
static_cast<double>(heading)));
139 return directionalVector;
152 orthogonalVector.
x =
ENUCoordinate(-std::sin(
static_cast<double>(heading)));
153 orthogonalVector.
y =
ENUCoordinate(std::cos(
static_cast<double>(heading)));
155 return orthogonalVector;
173 orthogonalVector.
x = -directionalVector.
y;
174 orthogonalVector.
y = directionalVector.
x;
namespace ad
Definition: GeometryStoreItem.hpp:28
double operator*(::ad::map::point::ECEFHeading const &a, ::ad::map::point::ECEFHeading const &b)
calculate the dot product of two ECEFHeading vectors
Definition: HeadingOperation.hpp:218
ENUHeading createENUHeading(double yawAngleRadian)
create a ENUHeading from yaw angle in radians
void getDirectionVectorsZPlane(ENUHeading const &heading, ENUPoint &directionalVector, ENUPoint &orthogonalVector)
get a directional vector of the vectors heading and the orthogonal vector at once
Definition: HeadingOperation.hpp:170
double vectorDotProduct(PointType const &a, PointType const &b)
calculate the dot product of two vectors
Definition: PointOperation.hpp:54
DataType ECEFHeading.
Definition: ECEFHeading.hpp:45
PointType vectorAdd(PointType const &a, PointType const &b)
add two vectors
Definition: PointOperation.hpp:126
::ad::map::point::ENUCoordinate y
Definition: ENUPoint.hpp:133
ENUPoint getOrthogonalVectorZPlane(ENUHeading const &heading)
get a vector that is orthogonal to the vectors heading
Definition: HeadingOperation.hpp:149
PointType vectorSub(PointType const &a, PointType const &b)
subtract two vectors from each right
Definition: PointOperation.hpp:143
DataType ENUPoint.
Definition: ENUPoint.hpp:51
inline ::ad::map::point::ECEFHeading operator+(::ad::map::point::ECEFHeading const &a, ::ad::map::point::ECEFHeading const &b)
add two ECEFHeading vectors
Definition: HeadingOperation.hpp:190
::ad::map::point::ENUCoordinate z
Definition: ENUPoint.hpp:138
DataType ENUHeading.
Definition: ENUHeading.hpp:65
ENUHeading normalizeENUHeading(ENUHeading const &heading)
PointType vectorMultiplyScalar(PointType const &a, double const &b)
multiplies a vector with a scalar
Definition: PointOperation.hpp:65
inline ::ad::map::point::ECEFHeading operator-(::ad::map::point::ECEFHeading const &a, ::ad::map::point::ECEFHeading const &b)
subtract two ECEFHeading vectors from each right
Definition: HeadingOperation.hpp:204
::ad::map::point::ENUCoordinate x
Definition: ENUPoint.hpp:128
ENUPoint getDirectionalVectorZPlane(ENUHeading const &heading)
get a directional vector of the heading
Definition: HeadingOperation.hpp:133
ECEFHeading createECEFHeading(ECEFPoint const &start, ECEFPoint const &end)
create a heading in ECEF as a directional vector
DataType ENUCoordinate.
Definition: ENUCoordinate.hpp:65