pub struct NavigationContext { /* private fields */ }
Expand description
Contains the graph and edges necessary for path finding
Implementations§
Sourcepub fn new(faces: impl IntoIterator<Item = Face>) -> Self
pub fn new(faces: impl IntoIterator<Item = Face>) -> Self
Creates a new navigation context
Sourcepub fn new_shuffle(
faces: impl IntoIterator<Item = Face>,
rng: &mut impl Rng,
) -> Self
pub fn new_shuffle( faces: impl IntoIterator<Item = Face>, rng: &mut impl Rng, ) -> Self
Creates a new navigation context. Shuffles the input which usually reduces the depth of the final tree.
pub fn node(&self, index: NodeIndex) -> Option<&BSPNode>
Sourcepub fn locate(&self, point: Vec2) -> Option<NodePayload<'_>>
pub fn locate(&self, point: Vec2) -> Option<NodePayload<'_>>
Locate a position in the tree. Return None if there are no faces in the scene
Sourcepub fn find_path(
&self,
start: Vec2,
end: Vec2,
heuristic: impl Fn(Vec2, Vec2) -> f32,
info: SearchInfo,
) -> Option<Path>
pub fn find_path( &self, start: Vec2, end: Vec2, heuristic: impl Fn(Vec2, Vec2) -> f32, info: SearchInfo, ) -> Option<Path>
Find a path from start
to end
Returns None if no path was found.
If there are no faces in the scene, a straight path will be returned.
Sourcepub fn find_path_inc<'a>(
&self,
start: Vec2,
end: Vec2,
heuristic: impl Fn(Vec2, Vec2) -> f32,
info: SearchInfo,
path: &'a mut Option<Path>,
) -> Option<&'a mut Path>
pub fn find_path_inc<'a>( &self, start: Vec2, end: Vec2, heuristic: impl Fn(Vec2, Vec2) -> f32, info: SearchInfo, path: &'a mut Option<Path>, ) -> Option<&'a mut Path>
Find a path from start
to end
Returns None if no path was found.
If there are no faces in the scene, a straight path will be returned.
Uses an already allocated path to fill and will attempt to only update
parts of the path
Trait Implementations§
Source§fn default() -> NavigationContext
fn default() -> NavigationContext
Returns the “default value” for a type. Read more
Auto Trait Implementations§
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