pub struct ContinuousAStar<'a> { /* private fields */ }Expand description
2D continuous-space A* pathfinder.
Wraps a walkability grid and continuous-space extent. Use
find_path to compute paths between continuous
positions.
Implementations§
Source§impl<'a> ContinuousAStar<'a>
impl<'a> ContinuousAStar<'a>
Sourcepub fn new(
extent_x: f64,
extent_y: f64,
walkmap: &'a [bool],
grid_w: usize,
grid_h: usize,
opts: ContinuousAStarOpts,
) -> Result<Self, ContinuousAStarConfigError>
pub fn new( extent_x: f64, extent_y: f64, walkmap: &'a [bool], grid_w: usize, grid_h: usize, opts: ContinuousAStarOpts, ) -> Result<Self, ContinuousAStarConfigError>
Create a new continuous-space pathfinder.
Sourcepub fn with_metric(self, metric: impl CostMetric + 'static) -> Self
pub fn with_metric(self, metric: impl CostMetric + 'static) -> Self
Set a custom cost metric for the underlying grid A*.
Sourcepub fn find_path(
&self,
from: (f64, f64),
to: (f64, f64),
) -> Option<ContinuousPath>
pub fn find_path( &self, from: (f64, f64), to: (f64, f64), ) -> Option<ContinuousPath>
Find a path from from to to in continuous coordinates.
Returns None if no path exists (start or goal is unwalkable,
or no connected path through walkable cells).
The returned ContinuousPath contains waypoints in continuous
coordinates. The last waypoint is the exact to position.
Auto Trait Implementations§
impl<'a> Freeze for ContinuousAStar<'a>
impl<'a> !RefUnwindSafe for ContinuousAStar<'a>
impl<'a> !Send for ContinuousAStar<'a>
impl<'a> !Sync for ContinuousAStar<'a>
impl<'a> Unpin for ContinuousAStar<'a>
impl<'a> UnsafeUnpin for ContinuousAStar<'a>
impl<'a> !UnwindSafe for ContinuousAStar<'a>
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