59 return (edgeTypeOf(e) & clusterPattern()) == clusterPattern();
93 m_edgeClusterID[
eNew] = m_edgeClusterID[e];
94 m_nodeClusterID[
eNew->source()] = m_edgeClusterID[e];
136 return m_clusterOfIndex[i];
142 return clusterOfIndex(ClusterID(v));
166 return UMLEdgeTypeConstants::SecCluster << UMLEdgeTypeOffsets::Secondary;
Declaration and implementation of ClusterArray class.
Derived class of GraphObserver providing additional functionality to handle clustered graphs.
Declares ClusterGraphAttributes, an extension of class GraphAttributes, to store clustergraph layout ...
Declaration and implementation of HashArray class.
Declaration of a base class for planar representations of graphs and cluster graphs.
Class for adjacency list elements.
Dynamic arrays indexed with adjacency entries.
Exception thrown when an algorithm realizes an internal bug that prevents it from continuing.
Representation of clusters in a clustered graph.
Stores additional attributes of a clustered graph (like layout information).
Representation of clustered graphs.
Planarized representations for clustered graphs.
EdgeArray< int > m_edgeClusterID
virtual ~ClusterPlanRep()
bool isClusterBoundary(edge e)
void writeGML(std::ostream &os, const Layout &drawing)
cluster clusterOfDummy(node v)
int ClusterID(node v) const
void insertEdgePathEmbedded(edge eOrig, CombinatorialEmbedding &E, const SList< adjEntry > &crossedEdges)
re-inserts edge eOrig by "crossing" the edges in crossedEdges; splits each edge in crossedEdges Preco...
void writeGML(const char *fileName, const Layout &drawing)
virtual void expand(bool lowDegreeExpand=false) override
Expands nodes with degree > 4 and merge nodes for generalizations.
HashArray< int, cluster > m_clusterOfIndex
edgeType clusterPattern()
NodeArray< int > m_nodeClusterID
virtual void expandLowDegreeVertices(OrthoRep &OR)
cluster clusterOfIndex(int i)
void writeGML(const char *fileName)
void convertClusterGraph(cluster act, AdjEntryArray< edge > ¤tEdge, AdjEntryArray< int > &outEdge)
Insert boundaries for all given clusters.
void setClusterBoundary(edge e)
ClusterPlanRep(const ClusterGraphAttributes &acGraph, const ClusterGraph &clusterGraph)
cluster clusterOfEdge(edge e)
Returns cluster of edge e.
const ClusterGraph & getClusterGraph() const
void reinsertEdge(edge e)
Reinserts edges to planarize the graph after convertClusterGraph.
adjEntry m_rootAdj
Connects cluster on highest level with non cluster or same level.
const ClusterGraph * m_pClusterGraph
void insertBoundary(cluster C, AdjEntryArray< edge > ¤tEdge, AdjEntryArray< int > &outEdge, bool clusterIsLeaf)
Insert edges to represent the cluster boundary.
int ClusterID(edge e) const
virtual edge split(edge e) override
Splits edge e, updates clustercage lists if necessary and returns new edge.
Combinatorial embeddings of planar graphs with modification functionality.
Dynamic arrays indexed with edges.
Class for the representation of edges.
node target() const
Returns the target node of the edge.
node source() const
Returns the source node of the edge.
Indexed arrays using hashing for element access.
Stores a layout of a graph (coordinates of nodes, bend points of edges).
Dynamic arrays indexed with nodes.
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).
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
#define OGDF_THROW(CLASS)
Replacement for throw.
#define OGDF_ASSERT(expr)
Assert condition expr. See doc/build.md for more information.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.