Skip to main content

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}