pub enum PathfindEngine {
Empty,
Dijkstra {
graph: DiGraph<usize, usize>,
},
CH {
graph: FastGraph,
path_calc: ThreadLocal<RefCell<PathCalculator>>,
},
}
Expand description
This operates on raw IDs and costs; no type safety. The thing containing this transforms to/from higher-level types.
Variants
Empty
Dijkstra
CH
Implementations
sourceimpl PathfindEngine
impl PathfindEngine
sourcepub fn calculate_path(
&self,
start: usize,
end: usize
) -> Option<(usize, Vec<usize>)>
pub fn calculate_path(
&self,
start: usize,
end: usize
) -> Option<(usize, Vec<usize>)>
Returns (path cost, node IDs in path)
sourcepub fn calculate_path_multiple_sources_and_targets(
&self,
starts: Vec<(usize, usize)>,
ends: Vec<(usize, usize)>
) -> Option<(usize, Vec<usize>)>
pub fn calculate_path_multiple_sources_and_targets(
&self,
starts: Vec<(usize, usize)>,
ends: Vec<(usize, usize)>
) -> Option<(usize, Vec<usize>)>
Returns (path cost, node IDs in path). Input is pairs of (node ID, extra weight)
pub fn reuse_ordering(&self) -> CreateEngine<'_>
pub fn is_dijkstra(&self) -> bool
pub fn all_costs_from(&self, start: usize) -> HashMap<usize, usize>
Trait Implementations
sourceimpl Clone for PathfindEngine
impl Clone for PathfindEngine
sourceimpl<'de> Deserialize<'de> for PathfindEngine
impl<'de> Deserialize<'de> for PathfindEngine
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Serialize for PathfindEngine
impl Serialize for PathfindEngine
Auto Trait Implementations
impl RefUnwindSafe for PathfindEngine
impl Send for PathfindEngine
impl Sync for PathfindEngine
impl Unpin for PathfindEngine
impl UnwindSafe for PathfindEngine
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more