Skip to main content

EdgePathView

Enum EdgePathView 

Source
#[non_exhaustive]
pub enum EdgePathView<'s> { Direct, Corner { bend_at: usize, }, SideChannel { channel_at: usize, span_start: usize, span_end: usize, }, MultiSegment { waypoints: &'s [(usize, usize)], start_offset: usize, }, Orthogonal { bends: &'s [(usize, usize)], }, SelfLoop { at: (usize, usize), }, }
Expand description

Storage-neutral routed path. The heap IR’s Vec waypoints and the arena IR’s shared-slice waypoints both LEND here — no IR type appears in the scene surface.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Direct

Straight flow segment.

§

Corner

L-shaped connection with one cross-axis segment at bend_at.

Fields

§bend_at: usize

The level-axis line the cross segment runs on.

§

SideChannel

Routed through a far cross-axis channel.

Fields

§channel_at: usize

Cross-axis line of the channel.

§span_start: usize

Level-axis start of the channel span.

§span_end: usize

Level-axis end of the channel span.

§

MultiSegment

Multi-segment path through routing waypoints — physical (x, y) cells, lent from the IR.

Fields

§waypoints: &'s [(usize, usize)]

The waypoint cells, in path order.

§start_offset: usize

Level-axis offset of the first bend past the source.

§

Orthogonal

Available on crate feature ports only.

An explicit orthogonal polyline — every turn stated, lent from the IR as physical (x, y) bend cells (see EdgePath::Orthogonal).

Fields

§bends: &'s [(usize, usize)]

The bend cells, in path order.

§

SelfLoop

A preserved self-loop: no routed path, one marker cell.

Fields

§at: (usize, usize)

The ↺ marker cell.

Trait Implementations§

Source§

impl<'s> Clone for EdgePathView<'s>

Source§

fn clone(&self) -> EdgePathView<'s>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<'s> Copy for EdgePathView<'s>

Source§

impl<'s> Debug for EdgePathView<'s>

Source§

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

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

impl<'s> Eq for EdgePathView<'s>

Source§

impl<'s> PartialEq for EdgePathView<'s>

Source§

fn eq(&self, other: &EdgePathView<'s>) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl<'s> StructuralPartialEq for EdgePathView<'s>

Auto Trait Implementations§

§

impl<'s> Freeze for EdgePathView<'s>

§

impl<'s> RefUnwindSafe for EdgePathView<'s>

§

impl<'s> Send for EdgePathView<'s>

§

impl<'s> Sync for EdgePathView<'s>

§

impl<'s> Unpin for EdgePathView<'s>

§

impl<'s> UnsafeUnpin for EdgePathView<'s>

§

impl<'s> UnwindSafe for EdgePathView<'s>

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, 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 = !

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

fn try_from(value: U) -> Result<T, !>

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.