Enum map_model::pathfind::engine::PathfindEngine [−][src]
pub enum PathfindEngine { Empty, Dijkstra { graph: DiGraph<usize, usize>, }, CH { graph: FastGraph, path_calc: ThreadLocal<RefCell<PathCalculator>>, }, }
This operates on raw IDs and costs; no type safety. The thing containing this transforms to/from higher-level types.
Variants
Show fields
Fields of CH
graph: FastGraph
path_calc: ThreadLocal<RefCell<PathCalculator>>
Implementations
impl PathfindEngine
[src]
impl PathfindEngine
[src]pub fn calculate_path(
&self,
start: usize,
end: usize
) -> Option<(usize, Vec<usize>)>
[src]
&self,
start: usize,
end: usize
) -> Option<(usize, Vec<usize>)>
Returns (path cost, node IDs in path)
pub fn calculate_path_multiple_sources_and_targets(
&self,
starts: Vec<(usize, usize)>,
ends: Vec<(usize, usize)>
) -> Option<(usize, Vec<usize>)>
[src]
&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<'_>
[src]
pub fn is_dijkstra(&self) -> bool
[src]
pub fn all_costs_from(&self, start: usize) -> HashMap<usize, usize>
[src]
Trait Implementations
impl Clone for PathfindEngine
[src]
impl Clone for PathfindEngine
[src]fn clone(&self) -> Self
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<'de> Deserialize<'de> for PathfindEngine
[src]
impl<'de> Deserialize<'de> for PathfindEngine
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl Serialize for PathfindEngine
[src]
impl Serialize for PathfindEngine
[src]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
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,