Trait coordinate_frame::CoordinateFrame

source ·
pub trait CoordinateFrame {
    type Type;

    const COORDINATE_FRAME: CoordinateFrameType;
Show 16 methods // Required methods fn coordinate_frame(&self) -> CoordinateFrameType; fn to_ned(&self) -> NorthEastDown<Self::Type> where Self::Type: Copy + SaturatingNeg<Output = Self::Type>; fn to_enu(&self) -> EastNorthUp<Self::Type> where Self::Type: Copy + SaturatingNeg<Output = Self::Type>; fn x(&self) -> Self::Type where Self::Type: Clone; fn y(&self) -> Self::Type where Self::Type: Clone; fn z(&self) -> Self::Type where Self::Type: Clone; fn x_ref(&self) -> &Self::Type; fn y_ref(&self) -> &Self::Type; fn z_ref(&self) -> &Self::Type; fn x_mut(&mut self) -> &mut Self::Type; fn y_mut(&mut self) -> &mut Self::Type; fn z_mut(&mut self) -> &mut Self::Type; fn right_handed(&self) -> bool; fn x_axis() -> [Self::Type; 3] where Self::Type: ZeroOne<Output = Self::Type> + Neg<Output = Self::Type>; fn y_axis() -> [Self::Type; 3] where Self::Type: ZeroOne<Output = Self::Type> + Neg<Output = Self::Type>; fn z_axis() -> [Self::Type; 3] where Self::Type: ZeroOne<Output = Self::Type> + Neg<Output = Self::Type>;
}
Expand description

A coordinate frame.

Required Associated Types§

source

type Type

The type of each coordinate value.

Required Associated Constants§

source

const COORDINATE_FRAME: CoordinateFrameType

The coordinate frame type.

Required Methods§

source

fn coordinate_frame(&self) -> CoordinateFrameType

Returns the coordinate frame of this instance.

source

fn to_ned(&self) -> NorthEastDown<Self::Type>
where Self::Type: Copy + SaturatingNeg<Output = Self::Type>,

Converts this type to a NorthEastDown instance.

source

fn to_enu(&self) -> EastNorthUp<Self::Type>
where Self::Type: Copy + SaturatingNeg<Output = Self::Type>,

Converts this type to an EastNorthUp instance.

source

fn x(&self) -> Self::Type
where Self::Type: Clone,

Gets the value of the first dimension.

source

fn y(&self) -> Self::Type
where Self::Type: Clone,

Gets the value of the second dimension.

source

fn z(&self) -> Self::Type
where Self::Type: Clone,

Gets the value of the third dimension.

source

fn x_ref(&self) -> &Self::Type

Gets a reference to the value of the first dimension.

source

fn y_ref(&self) -> &Self::Type

Gets a reference to the value of the second dimension.

source

fn z_ref(&self) -> &Self::Type

Gets a reference to the value of the third dimension.

source

fn x_mut(&mut self) -> &mut Self::Type

Gets a mutable reference to the value of the first dimension.

source

fn y_mut(&mut self) -> &mut Self::Type

Gets a mutable reference to the value of the second dimension.

source

fn z_mut(&mut self) -> &mut Self::Type

Gets a mutable reference to the value of the third dimension.

source

fn right_handed(&self) -> bool

Indicates whether this coordinate system is right-handed or left-handed.

source

fn x_axis() -> [Self::Type; 3]
where Self::Type: ZeroOne<Output = Self::Type> + Neg<Output = Self::Type>,

Returns the base vector for the x axis in the global frame.

source

fn y_axis() -> [Self::Type; 3]
where Self::Type: ZeroOne<Output = Self::Type> + Neg<Output = Self::Type>,

Returns the base vector for the y axis in the global frame.

source

fn z_axis() -> [Self::Type; 3]
where Self::Type: ZeroOne<Output = Self::Type> + Neg<Output = Self::Type>,

Returns the base vector for the z axis in the global frame.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<T> CoordinateFrame for DownEastNorth<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::DownEastNorth

source§

impl<T> CoordinateFrame for DownEastSouth<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::DownEastSouth

source§

