Struct bsp_pathfinding::NavigationContext
source · [−]pub struct NavigationContext { /* private fields */ }
Expand description
Contains the graph and edges necessary for path finding
Implementations
sourceimpl NavigationContext
impl NavigationContext
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
sourceimpl Default for NavigationContext
impl Default for NavigationContext
sourcefn default() -> NavigationContext
fn default() -> NavigationContext
Returns the “default value” for a type. Read more
Auto Trait Implementations
impl RefUnwindSafe for NavigationContext
impl Send for NavigationContext
impl Sync for NavigationContext
impl Unpin for NavigationContext
impl UnwindSafe for NavigationContext
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more