pub enum NeighborDirection {
NotNeighbors = 0,
XMinus = 1,
XPlus = 2,
YMinus = 3,
YPlus = 4,
ZMinus = 5,
ZPlus = 6,
}Expand description
Represents the direction of a neighboring cell relative to a given cell in a 3D grid.
This enum is used to indicate the spatial relationship between cells in a grid
Variants§
NotNeighbors = 0
Indicates that the cells are not neighbors.
XMinus = 1
Indicates the neighbor is in the negative X direction.
XPlus = 2
Indicates the neighbor is in the positive X direction.
YMinus = 3
Indicates the neighbor is in the negative Y direction.
YPlus = 4
Indicates the neighbor is in the positive Y direction.
ZMinus = 5
Indicates the neighbor is in the negative Z direction.
ZPlus = 6
Indicates the neighbor is in the positive Z direction.
Implementations§
Source§impl NeighborDirection
impl NeighborDirection
Sourcepub const fn is_positive(self) -> bool
pub const fn is_positive(self) -> bool
Checks if the direction is positive.
Returns true if the direction is positive (XPlus, YPlus, ZPlus),
otherwise returns false.
Sourcepub const fn is_negative(self) -> bool
pub const fn is_negative(self) -> bool
Checks if the direction is negative.
Returns true if the direction is negative (XMinus, YMinus, ZMinus),
otherwise returns false.
Sourcepub fn ordered_pair<T: Copy>(self, a: T, b: T) -> (T, T)
pub fn ordered_pair<T: Copy>(self, a: T, b: T) -> (T, T)
Returns an ordered pair of values based on the direction’s positivity.
If the direction is positive, returns (a, b). Otherwise, returns (b, a).
Sourcepub fn to_coord_index(&self) -> Option<usize>
pub fn to_coord_index(&self) -> Option<usize>
Converts the direction into a coordinate index.
Returns Some(usize) representing the index of the coordinate (0 for X axis,
1 for Y axis, 2 for Z axis), or None if the variant is NotNeighbors.
Trait Implementations§
Source§impl Clone for NeighborDirection
impl Clone for NeighborDirection
Source§fn clone(&self) -> NeighborDirection
fn clone(&self) -> NeighborDirection
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for NeighborDirection
impl Debug for NeighborDirection
Source§impl PartialEq for NeighborDirection
impl PartialEq for NeighborDirection
Source§fn eq(&self, other: &NeighborDirection) -> bool
fn eq(&self, other: &NeighborDirection) -> bool
self and other values to be equal, and is used by ==.impl Copy for NeighborDirection
impl StructuralPartialEq for NeighborDirection
Auto Trait Implementations§
impl Freeze for NeighborDirection
impl RefUnwindSafe for NeighborDirection
impl Send for NeighborDirection
impl Sync for NeighborDirection
impl Unpin for NeighborDirection
impl UnsafeUnpin for NeighborDirection
impl UnwindSafe for NeighborDirection
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.