Struct bevy_sparse_grid_2d::SparseGrid2d
source · pub struct SparseGrid2d<const TILE_SIZE: usize = 1> { /* private fields */ }Expand description
A spatial container that allows querying for entities that share one or more grid cell
Implementations§
source§impl<const TILE_SIZE: usize> SparseGrid2d<TILE_SIZE>
impl<const TILE_SIZE: usize> SparseGrid2d<TILE_SIZE>
sourcepub fn insert_aabb(&mut self, aabb: impl Into<Aabb>, entity: Entity)
pub fn insert_aabb(&mut self, aabb: impl Into<Aabb>, entity: Entity)
Insert an entity in the given Aabb coordinates
sourcepub fn insert_point(&mut self, point: Vec2, entity: Entity)
pub fn insert_point(&mut self, point: Vec2, entity: Entity)
Insert an entity at the given point coordinate
sourcepub fn aabb_iter(
&self,
aabb: impl Into<Aabb>
) -> impl Iterator<Item = Entity> + '_
pub fn aabb_iter( &self, aabb: impl Into<Aabb> ) -> impl Iterator<Item = Entity> + '_
Get an iterator with the entities in the grid cells covered by the given Aabb
may contain duplicates if some entities are in more than one grid cell
sourcepub fn point_iter(&self, point: Vec2) -> impl Iterator<Item = Entity> + '_
pub fn point_iter(&self, point: Vec2) -> impl Iterator<Item = Entity> + '_
Get an iterator with the entities in the grid cells at the given point
sourcepub fn query_aabb(&self, aabb: impl Into<Aabb>) -> HashSet<Entity>
pub fn query_aabb(&self, aabb: impl Into<Aabb>) -> HashSet<Entity>
Creates a hash set with all the entities in the grid cells covered by the given Aabb
sourcepub fn soft_clear(&mut self)
pub fn soft_clear(&mut self)
Remove all entities from the map, but keep the heap-allocated inner data structures
Trait Implementations§
source§impl<const TILE_SIZE: usize> Clone for SparseGrid2d<TILE_SIZE>
impl<const TILE_SIZE: usize> Clone for SparseGrid2d<TILE_SIZE>
source§fn clone(&self) -> SparseGrid2d<TILE_SIZE>
fn clone(&self) -> SparseGrid2d<TILE_SIZE>
Returns a copy 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<const TILE_SIZE: usize> Debug for SparseGrid2d<TILE_SIZE>
impl<const TILE_SIZE: usize> Debug for SparseGrid2d<TILE_SIZE>
source§impl<const TILE_SIZE: usize> Default for SparseGrid2d<TILE_SIZE>
impl<const TILE_SIZE: usize> Default for SparseGrid2d<TILE_SIZE>
source§fn default() -> SparseGrid2d<TILE_SIZE>
fn default() -> SparseGrid2d<TILE_SIZE>
Returns the “default value” for a type. Read more
source§impl<const TILE_SIZE: usize> GetTypeRegistration for SparseGrid2d<TILE_SIZE>where
HashMap<(i32, i32), SmallVec<[Entity; 5]>>: Reflect,
impl<const TILE_SIZE: usize> GetTypeRegistration for SparseGrid2d<TILE_SIZE>where HashMap<(i32, i32), SmallVec<[Entity; 5]>>: Reflect,
fn get_type_registration() -> TypeRegistration
source§impl<const TILE_SIZE: usize> Reflect for SparseGrid2d<TILE_SIZE>where
HashMap<(i32, i32), SmallVec<[Entity; 5]>>: Reflect,
impl<const TILE_SIZE: usize> Reflect for SparseGrid2d<TILE_SIZE>where HashMap<(i32, i32), SmallVec<[Entity; 5]>>: Reflect,
source§fn get_type_info(&self) -> &'static TypeInfo
fn get_type_info(&self) -> &'static TypeInfo
Returns the [
TypeInfo] of the underlying type. Read moresource§fn as_any_mut(&mut self) -> &mut dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
Returns the value as a
&mut dyn Any.source§fn into_reflect(self: Box<Self>) -> Box<dyn Reflect>
fn into_reflect(self: Box<Self>) -> Box<dyn Reflect>
Casts this type to a boxed reflected value.
source§fn as_reflect(&self) -> &dyn Reflect
fn as_reflect(&self) -> &dyn Reflect
Casts this type to a reflected value.
source§fn as_reflect_mut(&mut self) -> &mut dyn Reflect
fn as_reflect_mut(&mut self) -> &mut dyn Reflect
Casts this type to a mutable reflected value.
source§fn clone_value(&self) -> Box<dyn Reflect>
fn clone_value(&self) -> Box<dyn Reflect>
Clones the value as a
Reflect trait object. Read moresource§fn set(&mut self, value: Box<dyn Reflect>) -> Result<(), Box<dyn Reflect>>
fn set(&mut self, value: Box<dyn Reflect>) -> Result<(), Box<dyn Reflect>>
Performs a type-checked assignment of a reflected value to this value. Read more
source§fn reflect_ref(&self) -> ReflectRef<'_>
fn reflect_ref(&self) -> ReflectRef<'_>
Returns an enumeration of “kinds” of type. Read more
source§fn reflect_mut(&mut self) -> ReflectMut<'_>
fn reflect_mut(&mut self) -> ReflectMut<'_>
Returns a mutable enumeration of “kinds” of type. Read more
source§fn reflect_owned(self: Box<Self>) -> ReflectOwned
fn reflect_owned(self: Box<Self>) -> ReflectOwned
Returns an owned enumeration of “kinds” of type. Read more
source§fn reflect_partial_eq(&self, value: &dyn Reflect) -> Option<bool>
fn reflect_partial_eq(&self, value: &dyn Reflect) -> Option<bool>
Returns a “partial equality” comparison result. Read more
§fn reflect_hash(&self) -> Option<u64>
fn reflect_hash(&self) -> Option<u64>
Returns a hash of the value (which includes the type). Read more
§fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Debug formatter for the value. Read more
§fn serializable(&self) -> Option<Serializable<'_>>
fn serializable(&self) -> Option<Serializable<'_>>
Returns a serializable version of the value. Read more
source§impl<const TILE_SIZE: usize> Struct for SparseGrid2d<TILE_SIZE>where
HashMap<(i32, i32), SmallVec<[Entity; 5]>>: Reflect,
impl<const TILE_SIZE: usize> Struct for SparseGrid2d<TILE_SIZE>where HashMap<(i32, i32), SmallVec<[Entity; 5]>>: Reflect,
source§fn field(&self, name: &str) -> Option<&dyn Reflect>
fn field(&self, name: &str) -> Option<&dyn Reflect>
Returns a reference to the value of the field named
name as a &dyn Reflect.source§fn field_mut(&mut self, name: &str) -> Option<&mut dyn Reflect>
fn field_mut(&mut self, name: &str) -> Option<&mut dyn Reflect>
Returns a mutable reference to the value of the field named
name as a
&mut dyn Reflect.source§fn field_at(&self, index: usize) -> Option<&dyn Reflect>
fn field_at(&self, index: usize) -> Option<&dyn Reflect>
Returns a reference to the value of the field with index
index as a
&dyn Reflect.source§fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn Reflect>
fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn Reflect>
Returns a mutable reference to the value of the field with index
index
as a &mut dyn Reflect.source§fn name_at(&self, index: usize) -> Option<&str>
fn name_at(&self, index: usize) -> Option<&str>
Returns the name of the field with index
index.source§fn iter_fields(&self) -> FieldIter<'_>
fn iter_fields(&self) -> FieldIter<'_>
Returns an iterator over the values of the reflectable fields for this struct.
source§fn clone_dynamic(&self) -> DynamicStruct
fn clone_dynamic(&self) -> DynamicStruct
Clones the struct into a [
DynamicStruct].Auto Trait Implementations§
impl<const TILE_SIZE: usize> RefUnwindSafe for SparseGrid2d<TILE_SIZE>
impl<const TILE_SIZE: usize> Send for SparseGrid2d<TILE_SIZE>
impl<const TILE_SIZE: usize> Sync for SparseGrid2d<TILE_SIZE>
impl<const TILE_SIZE: usize> Unpin for SparseGrid2d<TILE_SIZE>
impl<const TILE_SIZE: usize> UnwindSafe for SparseGrid2d<TILE_SIZE>
Blanket Implementations§
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§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.§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.§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere T: Default,
§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates
Self using data from the given [World]§impl<S> GetField for Swhere
S: Struct,
impl<S> GetField for Swhere S: Struct,
§impl<T> GetPath for Twhere
T: Reflect,
impl<T> GetPath for Twhere T: Reflect,
§fn reflect_path<'r, 'p>(
&'r self,
path: &'p str
) -> Result<&'r (dyn Reflect + 'static), ReflectPathError<'p>>
fn reflect_path<'r, 'p>( &'r self, path: &'p str ) -> Result<&'r (dyn Reflect + 'static), ReflectPathError<'p>>
Returns a reference to the value specified by
path. Read more§fn reflect_path_mut<'r, 'p>(
&'r mut self,
path: &'p str
) -> Result<&'r mut (dyn Reflect + 'static), ReflectPathError<'p>>
fn reflect_path_mut<'r, 'p>( &'r mut self, path: &'p str ) -> Result<&'r mut (dyn Reflect + 'static), ReflectPathError<'p>>
Returns a mutable reference to the value specified by
path. Read more