siderust-cpp
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>
14inline cartesian::Position<centers::Geocentric, frames::ECEF, U>
16 siderust_cartesian_pos_t out;
18 siderust_geodetic_to_cartesian_ecef(to_c(), &out),
19 "Geodetic::to_cartesian");
22 ecef_m.x().template to<U>(),
23 ecef_m.y().template to<U>(),
24 ecef_m.z().template to<U>());
25}
26
33 return geo.to_cartesian<qtty::Meter>();
34}
35
36} // 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:81
Geodetic position (WGS84 ellipsoid).
Definition geodetic.hpp:28
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:45
A 3D Cartesian position, compile-time tagged by center, frame, unit.
Definition cartesian.hpp:53
static Position from_c(const siderust_cartesian_pos_t &c)
Create from C FFI struct (ignoring runtime frame/center - trust the type).
Definition cartesian.hpp:84
Common coordinate aliases (umbrella).