Axis

Enum Axis 

Source
#[repr(u8)]
pub enum Axis { X = 0, Y = 1, Z = 2, }
Expand description

Enumeration of the axes of three-dimensional space.

Can be used to infallibly index 3-component arrays and vectors.

See also:

  • Face6 specifies an axis and a direction on the axis.

Variants§

§

X = 0

§

Y = 1

§

Z = 2

Implementations§

Source§

impl Axis

Source

pub const ALL: [Self; 3]

All three axes in the standard order, [X, Y, Z].

Source

pub fn color(&self) -> Rgb

Returns a standard color to denote this axis among the three axes. All colors have equal luminance.

  • X = red
  • Y = green
  • Z = blue
Source

pub fn positive_face(&self) -> Face6

Returns the Face6 value which corresponds to the positive direction on this axis.

Source

pub fn negative_face(&self) -> Face6

Returns the Face6 value which corresponds to the negative direction on this axis.

Source

pub const fn index(self) -> usize

Convert the axis to a number for indexing 3-element arrays.

Source

pub const fn increment(self) -> Self

Maps X to Y, Y to Z, and Z to X.

Source

pub const fn decrement(self) -> Self

Maps X to Z, Y to X, and Z to Y.

Trait Implementations§

Source§

impl Clone for Axis

Source§

fn clone(&self) -> Axis

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Axis

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Exhaust for Axis

Source§

type Iter = ExhaustAxisIter

Iterator type returned by Self::exhaust_factories(). See the trait documentation for what properties this iterator should have. Read more
Source§

type Factory = ExhaustAxisFactory

Data which can be used to construct Self. Read more
Source§

fn exhaust_factories() -> Self::Iter

Returns an iterator over factories for all values of this type. Read more
Source§

fn from_factory(factory: Self::Factory) -> Self

Construct a concrete value of this type from a Self::Factory value produced by its Self::Iter. Read more
Source§

fn exhaust() -> Iter<Self>

Returns an iterator over all values of this type. Read more
Source§

impl From<Axis> for u8

Source§

fn from(value: Axis) -> Self

Converts to this type from the input type.
Source§

impl From<Axis> for usize

Source§

fn from(value: Axis) -> Self

Converts to this type from the input type.
Source§

impl Hash for Axis

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl<T> Index<Axis> for [T; 3]

Source§

type Output = T

The returned type after indexing.
Source§

fn index(&self, index: Axis) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
Source§

impl Index<Axis> for Cube

Source§

type Output = i32

The returned type after indexing.
Source§

fn index(&self, index: Axis) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
Source§

impl<T, U> Index<Axis> for Point3D<T, U>

Source§

type Output = T

The returned type after indexing.
Source§

fn index(&self, index: Axis) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
Source§

impl<T, U> Index<Axis> for Size3D<T, U>

Source§

type Output = T

The returned type after indexing.
Source§

fn index(&self, index: Axis) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
Source§

impl<T, U> Index<Axis> for Vector3D<T, U>

Source§

type Output = T

The returned type after indexing.
Source§

fn index(&self, index: Axis) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
Source§

impl<T> IndexMut<Axis> for [T; 3]

Source§

fn index_mut(&mut self, index: Axis) -> &mut Self::Output

Performs the mutable indexing (container[index]) operation. Read more
Source§

impl IndexMut<Axis> for Cube

Source§

fn index_mut(&mut self, index: Axis) -> &mut Self::Output

Performs the mutable indexing (container[index]) operation. Read more
Source§

impl<T, U> IndexMut<Axis> for Point3D<T, U>

Source§

fn index_mut(&mut self, index: Axis) -> &mut Self::Output

Performs the mutable indexing (container[index]) operation. Read more
Source§

impl<T, U> IndexMut<Axis> for Size3D<T, U>

Source§

fn index_mut(&mut self, index: Axis) -> &mut Self::Output

Performs the mutable indexing (container[index]) operation. Read more
Source§

impl<T, U> IndexMut<Axis> for Vector3D<T, U>

Source§

fn index_mut(&mut self, index: Axis) -> &mut Self::Output

Performs the mutable indexing (container[index]) operation. Read more
Source§

impl LowerHex for Axis

Format the axis as one of the strings “x”, “y”, or “z” (lowercase).

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Axis

Source§

fn eq(&self, other: &Axis) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl UpperHex for Axis

Format the axis as one of the strings “X”, “Y”, or “Z” (uppercase).

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Copy for Axis

Source§

impl Eq for Axis

Source§

impl StructuralPartialEq for Axis

Auto Trait Implementations§

§

impl Freeze for Axis

§

impl RefUnwindSafe for Axis

§

impl Send for Axis

§

impl Sync for Axis

§

impl Unpin for Axis

§

impl UnwindSafe for Axis

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Az for T

Source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

Source§

fn cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> CheckedAs for T

Source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

Source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> OverflowingAs for T

Source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

Source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
Source§

impl<T> SaturatingAs for T

Source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

Source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> UnwrappedAs for T

Source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

Source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> WrappingAs for T

Source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

Source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.