|
Open Graph Drawing Framework |
v. 2023.09 (Elderberry)
|
|
|
Go to the documentation of this file.
47 class ClusterGraphAttributes;
48 class CombinatorialEmbedding;
68 return (edgeTypeOf(e) & clusterPattern()) == clusterPattern();
85 void ModelBoundaries();
93 virtual void expand(
bool lowDegreeExpand =
false)
override;
95 virtual void expandLowDegreeVertices(
OrthoRep& OR);
102 m_edgeClusterID[eNew] = m_edgeClusterID[e];
103 m_nodeClusterID[eNew->
source()] = m_edgeClusterID[e];
115 const auto sourceId = ClusterID(e->
source());
116 const auto targetId = ClusterID(e->
target());
117 cluster targetCluster = clusterOfIndex(targetId);
119 if (sourceId == targetId) {
120 return targetCluster;
123 cluster sourceCluster = clusterOfIndex(sourceId);
125 if (sourceCluster == targetCluster->
parent()) {
126 return sourceCluster;
128 if (targetCluster == sourceCluster->
parent()) {
129 return targetCluster;
131 if (targetCluster->
parent() == sourceCluster->
parent()) {
132 return sourceCluster->
parent();
145 return m_clusterOfIndex[i];
151 return clusterOfIndex(ClusterID(v));
155 void writeGML(
const char* fileName,
const Layout& drawing);
156 void writeGML(
const char* fileName);
157 void writeGML(std::ostream& os,
const Layout& drawing);
169 void reinsertEdge(
edge e);
Declaration and implementation of HashArray class.
The namespace for all OGDF objects.
int ClusterID(edge e) const
cluster clusterOfIndex(int i)
Includes declaration of graph class.
Definition of exception classes.
Planarized representations (of a connected component) of a graph.
#define OGDF_ASSERT(expr)
Assert condition expr. See doc/build.md for more information.
adjEntry m_rootAdj
Connects cluster on highest level with non cluster or same level.
Planarized representations for clustered graphs.
const ClusterGraph & getClusterGraph() const
Singly linked lists (maintaining the length of the list).
edgeType clusterPattern()
cluster clusterOfDummy(node v)
int ClusterID(node v) const
Declaration of a base class for planar representations of graphs and cluster graphs.
Class for adjacency list elements.
Exception thrown when an algorithm realizes an internal bug that prevents it from continuing.
EdgeArray< int > m_edgeClusterID
Representation of clusters in a clustered graph.
Stores additional attributes of a clustered graph (like layout information).
const ClusterGraph * m_pClusterGraph
Stores a layout of a graph (coordinates of nodes, bend points of edges).
cluster clusterOfEdge(edge e)
Returns cluster of edge e.
#define OGDF_THROW(CLASS)
Replacement for throw.
Orthogonal representation of an embedded graph.
Declaration of singly linked lists and iterators.
HashArray< int, cluster > m_clusterOfIndex
Indexed arrays using hashing for element access.
virtual ~ClusterPlanRep()
node source() const
Returns the source node of the edge.
RegisteredArray for nodes, edges and adjEntries of a graph.
virtual edge split(edge e) override
Splits edge e, updates clustercage lists if necessary and returns new edge.
Basic declarations, included by all source files.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Combinatorial embeddings of planar graphs with modification functionality.
bool isClusterBoundary(edge e)
Class for the representation of edges.
Derived class of GraphObserver providing additional functionality to handle clustered graphs.
cluster parent()
Returns the parent of the cluster.
void setClusterBoundary(edge e)
node target() const
Returns the target node of the edge.
Representation of clustered graphs.
Class for the representation of nodes.
virtual edge split(edge e) override
Splits edge e.
Edge types and patterns for planar representations.
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
NodeArray< int > m_nodeClusterID