impl<T> CoordinateFrame for DownNorthEast<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::DownNorthEast

source§

impl<T> CoordinateFrame for DownNorthWest<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::DownNorthWest

source§

impl<T> CoordinateFrame for DownSouthEast<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::DownSouthEast

source§

impl<T> CoordinateFrame for DownSouthWest<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::DownSouthWest

source§

impl<T> CoordinateFrame for DownWestNorth<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::DownWestNorth

source§

impl<T> CoordinateFrame for DownWestSouth<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::DownWestSouth

source§

impl<T> CoordinateFrame for EastDownNorth<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::EastDownNorth

source§

impl<T> CoordinateFrame for EastDownSouth<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::EastDownSouth

source§

impl<T> CoordinateFrame for EastNorthDown<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::EastNorthDown

source§

impl<T> CoordinateFrame for EastNorthUp<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::EastNorthUp

source§

impl<T> CoordinateFrame for EastSouthDown<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::EastSouthDown

source§

impl<T> CoordinateFrame for EastSouthUp<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::EastSouthUp

source§

impl<T> CoordinateFrame for EastUpNorth<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::EastUpNorth

source§

impl<T> CoordinateFrame for EastUpSouth<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::EastUpSouth

source§

impl<T> CoordinateFrame for NorthDownEast<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::NorthDownEast

source§

impl<T> CoordinateFrame for NorthDownWest<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::NorthDownWest

source§

impl<T> CoordinateFrame for NorthEastDown<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::NorthEastDown

source§

impl<T> CoordinateFrame for NorthEastUp<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::NorthEastUp

source§

impl<T> CoordinateFrame for NorthUpEast<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::NorthUpEast

source§

impl<T> CoordinateFrame for NorthUpWest<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::NorthUpWest

source§

impl<T> CoordinateFrame for NorthWestDown<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::NorthWestDown

source§

impl<T> CoordinateFrame for NorthWestUp<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::NorthWestUp

source§

impl<T> CoordinateFrame for SouthDownEast<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::SouthDownEast

source§

impl<T> CoordinateFrame for SouthDownWest<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::SouthDownWest

source§

impl<T> CoordinateFrame for SouthEastDown<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::SouthEastDown

source§

impl<T> CoordinateFrame for SouthEastUp<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::SouthEastUp

source§

impl<T> CoordinateFrame for SouthUpEast<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::SouthUpEast

source§

impl<T> CoordinateFrame for SouthUpWest<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::SouthUpWest

source§

impl<T> CoordinateFrame for SouthWestDown<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::SouthWestDown

source§

impl<T> CoordinateFrame for SouthWestUp<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::SouthWestUp

source§

impl<T> CoordinateFrame for UpEastNorth<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::UpEastNorth

source§

impl<T> CoordinateFrame for UpEastSouth<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::UpEastSouth

source§

impl<T> CoordinateFrame for UpNorthEast<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::UpNorthEast

source§

impl<T> CoordinateFrame for UpNorthWest<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::UpNorthWest

source§

impl<T> CoordinateFrame for UpSouthEast<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::UpSouthEast

source§

impl<T> CoordinateFrame for UpSouthWest<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::UpSouthWest

source§

impl<T> CoordinateFrame for UpWestNorth<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::UpWestNorth

source§

impl<T> CoordinateFrame for UpWestSouth<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::UpWestSouth

source§

impl<T> CoordinateFrame for WestDownNorth<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::WestDownNorth

source§

impl<T> CoordinateFrame for WestDownSouth<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::WestDownSouth

source§

impl<T> CoordinateFrame for WestNorthDown<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::WestNorthDown

source§

impl<T> CoordinateFrame for WestNorthUp<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::WestNorthUp

source§

impl<T> CoordinateFrame for WestSouthDown<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::WestSouthDown

source§

impl<T> CoordinateFrame for WestSouthUp<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::WestSouthUp

source§

impl<T> CoordinateFrame for WestUpNorth<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::WestUpNorth

source§

impl<T> CoordinateFrame for WestUpSouth<T>

§

type Type = T

source§

const COORDINATE_FRAME: CoordinateFrameType = CoordinateFrameType::WestUpSouth