41class CombinatorialEmbedding;
50 enum class BendCost { defaultCost, topDownCost, bottomUpCost };
51 enum class n_type { low, high, inner, outer };
54 m_distributeEdges =
true;
56 m_allowLowZero =
false;
61 m_topToBottom = BendCost::defaultCost;
80 int startBoundBendsPerEdge = 0,
bool fourPlanar =
true);
107 void align(
bool al) { m_align = al; }
116 switch (m_topToBottom) {
117 case BendCost::topDownCost:
118 cost = pbc * (clDepth + 1);
120 case BendCost::bottomUpCost:
121 cost = pbc * (treeDepth - clDepth + 1);
129 std::cout <<
" Cost/pbc: " << cost <<
"/" << pbc <<
"\n";
142 switch (m_topToBottom) {
143 case BendCost::topDownCost:
144 cost = pbc * (clDepth + 1);
146 case BendCost::bottomUpCost:
147 cost = pbc * (treeDepth - clDepth + 1);
178 const int angleId = angle / 90;
179 const edge e2 = aTwin[netArc];
185 lowB[netArc] = 2 - angleId;
189 upB[e2] = lowB[e2] = 0;
192 upB[netArc] = 2 - angleId;
Includes declaration of graph class.
Basic declarations, included by all source files.
Computes the orthogonal representation of a clustered graph.
void distributeEdges(bool b)
sets option distributeEdges to b
bool distributeEdges()
returns option distributeEdges
void traditional(bool b)
sets option traditional to b
bool multiAlign()
returns option multiAlign
int clusterProgBendCost(int clDepth, int treeDepth, int pbc)
void multiAlign(bool b)
sets option multiAlign to b
void bendCostTopDown(BendCost i)
bool fixDegreeFourAngles()
returns option for free angle assignment at degree four nodes
bool traditional()
returns option for traditional angle distribution
void setAngleBound(edge netArc, int angle, EdgeArray< int > &lowB, EdgeArray< int > &upB, EdgeArray< edge > &aTwin, bool maxBound=true)
int clusterTradBendCost(int clDepth, int treeDepth, int pbc)
void call(ClusterPlanRep &PG, CombinatorialEmbedding &E, OrthoRep &OR, int startBoundBendsPerEdge=0, bool fourPlanar=true)
void fixDegreeFourAngles(bool b)
sets option for free angle assignment at degree four nodes
Planarized representations for clustered graphs.
Combinatorial embeddings of planar graphs with modification functionality.
Class for the representation of edges.
Orthogonal representation of an embedded graph.
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF dynamic library (shared object / DLL),...
#define OGDF_ASSERT(expr)
Assert condition expr. See doc/build.md for more information.
The namespace for all OGDF objects.