celestial_coords/transforms/cartesian.rs
1use celestial_core::Vector3;
2
3/// Trait for Cartesian coordinate frame transformations.
4/// Unlike `CoordinateFrame` which handles spherical sky positions,
5/// this handles 3D Cartesian vectors (x, y, z).
6pub trait CartesianFrame: Sized {
7 /// Transform to ICRS Cartesian coordinates
8 fn to_icrs(&self) -> Vector3;
9
10 /// Create from ICRS Cartesian coordinates
11 fn from_icrs(icrs: &Vector3) -> Self;
12}