|
Open Graph Drawing Framework |
v. 2023.09 (Elderberry)
|
|
|
Go to the documentation of this file.
40 class OverlappingGraphCopies;
55 : m_pOGC(&mPOgc), m_vOrig(*this, nullptr), m_eOrig(*this, nullptr) { }
67 const Graph& original()
const;
178 void delEdge(
edge e)
override;
185 void delNode(
node v)
override;
215 : m_G(&G), m_node_copies(G), m_edge_copies(G) { }
221 const
NA::EntryType& copies(
node n)
const {
return m_node_copies.
get_all(n); }
The namespace for all OGDF objects.
void breakLinkForMasterDeconstruction()
Includes declaration of graph class.
~OverlappingGraphCopy() override
The manager class for multiple OverlappingGraphCopy instances of the same graph.
RegisteredMultiArray for the usual GraphArray classes. TODO should be moved to a central location.
#define OGDF_ASSERT(expr)
Assert condition expr. See doc/build.md for more information.
OverlappingGraphCopies * m_pOGC
The master instance.
adjEntry original(adjEntry adj) const
Returns the adjacency entry in the original graph corresponding to adj.
void clear() override
Removes all nodes and all edges from the graph.
Simple, safe base classes for C++ observables and observers.
#define OGDF_NO_MOVE(cls)
Explicitly disables (deletes) move construction and assignment for class cls.
OverlappingGraphCopies(const Graph &G)
A wrapper around std::map that uses a constant-size array (or only a single value) plus linear search...
Version of GraphCopySimple that may efficiently share some overlap with other instances of the same o...
Class for adjacency list elements.
bool isSource() const
Returns true iff this is the source adjacency entry of the corresponding edge.
edge theEdge() const
Returns the edge associated with this adjacency entry.
virtual void clear()
Removes all nodes and all edges from the graph.
static void copy(const T &from, T &to)
const Graph * graphOf() const
Returns the graph containing this node (debug only).
Data structure for two-dimensional mappings that are sparse in the second dimension.
NodeArray< node > m_vOrig
The corresponding node in the original graph.
const Graph * constGraph() const
#define OGDF_NO_COPY(cls)
Explicitly disables (deletes) copy construction and assignment for class cls.
RegisteredArray for nodes, edges and adjEntries of a graph.
adjEntry adjSource() const
Returns the corresponding adjacancy entry at source node.
Data type for general directed graphs (adjacency list representation).
edge original(edge e) const
Returns the edge in the original graph corresponding to e.
adjEntry copy(adjEntry adj) const
Returns the adjacency entry in the graph copy corresponding to adj.
adjEntry adjTarget() const
Returns the corresponding adjacancy entry at target node.
EntryType & get_all(const Key1 &k1)
Basic declarations, included by all source files.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
node newNode(int index=-1)
Creates a new node and returns it.
bool isDummy(node v) const
Returns true iff v has no corresponding node in the original graph.
Class for the representation of edges.
const Graph * graphOf() const
Returns the graph containing this node (debug only).
void init(const Graph *base=nullptr)
Reinitializes the array. Associates the array with the matching registry of base.
OverlappingGraphCopy(OverlappingGraphCopies &mPOgc)
node original(node v) const
Returns the node in the original graph corresponding to v.
edge newEdge(node v, node w, int index=-1)
Creates a new edge (v,w) and returns it.
bool isDummy(edge e) const
Returns true iff e has no corresponding edge in the original graph.
Class for the representation of nodes.
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
const EA::EntryType & copies(edge e) const
EdgeArray< edge > m_eOrig
The corresponding edge in the original graph.