siderust-cpp
Header-only C++ wrapper for siderust
Loading...
Searching...
No Matches
siderust::cartesian::Position< C, F, U > Struct Template Reference

A 3D Cartesian position, compile-time tagged by center, frame, unit. More...

#include <siderust/coordinates/cartesian.hpp>

Public Member Functions

 Position ()
 
 Position (U x_, U y_, U z_)
 
 Position (double x_, double y_, double z_)
 
x () const
 
y () const
 
z () const
 
siderust_cartesian_pos_t to_c () const
 Convert to C FFI struct.
 

Static Public Member Functions

static constexpr siderust_frame_t frame_id ()
 
static constexpr siderust_center_t center_id ()
 
static Position from_c (const siderust_cartesian_pos_t &c)
 Create from C FFI struct (ignoring runtime frame/center - trust the type).
 

Public Attributes

comp_x
 X component.
 
comp_y
 Y component.
 
comp_z
 Z component.
 

Detailed Description

template<typename C, typename F, typename U = qtty::Meter>
struct siderust::cartesian::Position< C, F, U >

A 3D Cartesian position, compile-time tagged by center, frame, unit.

Mirrors Rust's affn::cartesian::Position<C, F, U>.

Template Parameters
CReference center tag (e.g. centers::Geocentric).
FReference frame tag (e.g. frames::ECEF).
ULength unit (default: qtty::Meter).
Examples
coordinate_systems_example.cpp, and coordinates_examples.cpp.

Definition at line 53 of file cartesian.hpp.

Constructor & Destructor Documentation

◆ Position() [1/3]

template<typename C , typename F , typename U = qtty::Meter>
siderust::cartesian::Position< C, F, U >::Position ( )
inline

Definition at line 61 of file cartesian.hpp.

Referenced by siderust::cartesian::Position< C, F, U >::from_c().

◆ Position() [2/3]

template<typename C , typename F , typename U = qtty::Meter>
siderust::cartesian::Position< C, F, U >::Position ( x_,
y_,
z_ 
)
inline

Definition at line 64 of file cartesian.hpp.

◆ Position() [3/3]

template<typename C , typename F , typename U = qtty::Meter>
siderust::cartesian::Position< C, F, U >::Position ( double  x_,
double  y_,
double  z_ 
)
inline

Definition at line 67 of file cartesian.hpp.

Member Function Documentation

◆ center_id()

template<typename C , typename F , typename U = qtty::Meter>
static constexpr siderust_center_t siderust::cartesian::Position< C, F, U >::center_id ( )
inlinestaticconstexpr

Definition at line 75 of file cartesian.hpp.

Referenced by siderust::cartesian::Position< C, F, U >::to_c().

◆ frame_id()

template<typename C , typename F , typename U = qtty::Meter>
static constexpr siderust_frame_t siderust::cartesian::Position< C, F, U >::frame_id ( )
inlinestaticconstexpr

Definition at line 74 of file cartesian.hpp.

Referenced by siderust::cartesian::Position< C, F, U >::to_c().

◆ from_c()

template<typename C , typename F , typename U = qtty::Meter>
static Position siderust::cartesian::Position< C, F, U >::from_c ( const siderust_cartesian_pos_t &  c)
inlinestatic

◆ to_c()

template<typename C , typename F , typename U = qtty::Meter>
siderust_cartesian_pos_t siderust::cartesian::Position< C, F, U >::to_c ( ) const
inline

◆ x()

template<typename C , typename F , typename U = qtty::Meter>
U siderust::cartesian::Position< C, F, U >::x ( ) const
inline

◆ y()

template<typename C , typename F , typename U = qtty::Meter>
U siderust::cartesian::Position< C, F, U >::y ( ) const
inline

◆ z()

template<typename C , typename F , typename U = qtty::Meter>
U siderust::cartesian::Position< C, F, U >::z ( ) const
inline

Member Data Documentation

◆ comp_x

template<typename C , typename F , typename U = qtty::Meter>
U siderust::cartesian::Position< C, F, U >::comp_x

◆ comp_y

template<typename C , typename F , typename U = qtty::Meter>
U siderust::cartesian::Position< C, F, U >::comp_y

◆ comp_z

template<typename C , typename F , typename U = qtty::Meter>
U siderust::cartesian::Position< C, F, U >::comp_z

The documentation for this struct was generated from the following file: