pub struct ExcludeCells<'a, G, W> { /* private fields */ }Expand description
wrapper to exclude cells from traversal during routing
Implementations§
Source§impl<'a, G, W> ExcludeCells<'a, G, W>
impl<'a, G, W> ExcludeCells<'a, G, W>
Trait Implementations§
Source§impl<'a, G, W> GetCellEdges for ExcludeCells<'a, G, W>where
G: GetCellEdges<EdgeWeightType = W>,
impl<'a, G, W> GetCellEdges for ExcludeCells<'a, G, W>where
G: GetCellEdges<EdgeWeightType = W>,
type EdgeWeightType = <G as GetCellEdges>::EdgeWeightType
Source§fn get_edges_originating_from(
&self,
cell: &H3Cell,
) -> Result<Vec<(H3DirectedEdge, EdgeWeight<'_, Self::EdgeWeightType>)>, Error>
fn get_edges_originating_from( &self, cell: &H3Cell, ) -> Result<Vec<(H3DirectedEdge, EdgeWeight<'_, Self::EdgeWeightType>)>, Error>
get all edges and their values originating from cell
cellSource§impl<'a, G, W> GetCellNode for ExcludeCells<'a, G, W>where
G: GetCellNode,
impl<'a, G, W> GetCellNode for ExcludeCells<'a, G, W>where
G: GetCellNode,
Source§impl<'a, G, W> HasH3Resolution for ExcludeCells<'a, G, W>where
G: HasH3Resolution,
impl<'a, G, W> HasH3Resolution for ExcludeCells<'a, G, W>where
G: HasH3Resolution,
Source§fn h3_resolution(&self) -> u8
fn h3_resolution(&self) -> u8
Gets the index resolution (0-15)
Auto Trait Implementations§
impl<'a, G, W> Freeze for ExcludeCells<'a, G, W>
impl<'a, G, W> RefUnwindSafe for ExcludeCells<'a, G, W>where
G: RefUnwindSafe,
W: RefUnwindSafe,
impl<'a, G, W> Send for ExcludeCells<'a, G, W>
impl<'a, G, W> Sync for ExcludeCells<'a, G, W>
impl<'a, G, W> Unpin for ExcludeCells<'a, G, W>where
W: Unpin,
impl<'a, G, W> UnwindSafe for ExcludeCells<'a, G, W>where
G: RefUnwindSafe,
W: UnwindSafe,
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
Source§impl<G, W> DifferentialShortestPath<W> for Gwhere
W: PartialOrd + PartialEq + Add + Copy + Send + Ord + Zero + Sync,
G: GetCellEdges<EdgeWeightType = W> + GetCellNode + HasH3Resolution + NearestGraphNodes + Sync + ShortestPathManyToMany<W>,
impl<G, W> DifferentialShortestPath<W> for Gwhere
W: PartialOrd + PartialEq + Add + Copy + Send + Ord + Zero + Sync,
G: GetCellEdges<EdgeWeightType = W> + GetCellNode + HasH3Resolution + NearestGraphNodes + Sync + ShortestPathManyToMany<W>,
fn differential_shortest_path_map<I, OPT, PM, O>( &self, origin_cells: I, destination_cells: I, exclude_cells: &H3Treemap<H3Cell>, options: &OPT, path_transform_fn: PM, ) -> Result<HashMap<H3Cell, ExclusionDiff<O>, RandomState>, Error>
fn differential_shortest_path<I, OPT>( &self, origin_cells: I, destination_cells: I, exclude_cells: &H3Treemap<H3Cell>, options: &OPT, ) -> Result<HashMap<H3Cell, ExclusionDiff<Path<W>>>, Error>
Source§impl<G> GetEdge for Gwhere
G: GetCellEdges,
impl<G> GetEdge for Gwhere
G: GetCellEdges,
type EdgeWeightType = <G as GetCellEdges>::EdgeWeightType
fn get_edge( &self, edge: &H3DirectedEdge, ) -> Result<Option<EdgeWeight<'_, <G as GetEdge>::EdgeWeightType>>, Error>
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 moreSource§impl<G> NearestGraphNodes for Gwhere
G: GetCellNode,
impl<G> NearestGraphNodes for Gwhere
G: GetCellNode,
Source§fn nearest_graph_nodes(
&self,
cell: &H3Cell,
max_distance_k: u32,
) -> Result<NearestGraphNodesGetCellIter<'_, G>, Error>
fn nearest_graph_nodes( &self, cell: &H3Cell, max_distance_k: u32, ) -> Result<NearestGraphNodesGetCellIter<'_, G>, Error>
get an iterator over the closest corresponding nodes in the graph to the
given cell. The iterator will return all nodes with the
same, smallest
k <= max_distance_k which are part of the graph.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<W, G> ShortestPath<W> for Gwhere
G: GetCellEdges<EdgeWeightType = W> + GetCellNode + HasH3Resolution + NearestGraphNodes,
W: PartialOrd + PartialEq + Add + Copy + Ord + Zero,
impl<W, G> ShortestPath<W> for Gwhere
G: GetCellEdges<EdgeWeightType = W> + GetCellNode + HasH3Resolution + NearestGraphNodes,
W: PartialOrd + PartialEq + Add + Copy + Ord + Zero,
Source§impl<W, G> ShortestPathManyToMany<W> for Gwhere
G: GetCellEdges<EdgeWeightType = W> + GetCellNode + HasH3Resolution + NearestGraphNodes + Sync,
W: PartialOrd + PartialEq + Add + Copy + Send + Ord + Zero + Sync,
impl<W, G> ShortestPathManyToMany<W> for Gwhere
G: GetCellEdges<EdgeWeightType = W> + GetCellNode + HasH3Resolution + NearestGraphNodes + Sync,
W: PartialOrd + PartialEq + Add + Copy + Send + Ord + Zero + Sync,
Source§impl<W, G> WithinWeightThreshold<W> for G
impl<W, G> WithinWeightThreshold<W> for G
Source§fn cells_within_weight_threshold(
&self,
origin_cell: H3Cell,
weight_threshold: W,
) -> Result<HashMap<H3Cell, W, RandomState>, Error>
fn cells_within_weight_threshold( &self, origin_cell: H3Cell, weight_threshold: W, ) -> Result<HashMap<H3Cell, W, RandomState>, Error>
Find all cells connected to the graph within a given
weight_threshold around the
given origin_cellSource§impl<W, G> WithinWeightThresholdMany<W> for Gwhere
G: GetCellEdges<EdgeWeightType = W> + WithinWeightThreshold<W> + Sync,
W: Zero + Ord + Copy + Add + Send + Sync,
impl<W, G> WithinWeightThresholdMany<W> for Gwhere
G: GetCellEdges<EdgeWeightType = W> + WithinWeightThreshold<W> + Sync,
W: Zero + Ord + Copy + Add + Send + Sync,
Source§fn cells_within_weight_threshold_many<I, AGG>(
&self,
origin_cells: I,
weight_threshold: W,
agg_fn: AGG,
) -> Result<HashMap<H3Cell, W, RandomState>, Error>where
I: IntoParallelIterator,
<I as IntoParallelIterator>::Item: Borrow<H3Cell>,
AGG: Fn(&mut W, W) + Sync,
fn cells_within_weight_threshold_many<I, AGG>(
&self,
origin_cells: I,
weight_threshold: W,
agg_fn: AGG,
) -> Result<HashMap<H3Cell, W, RandomState>, Error>where
I: IntoParallelIterator,
<I as IntoParallelIterator>::Item: Borrow<H3Cell>,
AGG: Fn(&mut W, W) + Sync,
Find all cells connected to the graph within a given
weight_threshold around the
given origin_cells. Read more