pub struct VisibilityGraph;Expand description
Online exact continuous pathfinder: visibility graph + Dijkstra.
Cost model: Euclidean polyline length of free-space segments.
Exactness: optimal under Condor’s f64 / epsilon walkability predicates
(same contract as topological fracture search).
Invalid start/goal (non-walkable by PolygonScene::is_walkable) return
PolygonSearchError. start == goal yields a
one-point zero-cost path. Static geometry failures or sealed endpoints that
pass the looser walkability check still produce no-path rather than panic.
Trait Implementations§
Source§impl Clone for VisibilityGraph
impl Clone for VisibilityGraph
Source§fn clone(&self) -> VisibilityGraph
fn clone(&self) -> VisibilityGraph
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for VisibilityGraph
Source§impl Debug for VisibilityGraph
impl Debug for VisibilityGraph
Source§impl Default for VisibilityGraph
impl Default for VisibilityGraph
Source§fn default() -> VisibilityGraph
fn default() -> VisibilityGraph
Returns the “default value” for a type. Read more
Source§impl PolygonPathfinder for VisibilityGraph
impl PolygonPathfinder for VisibilityGraph
Source§fn search(
&self,
scene: &PolygonScene,
request: PolygonSearchRequest,
) -> Result<SearchOutcome<PolygonPath, PolygonSearchStats>, PolygonSearchError>
fn search( &self, scene: &PolygonScene, request: PolygonSearchRequest, ) -> Result<SearchOutcome<PolygonPath, PolygonSearchStats>, PolygonSearchError>
Exact free-space path via per-query visibility graph + Dijkstra.
See the type-level contract for cost, exactness, and endpoint errors.
Auto Trait Implementations§
impl Freeze for VisibilityGraph
impl RefUnwindSafe for VisibilityGraph
impl Send for VisibilityGraph
impl Sync for VisibilityGraph
impl Unpin for VisibilityGraph
impl UnsafeUnpin for VisibilityGraph
impl UnwindSafe for VisibilityGraph
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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