siderust-cpp 0.8.0
Header-only C++ wrapper for siderust
Loading...
Searching...
No Matches
conversions.hpp
Go to the documentation of this file.
1#pragma once
2
9#include "types.hpp"
10
11namespace siderust {
12
13template <typename U>
15 siderust_cartesian_pos_t out;
16 check_status(siderust_geodetic_to_cartesian_ecef(to_c(), &out), "Geodetic::to_cartesian");
19 ecef_m.x().template to<U>(), ecef_m.y().template to<U>(), ecef_m.z().template to<U>());
20}
21
28 return geo.to_cartesian<qtty::Meter>();
29}
30
31} // namespace siderust
cartesian::position::ECEF< qtty::Meter > geodetic_to_cartesian_ecef(const Geodetic &geo)
Convert a Geodetic (WGS84) to ECEF Cartesian position.
void check_status(siderust_status_t status, const char *operation)
Definition ffi_core.hpp:111
Geodetic position (WGS84 ellipsoid).
Definition geodetic.hpp:29
cartesian::Position< centers::Geocentric, frames::ECEF, U > to_cartesian() const
Convert geodetic (WGS84/ECEF) to cartesian position.
siderust_geodetic_t to_c() const
Convert to C FFI struct.
Definition geodetic.hpp:44
A 3D Cartesian position, compile-time tagged by center, frame, unit.
static Position from_c(const siderust_cartesian_pos_t &c)
Create from C FFI struct (ignoring runtime frame/center - trust the type).
Common coordinate aliases (umbrella).