43class GridLayoutMapped;
68 for (
edge e : edges) {
69 if (m_faceSplitter[e]) {
124 m_alignUpward[
eNew->adjSource()] =
true;
127 m_alignUpward[
eNew->adjTarget()] =
true;
Edge types and patterns for planar representations.
Declaration of class Layout.
Declaration of node types and patterns for planar representations.
Declaration of orthogonal representation of planar graphs.
Declaration of a base class for planar representations of graphs and cluster graphs.
Declaration of class UMLGraph.
Class for adjacency list elements.
Dynamic arrays indexed with adjacency entries.
The parameterized class Array implements dynamic arrays of type E.
Combinatorial embeddings of planar graphs with modification functionality.
Dynamic arrays indexed with edges.
Class for the representation of edges.
adjEntry adjSource() const
Returns the corresponding adjacancy entry at source node.
adjEntry adjTarget() const
Returns the corresponding adjacancy entry at target node.
Stores additional attributes of a graph (like layout information).
Extends GridLayout by a grid mapping mechanism.
Stores a layout of a graph (coordinates of nodes, bend points of edges).
Class for the representation of nodes.
Orthogonal representation of an embedded graph.
Planarized representations (of a connected component) of a graph.
Planarized representation (of a connected component) of a UMLGraph; allows special handling of hierar...
void writeGML(const char *fileName, const Layout &drawing)
Writes attributed graph in GML format to file fileName (for debugging only)
void removeFaceSplitter()
Removes all face splitting edges.
void writeGML(std::ostream &os, const OrthoRep &OR, const Layout &drawing)
void alignUpward(adjEntry ae, bool b)
~PlanRepUML()
Deconstruction.
void writeGML(const char *fileName, const OrthoRep &OR, const GridLayoutMapped &drawing)
void setupIncremental(int indexCC, CombinatorialEmbedding &E)
Initializes incremental stuff, e.g. insert incremental mergers.
void writeGML(std::ostream &os, const OrthoRep &OR, const GridLayoutMapped &drawing)
void writeGML(const char *fileName)
const UMLGraph * m_pUmlGraph
EdgeArray< bool > m_faceSplitter
void collapseVertices(const OrthoRep &OR, Layout &drawing)
PlanRepUML(const GraphAttributes &GA)
virtual edge split(edge e) override
Splits edge e.
const UMLGraph & getUMLGraph() const
void writeGML(std::ostream &os, const Layout &drawing)
Writes attributed graph in GML format to output stream os (for debugging only)
SListPure< edge > m_mergeEdges
AdjEntryArray< bool > m_alignUpward
bool faceSplitter(edge e) const
Returns true if an edge splits a face into two subfaces to guarantee generalizations to be on opposit...
void prepareIncrementalMergers(int indexCC, CombinatorialEmbedding &E)
node insertGenMerger(node v, const SList< edge > &inGens, CombinatorialEmbedding &E)
Inserts a generalization merge node for all incoming generalizations of v and returns its conserving ...
void writeGML(const char *fileName, GraphAttributes &AG)
void expandLowDegreeVertices(OrthoRep &OR, bool alignSmallDegree=false)
Expands nodes with degree <= 4 and aligns opposite edges at degree 2 nodes.
Array< SList< node > > m_incMergers
Stores all incremental mergers in CC.
PlanRepUML(const UMLGraph ¨Graph)
Construction.
void expand(bool lowDegreeExpand=false) override
Expands nodes with degree > 4 and merge nodes for generalizations.
const SList< node > & incrementalMergers(int indexCC) const
Returns the list of inserted incremental mergers.
void writeGML(const char *fileName, const OrthoRep &OR, const Layout &drawing)
bool alignUpward(adjEntry ae)
Singly linked lists (maintaining the length of the list).
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.