Skip to main content

AnyAnglePathfinder

Trait AnyAnglePathfinder 

Source
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§

Source

fn name(&self) -> &'static str

Stable algorithm identifier for benchmarks, logs, and solver portfolios.

Source

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".

Implementors§