12template <
typename Scalar>
18 [[nodiscard]] Vec3<Scalar>
19 to_parent(
const Vec3<Scalar> &v_ned)
const override {
20 return frame_.to_ecef(v_ned);
23 [[nodiscard]] Vec3<Scalar>
25 return frame_.from_ecef(v_ecef);
28 [[nodiscard]] Vec3<Scalar>
30 return frame_.position_to_ecef(pos_ned);
33 [[nodiscard]] Vec3<Scalar>
35 return frame_.position_from_ecef(pos_ecef);
46template <
typename Scalar>
52 [[nodiscard]] Vec3<Scalar>
53 to_parent(
const Vec3<Scalar> &v_enu)
const override {
54 return frame_.to_ecef(v_enu);
57 [[nodiscard]] Vec3<Scalar>
59 return frame_.from_ecef(v_ecef);
62 [[nodiscard]] Vec3<Scalar>
64 return frame_.position_to_ecef(pos_enu);
67 [[nodiscard]] Vec3<Scalar>
69 return frame_.position_from_ecef(pos_ecef);
80template <
typename Scalar>
86 [[nodiscard]] Vec3<Scalar>
87 to_parent(
const Vec3<Scalar> &v_local)
const override {
88 return frame_.to_ecef(v_local);
91 [[nodiscard]] Vec3<Scalar>
93 return frame_.from_ecef(v_ecef);
96 [[nodiscard]] Vec3<Scalar>
98 return frame_.position_to_ecef(pos_local);
101 [[nodiscard]] Vec3<Scalar>
103 return frame_.position_from_ecef(pos_ecef);
114template <
typename Scalar>
119 : frame_(
local_rail(origin, azimuth, elevation, m)) {}
121 [[nodiscard]] Vec3<Scalar>
123 return frame_.to_ecef(v_local);
126 [[nodiscard]] Vec3<Scalar>
128 return frame_.from_ecef(v_ecef);
131 [[nodiscard]] Vec3<Scalar>
133 return frame_.position_to_ecef(pos_local);
136 [[nodiscard]] Vec3<Scalar>
138 return frame_.position_from_ecef(pos_ecef);
149template <
typename Scalar>
154 : frame_(
local_cda(origin, bearing, m)) {}
156 [[nodiscard]] Vec3<Scalar>
158 return frame_.to_ecef(v_local);
161 [[nodiscard]] Vec3<Scalar>
163 return frame_.from_ecef(v_ecef);
166 [[nodiscard]] Vec3<Scalar>
168 return frame_.position_to_ecef(pos_local);
171 [[nodiscard]] Vec3<Scalar>
173 return frame_.position_from_ecef(pos_ecef);
Vec3< Scalar > to_parent(const Vec3< Scalar > &v_local) const override
Definition EarthProviders.hpp:157
const CoordinateFrame< Scalar > & frame() const
Definition EarthProviders.hpp:176
Vec3< Scalar > position_from_parent(const Vec3< Scalar > &pos_ecef) const override
Definition EarthProviders.hpp:172
Vec3< Scalar > from_parent(const Vec3< Scalar > &v_ecef) const override
Definition EarthProviders.hpp:162
Vec3< Scalar > position_to_parent(const Vec3< Scalar > &pos_local) const override
Definition EarthProviders.hpp:167
CDAProvider(const LLA< Scalar > &origin, Scalar bearing, const EarthModel &m=EarthModel::WGS84())
Definition EarthProviders.hpp:152
Vec3< Scalar > from_parent(const Vec3< Scalar > &v_ecef) const override
Definition EarthProviders.hpp:58
const CoordinateFrame< Scalar > & frame() const
Definition EarthProviders.hpp:72
Vec3< Scalar > position_from_parent(const Vec3< Scalar > &pos_ecef) const override
Definition EarthProviders.hpp:68
Vec3< Scalar > position_to_parent(const Vec3< Scalar > &pos_enu) const override
Definition EarthProviders.hpp:63
Vec3< Scalar > to_parent(const Vec3< Scalar > &v_enu) const override
Definition EarthProviders.hpp:53
ENUProvider(Scalar lon, Scalar lat)
Definition EarthProviders.hpp:49
const CoordinateFrame< Scalar > & frame() const
Definition EarthProviders.hpp:106
Vec3< Scalar > position_from_parent(const Vec3< Scalar > &pos_ecef) const override
Definition EarthProviders.hpp:102
GeocentricProvider(Scalar lon, Scalar lat_gc)
Definition EarthProviders.hpp:83
Vec3< Scalar > from_parent(const Vec3< Scalar > &v_ecef) const override
Definition EarthProviders.hpp:92
Vec3< Scalar > position_to_parent(const Vec3< Scalar > &pos_local) const override
Definition EarthProviders.hpp:97
Vec3< Scalar > to_parent(const Vec3< Scalar > &v_local) const override
Definition EarthProviders.hpp:87
const CoordinateFrame< Scalar > & frame() const
Definition EarthProviders.hpp:38
Vec3< Scalar > position_from_parent(const Vec3< Scalar > &pos_ecef) const override
Definition EarthProviders.hpp:34
Vec3< Scalar > position_to_parent(const Vec3< Scalar > &pos_ned) const override
Definition EarthProviders.hpp:29
Vec3< Scalar > to_parent(const Vec3< Scalar > &v_ned) const override
Definition EarthProviders.hpp:19
NEDProvider(Scalar lon, Scalar lat)
Definition EarthProviders.hpp:15
Vec3< Scalar > from_parent(const Vec3< Scalar > &v_ecef) const override
Definition EarthProviders.hpp:24
Vec3< Scalar > to_parent(const Vec3< Scalar > &v_local) const override
Definition EarthProviders.hpp:122
RailProvider(const LLA< Scalar > &origin, Scalar azimuth, Scalar elevation, const EarthModel &m=EarthModel::WGS84())
Definition EarthProviders.hpp:117
Vec3< Scalar > position_to_parent(const Vec3< Scalar > &pos_local) const override
Definition EarthProviders.hpp:132
Vec3< Scalar > position_from_parent(const Vec3< Scalar > &pos_ecef) const override
Definition EarthProviders.hpp:137
Vec3< Scalar > from_parent(const Vec3< Scalar > &v_ecef) const override
Definition EarthProviders.hpp:127
const CoordinateFrame< Scalar > & frame() const
Definition EarthProviders.hpp:141
Definition Aerodynamics.hpp:11
CoordinateFrame< Scalar > local_geocentric(Scalar lon, Scalar lat_gc)
Definition FrameLocal.hpp:75
CoordinateFrame< Scalar > local_rail(const LLA< Scalar > &lla_origin, const Scalar &azimuth, const Scalar &elevation, const EarthModel &m=EarthModel::WGS84())
Definition FrameLocal.hpp:171
CoordinateFrame< Scalar > local_cda(const LLA< Scalar > &lla_origin, const Scalar &bearing, const EarthModel &m=EarthModel::WGS84())
Definition FrameLocal.hpp:258
Definition FramePrimitives.hpp:44
Definition EarthModel.hpp:27
static constexpr EarthModel WGS84()
WGS84 reference ellipsoid (most common for GPS/navigation).
Definition EarthModel.hpp:45
Definition Geodetic.hpp:27