pub struct QuadTree { /* private fields */ }Implementations§
Source§impl QuadTree
impl QuadTree
pub fn new_with_config( bounding_box: Rectangle, config: Config, ) -> QuadtreeResult<Self>
pub fn storage_counts(&self) -> (usize, usize, usize)
pub fn new(bounding_box: Rectangle) -> QuadtreeResult<Self>
pub fn insert( &mut self, value: u32, shape: ShapeEnum, entity_type: Option<u32>, ) -> QuadtreeResult<()>
pub fn insert_rect_extent( &mut self, value: u32, min_x: f32, min_y: f32, max_x: f32, max_y: f32, entity_type: Option<u32>, ) -> QuadtreeResult<()>
pub fn insert_circle_raw( &mut self, value: u32, x: f32, y: f32, radius: f32, entity_type: Option<u32>, ) -> QuadtreeResult<()>
pub fn delete(&mut self, value: u32)
pub fn relocate_batch( &mut self, relocation_requests: &[RelocationRequest], ) -> QuadtreeResult<()>
pub fn relocate( &mut self, value: u32, shape: ShapeEnum, entity_type: EntityTypeUpdate, ) -> QuadtreeResult<()>
pub fn relocate_rect_extent( &mut self, value: u32, min_x: f32, min_y: f32, max_x: f32, max_y: f32, entity_type: EntityTypeUpdate, ) -> QuadtreeResult<()>
pub fn relocate_circle_raw( &mut self, value: u32, x: f32, y: f32, radius: f32, entity_type: EntityTypeUpdate, ) -> QuadtreeResult<()>
pub fn update(&mut self)
Sourcepub fn collisions_batch(
&mut self,
shapes: &[ShapeEnum],
) -> QuadtreeResult<Vec<Vec<u32>>>
pub fn collisions_batch( &mut self, shapes: &[ShapeEnum], ) -> QuadtreeResult<Vec<Vec<u32>>>
Note: touching edges are not treated as collisions.
Sourcepub fn collisions_batch_filter(
&mut self,
shapes: &[ShapeEnum],
filter_entity_types: Option<Vec<u32>>,
) -> QuadtreeResult<Vec<Vec<u32>>>
pub fn collisions_batch_filter( &mut self, shapes: &[ShapeEnum], filter_entity_types: Option<Vec<u32>>, ) -> QuadtreeResult<Vec<Vec<u32>>>
Note: touching edges are not treated as collisions.
Sourcepub fn collisions(
&mut self,
shape: ShapeEnum,
collisions: &mut Vec<u32>,
) -> QuadtreeResult<()>
pub fn collisions( &mut self, shape: ShapeEnum, collisions: &mut Vec<u32>, ) -> QuadtreeResult<()>
Note: touching edges are not treated as collisions.
Sourcepub fn collisions_rect_extent(
&mut self,
min_x: f32,
min_y: f32,
max_x: f32,
max_y: f32,
collisions: &mut Vec<u32>,
) -> QuadtreeResult<()>
pub fn collisions_rect_extent( &mut self, min_x: f32, min_y: f32, max_x: f32, max_y: f32, collisions: &mut Vec<u32>, ) -> QuadtreeResult<()>
Note: touching edges are not treated as collisions.
Sourcepub fn collisions_circle_raw(
&mut self,
x: f32,
y: f32,
radius: f32,
collisions: &mut Vec<u32>,
) -> QuadtreeResult<()>
pub fn collisions_circle_raw( &mut self, x: f32, y: f32, radius: f32, collisions: &mut Vec<u32>, ) -> QuadtreeResult<()>
Note: touching edges are not treated as collisions.
Sourcepub fn collisions_filter(
&mut self,
shape: ShapeEnum,
filter_entity_types: Option<Vec<u32>>,
collisions: &mut Vec<u32>,
) -> QuadtreeResult<()>
pub fn collisions_filter( &mut self, shape: ShapeEnum, filter_entity_types: Option<Vec<u32>>, collisions: &mut Vec<u32>, ) -> QuadtreeResult<()>
Note: touching edges are not treated as collisions.
pub fn take_query_stats(&mut self) -> QueryStats
Sourcepub fn collisions_with<F>(
&mut self,
shape: ShapeEnum,
f: F,
) -> QuadtreeResult<()>
pub fn collisions_with<F>( &mut self, shape: ShapeEnum, f: F, ) -> QuadtreeResult<()>
Note: touching edges are not treated as collisions.
Sourcepub fn collisions_rect_extent_with<F>(
&mut self,
min_x: f32,
min_y: f32,
max_x: f32,
max_y: f32,
f: F,
) -> QuadtreeResult<()>
pub fn collisions_rect_extent_with<F>( &mut self, min_x: f32, min_y: f32, max_x: f32, max_y: f32, f: F, ) -> QuadtreeResult<()>
Note: touching edges are not treated as collisions.
Sourcepub fn collisions_circle_raw_with<F>(
&mut self,
x: f32,
y: f32,
radius: f32,
f: F,
) -> QuadtreeResult<()>
pub fn collisions_circle_raw_with<F>( &mut self, x: f32, y: f32, radius: f32, f: F, ) -> QuadtreeResult<()>
Note: touching edges are not treated as collisions.
Sourcepub fn collisions_with_filter<F>(
&mut self,
shape: ShapeEnum,
filter_entity_types: Option<Vec<u32>>,
f: F,
) -> QuadtreeResult<()>
pub fn collisions_with_filter<F>( &mut self, shape: ShapeEnum, filter_entity_types: Option<Vec<u32>>, f: F, ) -> QuadtreeResult<()>
Note: touching edges are not treated as collisions.
pub fn for_each_collision_pair<F>(&mut self, f: F)
pub fn all_node_bounding_boxes(&mut self, bounding_boxes: &mut Vec<Rectangle>)
pub fn all_shapes(&mut self, shapes: &mut Vec<ShapeEnum>)
Auto Trait Implementations§
impl !Freeze for QuadTree
impl !RefUnwindSafe for QuadTree
impl Send for QuadTree
impl !Sync for QuadTree
impl Unpin for QuadTree
impl UnwindSafe for QuadTree
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