Struct wfc::Coord[][src]

pub struct Coord {
    pub x: i32,
    pub y: i32,
}

General purpose coordinate

Fields

x: i32y: i32

Implementations

impl Coord[src]

pub const fn new(x: i32, y: i32) -> Coord[src]

pub fn from_size(size: Size) -> Result<Coord, DimensionTooLargeForCoord>[src]

pub fn to_size(self) -> Result<Size, NegativeDimension>[src]

pub fn normalize(self, size: Size) -> Coord[src]

pub fn is_valid(self, size: Size) -> bool[src]

pub fn constrain(self, size: Size) -> Option<Coord>[src]

pub fn get(self, axis: Axis) -> i32[src]

pub fn get_mut(&mut self, axis: Axis) -> &mut i32[src]

pub fn with_axis<F>(self, axis: Axis, f: F) -> Coord where
    F: FnMut(i32) -> i32
[src]

pub fn set(self, axis: Axis, value: i32) -> Coord[src]

pub fn set_in_place(&mut self, axis: Axis, value: i32)[src]

pub fn new_axis(this_axis: i32, other_axis: i32, axis: Axis) -> Coord[src]

pub fn get_static<A>(self) -> i32 where
    A: StaticAxis
[src]

pub fn get_static_mut<A>(&mut self) -> &mut i32 where
    A: StaticAxis
[src]

pub fn with_static_axis<A, F>(self, f: F) -> Coord where
    F: FnMut(i32) -> i32,
    A: StaticAxis
[src]

pub fn set_static<A>(self, value: i32) -> Coord where
    A: StaticAxis
[src]

pub fn set_static_in_place<A>(&mut self, value: i32) where
    A: StaticAxis
[src]

pub fn new_static_axis<A>(this_axis: i32, other_axis: i32) -> Coord where
    A: StaticAxis
[src]

pub fn set_x(self, x: i32) -> Coord[src]

pub fn set_y(self, y: i32) -> Coord[src]

pub fn set_x_in_place(&mut self, x: i32)[src]

pub fn set_y_in_place(&mut self, y: i32)[src]

pub fn checked_add(self, rhs: Coord) -> Option<Coord>[src]

pub fn checked_sub(self, rhs: Coord) -> Option<Coord>[src]

pub fn checked_mul(self, rhs: i32) -> Option<Coord>[src]

pub fn checked_div(self, rhs: i32) -> Option<Coord>[src]

pub const fn magnitude2(self) -> u32[src]

pub const fn distance2(self, other: Coord) -> u32[src]

pub const fn manhattan_magnitude(self) -> u32[src]

pub const fn manhattan_distance(self, other: Coord) -> u32[src]

pub const fn opposite(self) -> Coord[src]

pub const fn left90(self) -> Coord[src]

pub const fn right90(self) -> Coord[src]

pub const fn cardinal_left45(self) -> Coord[src]

pub const fn cardinal_right45(self) -> Coord[src]

pub const fn cardinal_left135(self) -> Coord[src]

pub const fn cardinal_right135(self) -> Coord[src]

pub fn is_zero(self) -> bool[src]

pub fn pairwise_max(self, other: Coord) -> Coord[src]

pub fn pairwise_min(self, other: Coord) -> Coord[src]

Trait Implementations

impl<'a, 'b> Add<&'a Coord> for &'b Coord[src]

type Output = Coord

The resulting type after applying the + operator.

impl<'a> Add<&'a Coord> for Coord[src]

type Output = Coord

The resulting type after applying the + operator.

impl<'a> Add<&'a Coord> for Size[src]

type Output = Coord

The resulting type after applying the + operator.

impl<'a, 'b> Add<&'a Coord> for &'b Size[src]

type Output = Coord

The resulting type after applying the + operator.

impl<'a, 'b> Add<&'a Size> for &'b Coord[src]

type Output = Coord

The resulting type after applying the + operator.

