pub struct DStarLite { /* private fields */ }Expand description
Curated dynamic-grid GridReplanner (D* Lite product name).
Implementation reuses super::lifelong_planning_astar::LifelongPlanningAStar
(g/rhs + priority queue). Cost model: per-cell traversal_cost on 4-connected
edges with Manhattan keys. Prefer for discrete cell/cost updates between replans.
Implementations§
Trait Implementations§
Source§impl GridReplanner for DStarLite
impl GridReplanner for DStarLite
Source§fn name(&self) -> &'static str
fn name(&self) -> &'static str
Stable algorithm label for capture reports and solver identity.
Source§fn initialize(
&mut self,
grid: &Grid,
request: SearchRequest,
) -> Result<SearchOutcome<Path, SearchStats>, GridSearchError>
fn initialize( &mut self, grid: &Grid, request: SearchRequest, ) -> Result<SearchOutcome<Path, SearchStats>, GridSearchError>
Cold-start search on the current grid snapshot.
Source§fn update_cell(&mut self, point: Point, cell: Cell)
fn update_cell(&mut self, point: Point, cell: Cell)
Record a walkability change; takes effect on the next
Self::replan.Source§fn update_cost(
&mut self,
point: Point,
cost: usize,
) -> Result<(), GridEditError>
fn update_cost( &mut self, point: Point, cost: usize, ) -> Result<(), GridEditError>
Record a traversal-cost change; takes effect on the next
Self::replan. Read moreSource§fn replan(
&mut self,
) -> Result<SearchOutcome<Path, SearchStats>, GridSearchError>
fn replan( &mut self, ) -> Result<SearchOutcome<Path, SearchStats>, GridSearchError>
Recompute the shortest path, reusing prior search state when possible.
Auto Trait Implementations§
impl Freeze for DStarLite
impl RefUnwindSafe for DStarLite
impl Send for DStarLite
impl Sync for DStarLite
impl Unpin for DStarLite
impl UnsafeUnpin for DStarLite
impl UnwindSafe for DStarLite
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more