pub trait AnyAnglePathfinder {
// Required methods
fn name(&self) -> &'static str;
fn search(
&self,
grid: &Grid,
request: AnyAngleSearchRequest,
) -> Result<SearchOutcome<AnyAnglePath, AnyAngleSearchStats>, AnyAngleSearchError>;
}Expand description
Online any-angle algorithm entrypoint for static blocked grids.
Implementations search continuous coordinates with Euclidean edge costs between
mutually visible points (v0 no-corner-cut LOS, e.g. has_line_of_sight).
Invalid endpoints or exhausted SearchBudget return AnyAngleSearchError;
unreachable but valid endpoints return SearchOutcome::NoPath. Prefer prepared
any-angle for repeated queries.
Required Methods§
Sourcefn name(&self) -> &'static str
fn name(&self) -> &'static str
Stable algorithm identifier for benchmarks, logs, and solver portfolios.
Sourcefn search(
&self,
grid: &Grid,
request: AnyAngleSearchRequest,
) -> Result<SearchOutcome<AnyAnglePath, AnyAngleSearchStats>, AnyAngleSearchError>
fn search( &self, grid: &Grid, request: AnyAngleSearchRequest, ) -> Result<SearchOutcome<AnyAnglePath, AnyAngleSearchStats>, AnyAngleSearchError>
Runs one any-angle search on grid for request.
Returns Err for invalid endpoints or exhausted budgets, Ok(NoPath) when
no route exists, and Ok(Found) with a non-empty polyline when a route is found.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".