AxisPermutation

Enum AxisPermutation 

Source
pub enum AxisPermutation {
    Xyz,
    Zxy,
    Yzx,
    Zyx,
    Xzy,
    Yxz,
}
Expand description

One of the six possible {N, U, V} –> {X, Y, Z} mappings.

This can be combined with a -1 or +1 sign for the Normal axis to make an OrientedBlockFace.

See the geometry module documentation for more information on {N, U, V} space.

§Even and Odd

Even permutations:

Odd permutations:

Variants§

§

Xyz

§

Zxy

§

Yzx

§

Zyx

§

Xzy

§

Yxz

Implementations§

Source§

impl AxisPermutation

Source

pub const fn even_with_normal_axis(axis: Axis) -> Self

Source

pub const fn odd_with_normal_axis(axis: Axis) -> Self

Source

pub const fn sign(&self) -> i32

Source

pub const fn axes(&self) -> [Axis; 3]

Returns the Axes in the order specified by the permutation.

§Example
let xyz = AxisPermutation::Xyz;
assert_eq!(xyz.axes(), [Axis::X, Axis::Y, Axis::Z]);

Trait Implementations§

Source§

impl Clone for AxisPermutation

Source§

fn clone(&self) -> AxisPermutation

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 AxisPermutation

Source§

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

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

impl PartialEq for AxisPermutation

Source§

fn eq(&self, other: &AxisPermutation) -> 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 Copy for AxisPermutation

Source§

impl Eq for AxisPermutation

Source§

impl StructuralPartialEq for AxisPermutation

Auto Trait Implementations§

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> 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<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> 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.