![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Port of jline.io.tikz.TikZLayoutEngine: a layered (Sugiyama-style) layout. More...
#include <algorithm>#include <limits>#include <vector>#include "line/io/tikz/tikz_graph.h"#include "line/io/tikz/tikz_options.h"Go to the source code of this file.
Classes | |
| struct | line::io::TikzLayout |
| Node positions in cm, indexed like TikzGraph::nodes, and the layers that produced them. More... | |
Namespaces | |
| namespace | line |
| Conservation laws of a layered queueing network, enumerated from its structure. | |
| namespace | line::io |
| namespace | line::io::tikz_detail |
Functions | |
| void | line::io::tikz_detail::reorder_by_barycenter (std::vector< std::size_t > &layer, const std::vector< std::vector< std::size_t > > &connections, const std::vector< std::size_t > &reference, std::size_t nnodes) |
| reorderLayerByBarycenter: sort a layer by the mean position of its neighbours in the reference layer. | |
| TikzLayout | line::io::tikz_layout (const TikzGraph &g, const TikzOptions &opt) |
| TikZLayoutEngine.computeLayout. | |
Port of jline.io.tikz.TikZLayoutEngine: a layered (Sugiyama-style) layout.
Three steps, each the JAR's: layers by a breadth-first topological sweep from the Sources and the nodes nobody feeds (a cycle is broken by taking the first unassigned node in model order), Sinks moved to the last layer; four forward/backward barycenter passes to reduce crossings, each a STABLE sort as Collections.sort is; then x = layer * layerSpacing and each layer centred on y = 0 with nodeSpacing between its members.
Definition in file tikz_layout.h.