Skip to main content

LinkProperties

Struct LinkProperties 

Source
pub struct LinkProperties {
    pub free_flow_speed: f64,
    pub capacity: f64,
    pub lanes: u32,
    pub jam_density: f64,
    pub diagram: FundamentalDiagram,
}
Expand description

Transport-specific physical properties of a link.

This type stores the transport behavior parameters attached to a LinkSpace<LinkProperties> link.

The associated constructors such as LinkProperties::urban, LinkProperties::freeway, and LinkProperties::pedestrian are convenience presets for common real-world link types. They are not a fixed catalog enforced by the engine - users can either use these helpers as starting points or construct/customize values directly.

Fields§

§free_flow_speed: f64

Free-flow speed in m/s.

§capacity: f64

Capacity in units/hour across all lanes.

§lanes: u32

Number of lanes or effective parallel channels.

§jam_density: f64

Jam density in units/km/lane.

§diagram: FundamentalDiagram

Speed-density relationship applied to the link.

Implementations§

Source§

impl LinkProperties

Source

pub fn urban( length: f64, speed_kmh: f64, lanes: u32, ) -> Result<(LinkGeometry, Self), LinkGeometryError>

Convenience preset for a typical urban road segment.

Returns (LinkGeometry, LinkProperties) so the result can be passed directly into LinkSpace<LinkProperties>::add_link(...).

Arguments:

  • length: link length in meters
  • speed_kmh: free-flow speed in km/h
  • lanes: number of lanes

This is an example/default profile, not a mandatory schema.

Source

pub fn freeway( length: f64, speed_kmh: f64, lanes: u32, ) -> Result<(LinkGeometry, Self), LinkGeometryError>

Convenience preset for a typical freeway segment.

Returns (LinkGeometry, LinkProperties) so the result can be passed directly into LinkSpace<LinkProperties>::add_link(...).

Arguments:

  • length: link length in meters
  • speed_kmh: free-flow speed in km/h
  • lanes: number of lanes

This is an example/default profile, not a mandatory schema.

Source

pub fn pedestrian( length: f64, width: f64, ) -> Result<(LinkGeometry, Self), LinkGeometryError>

Convenience preset for a pedestrian corridor or walkway.

Returns (LinkGeometry, LinkProperties) so the result can be passed directly into LinkSpace<LinkProperties>::add_link(...).

Arguments:

  • length: link length in meters
  • width: effective corridor width in meters

Width is converted into an approximate number of parallel channels. This is an example/default profile, not a mandatory schema.

Trait Implementations§

Source§

impl Clone for LinkProperties

Source§

fn clone(&self) -> LinkProperties

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for LinkProperties

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for LinkProperties

Source§

fn eq(&self, other: &LinkProperties) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for LinkProperties

Source§

impl StructuralPartialEq for LinkProperties

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> Message for T
where T: Clone + Send + Sync + 'static,