pub struct PathNetwork<N>where
N: PathNetworkNodeTrait,{ /* private fields */ }Expand description
Path network. This struct is used to manage nodes and paths between nodes in 2D space.
This struct provides:
- functions to add, remove, and search nodes and paths.
- functions to search nodes around a site or a line segment.
Implementations§
Source§impl<N> PathNetwork<N>where
N: PathNetworkNodeTrait,
impl<N> PathNetwork<N>where
N: PathNetworkNodeTrait,
Sourcepub fn nodes_iter(&self) -> impl Iterator<Item = (NodeId, &N)>
pub fn nodes_iter(&self) -> impl Iterator<Item = (NodeId, &N)>
Get nodes in the network.
Sourcepub fn neighbors_iter(
&self,
node_id: NodeId,
) -> Option<impl Iterator<Item = (NodeId, &N)>>
pub fn neighbors_iter( &self, node_id: NodeId, ) -> Option<impl Iterator<Item = (NodeId, &N)>>
Get neighbors of a node.
Sourcepub fn has_path(&self, start: NodeId, to: NodeId) -> bool
pub fn has_path(&self, start: NodeId, to: NodeId) -> bool
Check if there is a path between two nodes.
Sourcepub fn nodes_around_site_iter(
&self,
site: Site,
radius: f64,
) -> impl Iterator<Item = &NodeId>
pub fn nodes_around_site_iter( &self, site: Site, radius: f64, ) -> impl Iterator<Item = &NodeId>
Search nodes around a site within a radius.
Sourcepub fn nodes_around_line_iter(
&self,
line: LineSegment,
radius: f64,
) -> impl Iterator<Item = &NodeId>
pub fn nodes_around_line_iter( &self, line: LineSegment, radius: f64, ) -> impl Iterator<Item = &NodeId>
Search nodes around a line segment within a radius.
Sourcepub fn paths_touching_rect_iter(
&self,
corner_0: Site,
corner_1: Site,
) -> impl Iterator<Item = &(NodeId, NodeId)>
pub fn paths_touching_rect_iter( &self, corner_0: Site, corner_1: Site, ) -> impl Iterator<Item = &(NodeId, NodeId)>
Search paths touching a rectangle.
Sourcepub fn into_optimized(self) -> Self
pub fn into_optimized(self) -> Self
Get the optimized path network.
Trait Implementations§
Source§impl<N> Clone for PathNetwork<N>where
N: PathNetworkNodeTrait + Clone,
impl<N> Clone for PathNetwork<N>where
N: PathNetworkNodeTrait + Clone,
Source§fn clone(&self) -> PathNetwork<N>
fn clone(&self) -> PathNetwork<N>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<N> Debug for PathNetwork<N>where
N: PathNetworkNodeTrait + Debug,
impl<N> Debug for PathNetwork<N>where
N: PathNetworkNodeTrait + Debug,
Source§impl<N> Default for PathNetwork<N>where
N: PathNetworkNodeTrait,
impl<N> Default for PathNetwork<N>where
N: PathNetworkNodeTrait,
Auto Trait Implementations§
impl<N> Freeze for PathNetwork<N>
impl<N> RefUnwindSafe for PathNetwork<N>where
N: RefUnwindSafe,
impl<N> Send for PathNetwork<N>where
N: Send,
impl<N> Sync for PathNetwork<N>where
N: Sync,
impl<N> Unpin for PathNetwork<N>
impl<N> UnwindSafe for PathNetwork<N>where
N: RefUnwindSafe,
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