45class CombinatorialEmbedding;
47class GridLayoutMapped;
75 for (
edge e : edges) {
76 if (m_faceSplitter[e]) {
114 void expand(
bool lowDegreeExpand =
false)
override;
127 edge eNew = PlanRep::split(e);
Declaration and implementation of Array class and Array algorithms.
Includes declaration of graph class.
Decralation of GraphElement and GraphList classes.
Declaration of a base class for planar representations of graphs and cluster graphs.
Declaration of singly linked lists and iterators.
Basic declarations, included by all source files.
Class for adjacency list elements.
The parameterized class Array implements dynamic arrays of type E.
Combinatorial embeddings of planar graphs with modification functionality.
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).
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
RegisteredArray for nodes, edges and adjEntries of a graph.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF dynamic library (shared object / DLL),...
The namespace for all OGDF objects.