[][src]Struct nannou::ui::graph::depth_order::DepthOrder

pub struct DepthOrder {
    pub indices: Vec<NodeIndex<u32>>,
    // some fields omitted
}

Contains Node indices in order of depth, starting with the deepest.

Fields

indices: Vec<NodeIndex<u32>>

The primary Vec storing the DepthOrder's ordered indices.

Methods

impl DepthOrder[src]

pub fn new() -> DepthOrder[src]

Construct a new empty DepthOrder.

pub fn with_node_capacity(n_nodes: usize) -> DepthOrder[src]

Construct a new empty DepthOrder.

There can be at most two indices per widget (the widget and the widget's scrollbar). Thus we'll reserve double the number of nodes given.

pub fn update(
    &mut self,
    graph: &Graph,
    root: NodeIndex<u32>,
    updated_widgets: &HashSet<NodeIndex<u32>, BuildHasherDefault<FnvHasher>>
)
[src]

Update the DepthOrder (starting with the deepest) for all nodes in the given Graph.

FIXME: This likely needs to be re-written, and will probably fail for graphs with many floating widgets instantiated upon other floating widgets.

The proper algorithm should be a full toposort where the neighbours of each node are visited in the order specified within visit_by_depth.

The visit_by_depth algorithm should not be recursive and instead use either looping, walking or iteration.

Trait Implementations

impl Debug for DepthOrder[src]

Auto Trait Implementations

impl Send for DepthOrder

impl Sync for DepthOrder

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Content for T[src]

impl<T> SafeBorrow<T> for T[src]

impl<T> Erased for T

impl<S> FromSample<S> for S[src]

impl<T, U> ToSample<U> for T where
    U: FromSample<T>, 
[src]

impl<S, T> Duplex<S> for T where
    T: FromSample<S> + ToSample<S>, 
[src]

impl<T> SetParameter for T

fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
    T: Parameter<Self>, 

Sets value as a parameter of self.

impl<T> SetParameter for T

fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
    T: Parameter<Self>, 

Sets value as a parameter of self.