![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Port of jline.io.tikz.TikZEdgeRouter: orthogonal waypoints that keep an edge off the nodes it would otherwise cross. More...
#include <algorithm>#include <cmath>#include <limits>#include <string>#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::TikzPoint |
| A waypoint in cm. More... | |
| class | line::io::TikzEdgeRouter |
Namespaces | |
| namespace | line |
| Conservation laws of a layered queueing network, enumerated from its structure. | |
| namespace | line::io |
Functions | |
| std::string | line::io::tikz_render_routed_edge (const std::string &from_id, const std::string &to_id, const std::string &from_anchor, const std::string &to_anchor, const std::vector< TikzPoint > &wp, double prob, const TikzOptions &opt) |
| TikZEdgeRouter.renderRoutedEdge. | |
Port of jline.io.tikz.TikZEdgeRouter: orthogonal waypoints that keep an edge off the nodes it would otherwise cross.
A forward edge is straight unless a node's box (plus margin) lies on it, and is then routed above or below the obstacles' mean height. A BACKWARD edge (feedback) is routed around the whole drawing, above it when its source is not below its target, and each one takes the next channel out, so the waypoints of a backward edge depend on how many were routed before it: the router is STATEFUL and the order edges are routed in is part of the output. An edge between two nodes of one layer is offset to the right.
The JAR's bounds start at Double.MIN_VALUE for the maxima (the smallest POSITIVE double, not the most negative); that is kept, since every drawing has a node at y >= 0 and the two starts then give the same bounds anyway.
Definition in file tikz_edge_router.h.