pub struct WarehouseMap {
pub nodes: HashMap<NodeId, Node>,
pub edges: HashMap<EdgeId, Edge>,
pub adjacency: HashMap<NodeId, Vec<(NodeId, EdgeId, f64)>>,
pub string_to_node: HashMap<String, NodeId>,
pub blocked_nodes: Vec<NodeId>,
pub blocked_edges: Vec<EdgeId>,
}Expand description
The warehouse map graph
Fields§
§nodes: HashMap<NodeId, Node>§edges: HashMap<EdgeId, Edge>§adjacency: HashMap<NodeId, Vec<(NodeId, EdgeId, f64)>>§string_to_node: HashMap<String, NodeId>§blocked_nodes: Vec<NodeId>§blocked_edges: Vec<EdgeId>Implementations§
Source§impl WarehouseMap
impl WarehouseMap
pub fn new() -> Self
pub fn add_node(&mut self, node: Node)
Sourcepub fn add_edge(&mut self, edge: Edge)
pub fn add_edge(&mut self, edge: Edge)
Add an edge to the map
If the edge direction is Bidirectional, a reverse edge is automatically created. If OneWay, only the forward direction is added.
pub fn get_node(&self, id: NodeId) -> Option<&Node>
pub fn get_node_by_string(&self, s: &str) -> Option<&Node>
pub fn get_edge(&self, id: EdgeId) -> Option<&Edge>
pub fn neighbors( &self, node: NodeId, ) -> impl Iterator<Item = (NodeId, EdgeId, f64)> + '_
pub fn euclidean_distance(&self, from: NodeId, to: NodeId) -> f64
pub fn node_count(&self) -> usize
pub fn edge_count(&self) -> usize
Trait Implementations§
Source§impl Clone for WarehouseMap
impl Clone for WarehouseMap
Source§fn clone(&self) -> WarehouseMap
fn clone(&self) -> WarehouseMap
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 Default for WarehouseMap
impl Default for WarehouseMap
Source§fn default() -> WarehouseMap
fn default() -> WarehouseMap
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for WarehouseMap
impl RefUnwindSafe for WarehouseMap
impl Send for WarehouseMap
impl Sync for WarehouseMap
impl Unpin for WarehouseMap
impl UnwindSafe for WarehouseMap
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.