Struct chargrid_runtime::Coord
[−]Expand description
General purpose coordinate
Fields
x: i32
y: i32
Implementations
impl Coord
impl Coord
pub const fn new(x: i32, y: i32) -> Coord
pub const fn from_size(size: Size) -> Result<Coord, DimensionTooLargeForCoord>
pub fn to_size(self) -> Result<Size, NegativeDimension>
pub const fn normalize(self, size: Size) -> Coord
pub const fn is_valid(self, size: Size) -> bool
pub const fn constrain(self, size: Size) -> Option<Coord>
pub const fn get(self, axis: Axis) -> i32
pub fn get_mut(&mut self, axis: Axis) -> &mut i32
pub fn with_axis<F>(self, axis: Axis, f: F) -> Coord where
F: FnMut(i32) -> i32,
pub const fn set(self, axis: Axis, value: i32) -> Coord
pub fn set_in_place(&mut self, axis: Axis, value: i32)
pub const fn new_axis(this_axis: i32, other_axis: i32, axis: Axis) -> Coord
pub fn get_static<A>(self) -> i32 where
A: StaticAxis,
pub fn get_static_mut<A>(&mut self) -> &mut i32 where
A: StaticAxis,
pub fn with_static_axis<A, F>(self, f: F) -> Coord where
A: StaticAxis,
F: FnMut(i32) -> i32,
pub fn set_static<A>(self, value: i32) -> Coord where
A: StaticAxis,
pub fn set_static_in_place<A>(&mut self, value: i32) where
A: StaticAxis,
pub fn new_static_axis<A>(this_axis: i32, other_axis: i32) -> Coord where
A: StaticAxis,
pub const fn set_x(self, x: i32) -> Coord
pub const fn set_y(self, y: i32) -> Coord
pub fn set_x_in_place(&mut self, x: i32)
pub fn set_y_in_place(&mut self, y: i32)
pub fn checked_add(self, rhs: Coord) -> Option<Coord>
pub fn checked_sub(self, rhs: Coord) -> Option<Coord>
pub fn checked_mul(self, rhs: i32) -> Option<Coord>
pub fn checked_div(self, rhs: i32) -> Option<Coord>
pub const fn magnitude2(self) -> u32
pub const fn distance2(self, other: Coord) -> u32
pub const fn manhattan_magnitude(self) -> u32
pub const fn manhattan_distance(self, other: Coord) -> u32
pub const fn opposite(self) -> Coord
pub const fn left90(self) -> Coord
pub const fn right90(self) -> Coord
pub const fn cardinal_left45(self) -> Coord
pub const fn cardinal_right45(self) -> Coord
pub const fn cardinal_left135(self) -> Coord
pub const fn cardinal_right135(self) -> Coord
pub const fn is_zero(self) -> bool
pub fn pairwise_max(self, other: Coord) -> Coord
pub fn pairwise_min(self, other: Coord) -> Coord
Trait Implementations
impl<T> AddAssign<T> for Coord where
Coord: Add<T>,
<Coord as Add<T>>::Output == Coord,
impl<T> AddAssign<T> for Coord where
Coord: Add<T>,
<Coord as Add<T>>::Output == Coord,
pub fn add_assign(&mut self, rhs: T)
pub fn add_assign(&mut self, rhs: T)
Performs the +=
operation. Read more
impl<T> DivAssign<T> for Coord where
Coord: Div<T>,
<Coord as Div<T>>::Output == Coord,
impl<T> DivAssign<T> for Coord where
Coord: Div<T>,
<Coord as Div<T>>::Output == Coord,
pub fn div_assign(&mut self, rhs: T)
pub fn div_assign(&mut self, rhs: T)
Performs the /=
operation. Read more
impl<T> MulAssign<T> for Coord where
Coord: Mul<T>,
<Coord as Mul<T>>::Output == Coord,
impl<T> MulAssign<T> for Coord where
Coord: Mul<T>,
<Coord as Mul<T>>::Output == Coord,
pub fn mul_assign(&mut self, rhs: T)
pub fn mul_assign(&mut self, rhs: T)
Performs the *=
operation. Read more
impl Ord for Coord
impl Ord for Coord
impl PartialOrd<Coord> for Coord
impl PartialOrd<Coord> for Coord
pub fn partial_cmp(&self, other: &Coord) -> Option<Ordering>
pub fn partial_cmp(&self, other: &Coord) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl<T> SubAssign<T> for Coord where
Coord: Sub<T>,
<Coord as Sub<T>>::Output == Coord,
impl<T> SubAssign<T> for Coord where
Coord: Sub<T>,
<Coord as Sub<T>>::Output == Coord,
pub fn sub_assign(&mut self, rhs: T)
pub fn sub_assign(&mut self, rhs: T)
Performs the -=
operation. Read more
impl Copy for Coord
impl Eq for Coord
impl StructuralEq for Coord
impl StructuralPartialEq for Coord
Auto Trait Implementations
impl RefUnwindSafe for Coord
impl Send for Coord
impl Sync for Coord
impl Unpin for Coord
impl UnwindSafe for Coord
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more