Expand description
§affn-derive
Derive macros for the affn crate, providing #[derive(ReferenceFrame)]
and #[derive(ReferenceCenter)] for convenient frame and center definitions.
§Usage
These derives are re-exported from affn, so you typically use them as:
ⓘ
use affn::{ReferenceFrame, ReferenceCenter};
#[derive(Debug, Copy, Clone, ReferenceFrame)]
struct MyFrame;
#[derive(Debug, Copy, Clone, ReferenceCenter)]
struct MyCenter;§Attributes
§#[derive(ReferenceFrame)]
#[frame(name = "CustomName")]- Override the frame name (defaults to struct name)#[frame(polar = "dec", azimuth = "ra")]- Also implementSphericalNamingwith custom names#[frame(distance = "altitude")]- Override distance name (defaults to “distance”)#[frame(inherent)]- Generate inherent methods onDirection<F>andPosition<C,F,U>. Only valid when the frame is defined in the same crate asDirection/Position.
§#[derive(ReferenceCenter)]
#[center(name = "CustomName")]- Override the center name (defaults to struct name)#[center(params = MyParamsType)]- Specify theParamsassociated type (defaults to())#[center(affine = false)]- Skip implementingAffineCentermarker trait
Derive Macros§
- Reference
Center - Derive macro for implementing
ReferenceCenter. - Reference
Frame - Derive macro for implementing
ReferenceFrame.