pub struct Edge {
pub id: EdgeId,
pub from: NodeId,
pub to: NodeId,
pub length_m: f64,
pub capacity: u32,
pub direction: EdgeDirection,
pub speed_multiplier: f64,
}Expand description
An edge in the warehouse map
Fields§
§id: EdgeId§from: NodeId§to: NodeId§length_m: f64§capacity: u32§direction: EdgeDirectionv2: Direction of travel allowed on this edge
speed_multiplier: f64v2: Speed multiplier for routing cost calculation 1.0 = normal, <1.0 = express/faster, >1.0 = slower/restricted
Implementations§
Source§impl Edge
impl Edge
pub fn new(id: EdgeId, from: NodeId, to: NodeId, length_m: f64) -> Self
Sourcepub fn with_direction(self, direction: EdgeDirection) -> Self
pub fn with_direction(self, direction: EdgeDirection) -> Self
Set the direction for this edge (builder pattern)
Sourcepub fn with_capacity(self, capacity: u32) -> Self
pub fn with_capacity(self, capacity: u32) -> Self
Set the capacity for this edge (builder pattern)
Sourcepub fn with_speed_multiplier(self, multiplier: f64) -> Self
pub fn with_speed_multiplier(self, multiplier: f64) -> Self
Set the speed multiplier for this edge (builder pattern) Values < 1.0 make the edge faster (express lane) Values > 1.0 make the edge slower (restricted)
Trait Implementations§
Source§impl Archive for Edge
impl Archive for Edge
Source§const COPY_OPTIMIZATION: CopyOptimization<Self>
const COPY_OPTIMIZATION: CopyOptimization<Self>
An optimization flag that allows the bytes of this type to be copied
directly to a writer instead of calling
serialize. Read moreSource§type Archived = ArchivedEdge
type Archived = ArchivedEdge
The archived representation of this type. Read more
Source§type Resolver = EdgeResolver
type Resolver = EdgeResolver
The resolver for this type. It must contain all the additional
information from serializing needed to make the archived type from
the normal type.
Source§impl<__D: Fallible + ?Sized> Deserialize<Edge, __D> for Archived<Edge>where
EdgeId: Archive,
<EdgeId as Archive>::Archived: Deserialize<EdgeId, __D>,
NodeId: Archive,
<NodeId as Archive>::Archived: Deserialize<NodeId, __D>,
f64: Archive,
<f64 as Archive>::Archived: Deserialize<f64, __D>,
u32: Archive,
<u32 as Archive>::Archived: Deserialize<u32, __D>,
EdgeDirection: Archive,
<EdgeDirection as Archive>::Archived: Deserialize<EdgeDirection, __D>,
impl<__D: Fallible + ?Sized> Deserialize<Edge, __D> for Archived<Edge>where
EdgeId: Archive,
<EdgeId as Archive>::Archived: Deserialize<EdgeId, __D>,
NodeId: Archive,
<NodeId as Archive>::Archived: Deserialize<NodeId, __D>,
f64: Archive,
<f64 as Archive>::Archived: Deserialize<f64, __D>,
u32: Archive,
<u32 as Archive>::Archived: Deserialize<u32, __D>,
EdgeDirection: Archive,
<EdgeDirection as Archive>::Archived: Deserialize<EdgeDirection, __D>,
Auto Trait Implementations§
impl Freeze for Edge
impl RefUnwindSafe for Edge
impl Send for Edge
impl Sync for Edge
impl Unpin for Edge
impl UnwindSafe for Edge
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> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
Source§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
The archived counterpart of this type. Unlike
Archive, it may be
unsized. Read moreSource§fn archived_metadata(
&self,
) -> <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
fn archived_metadata( &self, ) -> <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
Creates the archived version of the metadata for this value.
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.