extern crate self as affn;
pub mod cartesian;
pub mod conic;
pub mod spherical;
pub mod centers;
pub mod frames;
pub mod ellipsoid;
pub mod ellipsoidal;
pub mod ops;
#[cfg(feature = "serde")]
pub(crate) mod serde_utils;
pub use affn_derive::{
ReferenceCenter as DeriveReferenceCenter, ReferenceFrame as DeriveReferenceFrame,
};
pub use centers::{AffineCenter, NoCenter, ReferenceCenter};
pub use frames::ReferenceFrame;
pub use ops::{Isometry3, Rotation3, Translation3};
pub use cartesian::{
CenterParamsMismatchError, Direction as CartesianDirection, Displacement, Position, Vector,
Velocity,
};
pub use conic::{
ClassifiedPeriapsisParam, ClassifiedSemiMajorAxisParam, ConicKind, ConicOrientation,
ConicShape, ConicValidationError, Elliptic, EllipticPeriapsis, EllipticSemiMajorAxis,
Hyperbolic, HyperbolicPeriapsis, HyperbolicSemiMajorAxis, KindMarker, NonParabolicKindMarker,
OrientedConic, Parabolic, ParabolicPeriapsis, PeriapsisParam, SemiMajorAxisParam,
TypedPeriapsisParam, TypedSemiMajorAxisParam,
};
pub use spherical::{Direction as SphericalDirection, Position as SphericalPosition};
pub use ellipsoidal::Position as EllipsoidalPosition;
pub mod prelude {
pub use crate::{
DeriveReferenceCenter as ReferenceCenter, DeriveReferenceFrame as ReferenceFrame,
};
pub use crate::centers::{AffineCenter, NoCenter, ReferenceCenter as ReferenceCenterTrait};
pub use crate::frames::ReferenceFrame as ReferenceFrameTrait;
pub use crate::cartesian::{
Direction as CartesianDirection, Displacement, Position, Vector, Velocity,
};
pub use crate::conic::{
ClassifiedPeriapsisParam, ClassifiedSemiMajorAxisParam, ConicKind, ConicOrientation,
ConicShape, ConicValidationError, Elliptic, EllipticPeriapsis, EllipticSemiMajorAxis,
Hyperbolic, HyperbolicPeriapsis, HyperbolicSemiMajorAxis, KindMarker,
NonParabolicKindMarker, OrientedConic, Parabolic, ParabolicPeriapsis, PeriapsisParam,
SemiMajorAxisParam, TypedPeriapsisParam, TypedSemiMajorAxisParam,
};
pub use crate::spherical::{Direction as SphericalDirection, Position as SphericalPosition};
pub use crate::ops::{Isometry3, Rotation3, Translation3};
pub use crate::ellipsoidal::Position as EllipsoidalPosition;
pub use crate::ellipsoid::{Ellipsoid, Grs80, HasEllipsoid, Wgs84};
#[cfg(feature = "astro")]
pub use crate::frames::{
EclipticMeanJ2000, EclipticMeanOfDate, EclipticOfDate, EclipticTrueOfDate,
EquatorialMeanJ2000, EquatorialMeanOfDate, EquatorialTrueOfDate, Galactic, Horizontal,
ECEF, ICRF, ICRS, ITRF,
};
}