Struct conrod::graph::depth_order::DepthOrder [] [src]

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

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

Fields

The primary Vec storing the DepthOrder's ordered indices.

Methods

impl DepthOrder
[src]

[src]

Construct a new empty 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.

[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.