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: [Axis; 3]

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

Source

pub fn color(self) -> Rgb01

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) -> Axis

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

Source

pub const fn decrement(self) -> Axis

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

Trait Implementations§

Source§

impl<'arbitrary> Arbitrary<'arbitrary> for Axis

Source§

fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Axis, Error>

Generate an arbitrary value of Self from the given unstructured data. Read more
Source§

fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Axis, Error>

Generate an arbitrary value of Self from the entirety of the given unstructured data. Read more
Source§

fn size_hint(depth: usize) -> (usize, Option<usize>)

Get a size hint for how many bytes out of an Unstructured this type needs to construct itself. Read more
Source§

fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>

Get a size hint for how many bytes out of an Unstructured this type needs to construct itself. Read more
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<(), Error>

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() -> <Axis as Exhaust>::Iter

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

fn from_factory(factory: <Axis as Exhaust>::Factory) -> Axis

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 Hash for Axis

Source§

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

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 Index<Axis> for Cube

Source§

type Output = i32

The returned type after indexing.
Source§

fn index(&self, index: Axis) -> &<Cube as Index<Axis>>::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) -> &<Point3D<T, U> as Index<Axis>>::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) -> &<Size3D<T, U> as Index<Axis>>::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) -> &<Vector3D<T, U> as Index<Axis>>::Output

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

impl IndexMut<Axis> for Cube

Source§

fn index_mut(&mut self, index: Axis) -> &mut <Cube as Index<Axis>>::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 <Point3D<T, U> as Index<Axis>>::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 <Size3D<T, U> as Index<Axis>>::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 <Vector3D<T, U> as Index<Axis>>::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<(), Error>

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<(), Error>

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> DynEq for T
where T: Any + Eq,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Casts the type to dyn Any.
Source§

fn dyn_eq(&self, other: &(dyn DynEq + 'static)) -> bool

This method tests for self and other values to be equal. Read more
Source§

impl<T> DynHash for T
where T: DynEq + Hash,

Source§

fn as_dyn_eq(&self) -> &(dyn DynEq + 'static)

Casts the type to dyn Any.
Source§

fn dyn_hash(&self, state: &mut dyn Hasher)

Feeds this value into the given Hasher.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. 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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
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.
Source§

impl<T> ConditionalSend for T
where T: Send,