impl<'a> Add<&'a Size> for Coord[src]

type Output = Coord

The resulting type after applying the + operator.

impl Add<Coord> for Coord[src]

type Output = Coord

The resulting type after applying the + operator.

impl Add<Coord> for Size[src]

type Output = Coord

The resulting type after applying the + operator.

impl<'a> Add<Coord> for &'a Size[src]

type Output = Coord

The resulting type after applying the + operator.

impl<'a> Add<Coord> for &'a Coord[src]

type Output = Coord

The resulting type after applying the + operator.

impl<'a> Add<Size> for &'a Coord[src]

type Output = Coord

The resulting type after applying the + operator.

impl Add<Size> for Coord[src]

type Output = Coord

The resulting type after applying the + operator.

impl<T> AddAssign<T> for Coord where
    Coord: Add<T>,
    <Coord as Add<T>>::Output == Coord
[src]

impl Clone for Coord[src]

impl Copy for Coord[src]

impl Debug for Coord[src]

impl Default for Coord[src]

impl<'a> Div<i32> for &'a Coord[src]

type Output = Coord

The resulting type after applying the / operator.

impl Div<i32> for Coord[src]

type Output = Coord

The resulting type after applying the / operator.

impl<T> DivAssign<T> for Coord where
    Coord: Div<T>,
    <Coord as Div<T>>::Output == Coord
[src]

impl Eq for Coord[src]

impl From<[i32; 2]> for Coord[src]

impl From<(i32, i32)> for Coord[src]

impl Hash for Coord[src]

impl<'a> Mul<i32> for &'a Coord[src]

type Output = Coord

The resulting type after applying the * operator.

impl Mul<i32> for Coord[src]

type Output = Coord

The resulting type after applying the * operator.

impl<T> MulAssign<T> for Coord where
    Coord: Mul<T>,
    <Coord as Mul<T>>::Output == Coord
[src]

impl Neg for Coord[src]

type Output = Coord

The resulting type after applying the - operator.

impl<'a> Neg for &'a Coord[src]

type Output = Coord

The resulting type after applying the - operator.

impl Ord for Coord[src]

impl PartialEq<Coord> for Coord[src]

impl PartialOrd<Coord> for Coord[src]

impl StructuralEq for Coord[src]

impl StructuralPartialEq for Coord[src]

impl<'a, 'b> Sub<&'a Coord> for &'b Size[src]

type Output = Coord

The resulting type after applying the - operator.

impl<'a> Sub<&'a Coord> for Size[src]

type Output = Coord

The resulting type after applying the - operator.

impl<'a> Sub<&'a Coord> for Coord[src]

type Output = Coord

The resulting type after applying the - operator.

impl<'a, 'b> Sub<&'a Coord> for &'b Coord[src]

type Output = Coord

The resulting type after applying the - operator.

impl<'a, 'b> Sub<&'a Size> for &'b Coord[src]

type Output = Coord

The resulting type after applying the - operator.

impl<'a> Sub<&'a Size> for Coord[src]

type Output = Coord

The resulting type after applying the - operator.

impl<'a> Sub<Coord> for &'a Size[src]

type Output = Coord

The resulting type after applying the - operator.

impl Sub<Coord> for Coord[src]

type Output = Coord

The resulting type after applying the - operator.

impl Sub<Coord> for Size[src]

type Output = Coord

The resulting type after applying the - operator.

impl<'a> Sub<Coord> for &'a Coord[src]

type Output = Coord

The resulting type after applying the - operator.

impl<'a> Sub<Size> for &'a Coord[src]

type Output = Coord

The resulting type after applying the - operator.

impl Sub<Size> for Coord[src]

type Output = Coord

The resulting type after applying the - operator.

impl<T> SubAssign<T> for Coord where
    Coord: Sub<T>,
    <Coord as Sub<T>>::Output == Coord
[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CallHasher for T where
    T: Hash

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,