pub struct PreparedTRAStarWaypointDatabaseTwoTierLru { /* private fields */ }Expand description
Prepared TRA* with probation/protected two-tier LRU midpoint cache.
First hit promotes probation → protected; protected overflow demotes to probation.
Implementations§
Source§impl PreparedTRAStarWaypointDatabaseTwoTierLru
impl PreparedTRAStarWaypointDatabaseTwoTierLru
Sourcepub fn builder() -> TRAStarWaypointDatabaseTwoTierLruBuilder
pub fn builder() -> TRAStarWaypointDatabaseTwoTierLruBuilder
Returns a TRAStarWaypointDatabaseTwoTierLruBuilder for preprocess entry.
Sourcepub fn prepared_tra_star(&self) -> &PreparedTRAStar
pub fn prepared_tra_star(&self) -> &PreparedTRAStar
Underlying base TRA* prepared surface.
Sourcepub fn lru_capacity(&self) -> usize
pub fn lru_capacity(&self) -> usize
Total midpoint capacity across probation and protected segments.
Sourcepub fn protected_segment_capacity(&self) -> usize
pub fn protected_segment_capacity(&self) -> usize
Capacity reserved for the protected LRU segment.
Sourcepub fn retained_waypoint_count(&self) -> usize
pub fn retained_waypoint_count(&self) -> usize
Midpoints currently retained in either tier.
Sourcepub fn retained_probation_count(&self) -> usize
pub fn retained_probation_count(&self) -> usize
Midpoints currently in the probation segment.
Sourcepub fn retained_protected_count(&self) -> usize
pub fn retained_protected_count(&self) -> usize
Midpoints currently in the protected segment.
Sourcepub fn search(
&self,
query: NavmeshQuery,
) -> Result<SearchOutcome<PolygonPath, NavmeshSearchStats>, NavmeshSearchError>
pub fn search( &self, query: NavmeshQuery, ) -> Result<SearchOutcome<PolygonPath, NavmeshSearchStats>, NavmeshSearchError>
Routes while updating the two-tier midpoint LRU.
Trait Implementations§
Owned static mesh snapshot this preparation was built from.
Source§fn neighbors(&self, cell_index: usize) -> Option<&[usize]>
fn neighbors(&self, cell_index: usize) -> Option<&[usize]>
Indexed neighbor cell list for
cell_index, or None if out of range.Source§fn portals_from(&self, cell_index: usize) -> Option<&[NavmeshPortal]>
fn portals_from(&self, cell_index: usize) -> Option<&[NavmeshPortal]>
Indexed portals incident to
cell_index, or None if out of range.Source§fn portal_between(
&self,
left_cell: usize,
right_cell: usize,
) -> Option<NavmeshPortal>
fn portal_between( &self, left_cell: usize, right_cell: usize, ) -> Option<NavmeshPortal>
Portal joining two cells when one was recorded at preprocess time. Read more
Source§fn locate_point(&self, point: Point2) -> Option<usize>
fn locate_point(&self, point: Point2) -> Option<usize>
First cell containing
point; see Navmesh::locate_point.Source§fn locate_cells(&self, point: Point2) -> Vec<usize>
fn locate_cells(&self, point: Point2) -> Vec<usize>
All cells containing
point; see Navmesh::locate_cells.Source§fn query(&self, query: NavmeshQuery) -> NavmeshQueryResult
fn query(&self, query: NavmeshQuery) -> NavmeshQueryResult
Cell-graph connectivity for
query; see Navmesh::query.Source§fn materialize_corridor(
&self,
start: Point2,
goal: Point2,
cells: &[usize],
) -> Option<NavmeshCorridor>
fn materialize_corridor( &self, start: Point2, goal: Point2, cells: &[usize], ) -> Option<NavmeshCorridor>
Builds a
NavmeshCorridor for a known cell sequence using the owned mesh portals. Read moreAuto Trait Implementations§
impl !Freeze for PreparedTRAStarWaypointDatabaseTwoTierLru
impl RefUnwindSafe for PreparedTRAStarWaypointDatabaseTwoTierLru
impl Send for PreparedTRAStarWaypointDatabaseTwoTierLru
impl Sync for PreparedTRAStarWaypointDatabaseTwoTierLru
impl Unpin for PreparedTRAStarWaypointDatabaseTwoTierLru
impl UnsafeUnpin for PreparedTRAStarWaypointDatabaseTwoTierLru
impl UnwindSafe for PreparedTRAStarWaypointDatabaseTwoTierLru
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