pub(crate) struct RstarSpatialQuery {
layers: Vec<LayerIndex>,
indexed_transforms: Vec<Option<SpatialTransform>>,
}Fields§
§layers: Vec<LayerIndex>§indexed_transforms: Vec<Option<SpatialTransform>>Implementations§
Trait Implementations§
Source§impl Debug for RstarSpatialQuery
impl Debug for RstarSpatialQuery
Source§impl SpatialQuery for RstarSpatialQuery
impl SpatialQuery for RstarSpatialQuery
Source§fn actor_capacity(&self) -> usize
fn actor_capacity(&self) -> usize
Finalized actor-slot capacity required by every caller-owned output slice.
Source§fn candidates_on_layer_into(
&self,
layer: SpatialLayerId,
output: &mut [EnemyIdx],
) -> usize
fn candidates_on_layer_into( &self, layer: SpatialLayerId, output: &mut [EnemyIdx], ) -> usize
Sorted, deduplicated broad-phase actor IDs on one spatial layer.
fn candidates_in_envelope_into( &self, layer: SpatialLayerId, envelope: SpatialEnvelope, output: &mut [EnemyIdx], ) -> usize
fn actors_in_radius_into( &self, query: RadiusQuery, allowed: Option<&[EnemyIdx]>, output: &mut [EnemyIdx], ) -> usize
fn actors_in_cone_into( &self, query: ConeQuery, allowed: Option<&[EnemyIdx]>, output: &mut [EnemyIdx], ) -> usize
Source§fn actors_by_distance_into(
&self,
layer: SpatialLayerId,
origin: Position2,
allowed: Option<&[EnemyIdx]>,
output: &mut [EnemyIdx],
) -> usize
fn actors_by_distance_into( &self, layer: SpatialLayerId, origin: Position2, allowed: Option<&[EnemyIdx]>, output: &mut [EnemyIdx], ) -> usize
Active actors ordered by increasing distance, then ascending actor ID.
Source§fn segment_visible(
&self,
layer: SpatialLayerId,
start: Position2,
end: Position2,
) -> bool
fn segment_visible( &self, layer: SpatialLayerId, start: Position2, end: Position2, ) -> bool
Whether a same-layer closed segment is unobstructed by static geometry.
Source§fn validate_transform(
&self,
transform: SpatialTransform,
) -> Result<(), SpatialQueryError>
fn validate_transform( &self, transform: SpatialTransform, ) -> Result<(), SpatialQueryError>
Validates that a transform can be represented by this index. Read more
Source§fn insert_actor(&mut self, actor: SpatialActor) -> Result<(), SpatialQueryError>
fn insert_actor(&mut self, actor: SpatialActor) -> Result<(), SpatialQueryError>
Adds an actor to the index. Read more
Source§impl SpatialQueryDiagnostics for RstarSpatialQuery
impl SpatialQueryDiagnostics for RstarSpatialQuery
Source§fn diagnose_actors_in_radius(
&self,
query: RadiusQuery,
allowed: Option<&[EnemyIdx]>,
) -> SpatialQueryObservation<Vec<EnemyIdx>>
fn diagnose_actors_in_radius( &self, query: RadiusQuery, allowed: Option<&[EnemyIdx]>, ) -> SpatialQueryObservation<Vec<EnemyIdx>>
Run a radius query and report its broad-phase candidate count.
Source§fn diagnose_actors_in_cone(
&self,
query: ConeQuery,
allowed: Option<&[EnemyIdx]>,
) -> SpatialQueryObservation<Vec<EnemyIdx>>
fn diagnose_actors_in_cone( &self, query: ConeQuery, allowed: Option<&[EnemyIdx]>, ) -> SpatialQueryObservation<Vec<EnemyIdx>>
Run a cone query and report its broad-phase candidate count.
Source§fn diagnose_segment_contacts(
&self,
layer: SpatialLayerId,
start: Position2,
end: Position2,
) -> SpatialQueryObservation<Vec<usize>>
fn diagnose_segment_contacts( &self, layer: SpatialLayerId, start: Position2, end: Position2, ) -> SpatialQueryObservation<Vec<usize>>
Return sorted blocker-edge IDs touching a segment and the broad-phase candidate count.
Auto Trait Implementations§
impl Freeze for RstarSpatialQuery
impl RefUnwindSafe for RstarSpatialQuery
impl Send for RstarSpatialQuery
impl Sync for RstarSpatialQuery
impl Unpin for RstarSpatialQuery
impl UnsafeUnpin for RstarSpatialQuery
impl UnwindSafe for RstarSpatialQuery
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