pub struct ChunkCoord {
pub x: i32,
pub z: i32,
}Expand description
Integer 2D address of a terrain chunk in chunk-space.
Fields§
§x: i32§z: i32Implementations§
Source§impl ChunkCoord
impl ChunkCoord
pub const ZERO: Self
pub fn new(x: i32, z: i32) -> Self
Sourcepub fn manhattan(self, other: ChunkCoord) -> u32
pub fn manhattan(self, other: ChunkCoord) -> u32
Manhattan distance between two chunk coordinates.
Sourcepub fn distance(self, other: ChunkCoord) -> f32
pub fn distance(self, other: ChunkCoord) -> f32
Euclidean distance (in chunk units) between two chunks.
Sourcepub fn world_center(self, chunk_size: f32) -> [f32; 3]
pub fn world_center(self, chunk_size: f32) -> [f32; 3]
World-space center of this chunk given chunk_size world units per chunk.
Sourcepub fn neighbors_8(self) -> [ChunkCoord; 8]
pub fn neighbors_8(self) -> [ChunkCoord; 8]
All 8 neighbors (including diagonals).
Sourcepub fn neighbors_4(self) -> [ChunkCoord; 4]
pub fn neighbors_4(self) -> [ChunkCoord; 4]
Orthogonal neighbors only.
Trait Implementations§
Source§impl Clone for ChunkCoord
impl Clone for ChunkCoord
Source§fn clone(&self) -> ChunkCoord
fn clone(&self) -> ChunkCoord
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ChunkCoord
impl Debug for ChunkCoord
Source§impl Display for ChunkCoord
impl Display for ChunkCoord
Source§impl Hash for ChunkCoord
impl Hash for ChunkCoord
Source§impl PartialEq for ChunkCoord
impl PartialEq for ChunkCoord
impl Copy for ChunkCoord
impl Eq for ChunkCoord
impl StructuralPartialEq for ChunkCoord
Auto Trait Implementations§
impl Freeze for ChunkCoord
impl RefUnwindSafe for ChunkCoord
impl Send for ChunkCoord
impl Sync for ChunkCoord
impl Unpin for ChunkCoord
impl UnsafeUnpin for ChunkCoord
impl UnwindSafe for ChunkCoord
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.