45template<
class E1,
class E2>
Includes declaration of graph class.
Declaration of singly linked lists and iterators.
Basic declarations, included by all source files.
Base class for ogdf::CompactionConstraintGraphBase.
CommonCompactionConstraintGraphBase(const OrthoRep &OR, const PlanRep &PG, OrthoDir arcDir, int costAssoc)
Build constraint graph with basic arcs.
ConstraintEdgeType typeOf(edge e) const
Returns type of edge e.
bool fixOnBorder(edge e) const
Returns true if edge is subject to length fixation if length < sep.
const Graph & getGraph() const
Returns underlying graph.
virtual string getLengthString(edge e) const =0
void writeGML(const char *fileName) const
Writes GML output (for debugging)
NodeArray< edge > m_originalEdge
save edge for the basic arcs
const PlanRep & getPlanRep() const
NodeArray< node > m_pathNode
segment containing a node in PG
void writeGML(const char *fileName, const NodeArray< bool > &one) const
EdgeArray< int > m_border
only used for cage precompaction in flowcompaction computecoords
node pathNodeOf(node v) const
Returns the segment (path node in constraint graph) containing v.
bool extraNode(node v) const
Returns node status.
void writeGML(std::ostream &os) const
void computeTopologicalSegmentNum(NodeArray< int > &topNum)
Computes topological numbering on the segments of the constraint graph.
void embed()
Embeds constraint graph such that all sources and sinks lie in a common face.
NodeArray< SListPure< node > > m_path
list of nodes contained in a segment
NodeArray< bool > m_extraNode
Node does not represent drawing node as we dont have positions we save a drawing representant and an ...
EdgeArray< edge > m_edgeToBasicArc
basic arc representing an edge in PG
int cost(edge e) const
Returns cost of edge e.
EdgeArray< ConstraintEdgeType > m_type
constraint type for each edge
node extraRep(node v) const
Returns extraNode existing anchor representant.
const OrthoRep & getOrthoRep() const
Returns underlying OrthoRep.
edge basicArc(edge e) const
Returns constraint arc representing input edge e in constraint graph.
NodeArray< node > m_extraRep
existing representant of extranodes position anchor
void writeGML(std::ostream &os, const NodeArray< bool > &one) const
EdgeArray< int > m_cost
cost of an edge
bool onBorder(edge e) const
Returns true if edge lies on cage border.
const SListPure< node > & nodesIn(node v) const
Returns list of nodes contained in segment v.
void removeRedundantVisibArcs(SListPure< Tuple2< node, node > > &visibArcs)
Removes "arcs" from visibArcs which we already have in the constraint graph (as basic arcs)
Class for the representation of edges.
Data type for general directed graphs (adjacency list representation).
Class for the representation of nodes.
Orthogonal representation of an embedded graph.
Planarized representations (of a connected component) of a graph.
Singly linked lists (maintaining the length of the list).
Tuples of two elements (2-tuples).
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
RegisteredArray for nodes, edges and adjEntries of a graph.
The namespace for all OGDF objects.
ConstraintEdgeType
Types of edges in the constraint graph.
@ ReducibleArc
can be compacted to zero length
@ FixToZeroArc
can be compacted to zero length, can be fixed
@ MedianArc
inserted to replace some reducible in fixzerolength