pub struct Polyanya;Expand description
NavmeshPathfinder that routes through Polyanya then Condor string-pulling.
Role: exact-style continuous path on a static navmesh cell graph. Cost: Euclidean polyline length after funneling.
Mesh-adaptation failures are returned as
NavmeshSearchError::PolyanyaMeshAdapter,
preserving the underlying PolyanyaMeshAdapterError.
Invalid start/goal (outside walkable cells) use the standard navmesh search
errors. Failed external path, corridor build, or post-funnel walkability
yields no-path with whatever expansion count was observed.
Trait Implementations§
impl Copy for Polyanya
impl Eq for Polyanya
Source§fn search(
&self,
navmesh: &Navmesh,
query: NavmeshQuery,
) -> Result<SearchOutcome<PolygonPath, NavmeshSearchStats>, NavmeshSearchError>
fn search( &self, navmesh: &Navmesh, query: NavmeshQuery, ) -> Result<SearchOutcome<PolygonPath, NavmeshSearchStats>, NavmeshSearchError>
Route query on navmesh through Polyanya + funnel validation.
See the type-level docs for pipeline stages and error mapping.
impl StructuralPartialEq for Polyanya
Auto Trait Implementations§
impl Freeze for Polyanya
impl RefUnwindSafe for Polyanya
impl Send for Polyanya
impl Sync for Polyanya
impl Unpin for Polyanya
impl UnsafeUnpin for Polyanya
impl UnwindSafe for Polyanya
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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