pub struct ExtRoadNetwork {
pub network_id: String,
pub nodes: Vec<ExtNetworkNode>,
pub edges: Vec<ExtNetworkEdge>,
}Fields§
§network_id: String§nodes: Vec<ExtNetworkNode>§edges: Vec<ExtNetworkEdge>Implementations§
Source§impl ExtRoadNetwork
impl ExtRoadNetwork
pub fn new(network_id: &str) -> Self
pub fn add_node(&mut self, n: ExtNetworkNode)
pub fn add_edge(&mut self, e: ExtNetworkEdge)
pub fn total_length_km(&self) -> f32
pub fn edges_by_functional_class(&self) -> HashMap<u8, Vec<&ExtNetworkEdge>>
pub fn congested_edges(&self) -> Vec<&ExtNetworkEdge>
pub fn node_count(&self) -> usize
pub fn edge_count(&self) -> usize
pub fn connectivity_ratio(&self) -> f32
pub fn average_speed_limit(&self) -> f32
pub fn find_node(&self, id: u32) -> Option<&ExtNetworkNode>
pub fn adjacent_edges(&self, node_id: u32) -> Vec<&ExtNetworkEdge>
pub fn bfs_path(&self, start: u32, goal: u32) -> Option<Vec<u32>>
Trait Implementations§
Source§impl Clone for ExtRoadNetwork
impl Clone for ExtRoadNetwork
Source§impl Debug for ExtRoadNetwork
impl Debug for ExtRoadNetwork
Auto Trait Implementations§
impl Freeze for ExtRoadNetwork
impl RefUnwindSafe for ExtRoadNetwork
impl Send for ExtRoadNetwork
impl Sync for ExtRoadNetwork
impl Unpin for ExtRoadNetwork
impl UnsafeUnpin for ExtRoadNetwork
impl UnwindSafe for ExtRoadNetwork
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.