 |
Open Graph Drawing Framework |
v. 2022.02 (Dogwood)
|
|
|
Go to the documentation of this file.
42 template<
bool b>
class FaceSet;
84 void createEmpty(
const Graph &G);
149 if (f ==
nullptr) {
return nullptr; }
177 m_vCopy[m_vOrig[v] = vOrig] = v;
193 m_eCopy[m_eOrig[e] = eOrig] = e;
205 virtual void delEdge(
edge e)
override;
212 virtual void delNode(
node v)
override;
373 return m_eCopy[e].front()->adjSource();
375 return m_eCopy[e].back()->adjTarget();
396 return e->
source() != original(
copy(e)->source());
405 bool isReversedCopyEdge (
edge e)
const;
422 m_vCopy[m_vOrig[v] = vOrig] = v;
434 virtual void delNode(
node v)
override;
442 virtual void delEdge(
edge e)
override;
445 virtual void clear()
override;
452 virtual edge split(
edge e)
override;
463 void unsplit(
edge eIn,
edge eOut)
override;
475 void setEdge(
edge eOrig,
edge eCopy);
482 void removePseudoCrossings();
486 bool hasSameEdgesCrossings() const;
490 bool hasAdjacentEdgesCrossings() const;
501 inline
bool hasNonSimpleCrossings()
const {
502 return hasAdjacentEdgesCrossings() || hasSameEdgesCrossings();
531 removeNonSimpleCrossings(edgesToCheck, dualGraph);
550 removeNonSimpleCrossings(edgesToCheck, dualGraph);
574 void removeEdgePath(
edge eOrig);
626 void setOriginalEmbedding();
648 void insertEdgePathEmbedded(
653 void insertEdgePathEmbedded(
670 void removeEdgePathEmbedded(
675 void removeEdgePathEmbedded(
688 void consistencyCheck()
const;
732 void createEmpty(
const Graph &G);
774 void initByActiveNodes(
const List<node> &nodeList,
798 void removeUnnecessaryCrossing(
813 void removeUnnecessaryCrossing(
824 void removeAdjacentEdgesCrossing(
838 void removeSameEdgesCrossing(
862 void swapOriginalEdgesBetweenCrossings(
873 void setOriginalEdgeAlongCrossings(
NodeArray< node > m_vOrig
The corresponding node in the original graph.
adjEntry copy(adjEntry adj) const
Returns the adjacency entry in the copy graph corresponding to adj.
void removeNonSimpleCrossings(DynamicDualGraph *dualGraph=nullptr)
Removes all non-simple cossings (see hasNonSimpleCrossings() for a definition of non-simple crossings...
The namespace for all OGDF objects.
bool isDummy(edge e) const
Returns true iff e has no corresponding edge in the original graph.
adjEntry original(adjEntry adj) const
Returns the adjacency entry in the original graph corresponding to adj.
bool isReversed(edge e) const
Returns true iff edge e has been reversed.
#define OGDF_ASSERT(expr)
Assert condition expr. See doc/build.md for more information.
const Graph & original() const
Returns a reference to the original graph.
edge newEdge(node v, node w)
Creates a new edge (v,w) and returns it.
EdgeArray< edge > m_eOrig
The corresponding edge in the original graph.
#define OGDF_DEPRECATED(reason)
Mark a class / member / function as deprecated.
A dual graph including its combinatorial embedding of an embedded graph.
const Graph * m_pGraph
The original graph.
edge original(edge e) const
Returns the edge in the original graph corresponding to e.
Singly linked lists (maintaining the length of the list).
adjEntry copy(adjEntry adj) const
Returns the adjacency entry in the graph copy corresponding to adj.
node copy(node v) const
Returns the node in the graph copy corresponding to v.
Copies of graphs supporting edge splitting.
EdgeArray< edge > m_eOrig
The corresponding edge in the original graph.
const Graph & original() const
Returns a reference to the original graph.
bool isDummy(node v) const
Returns true iff v has no corresponding node in the original graph.
Copies of graphs with mapping between nodes and edges.
const Graph * m_pGraph
The original graph.
bool isDummy(edge e) const
Returns true iff e has no corresponding edge in the original graph.
void allEdges(CONTAINER &edgeContainer) const
Returns a container with all edges of the graph.
Dynamic arrays indexed with nodes.
Dynamic arrays indexed with edges.
node copy(node v) const
Returns the node in the graph copy corresponding to v.
Class for adjacency list elements.
bool isSource() const
Returns true iff this is the source adjacency entry of the corresponding edge.
NodeArray< node > m_vCopy
The corresponding node in the graph copy.
edge original(edge e) const
Returns the edge in the original graph corresponding to e.
edge theEdge() const
Returns the edge associated with this adjacency entry.
NodeArray< node > m_vOrig
The corresponding node in the original graph.
void removeNonSimpleCrossings(node origNode, DynamicDualGraph *dualGraph=nullptr)
Removes all non-simple cossings involving edges incident to origNode (see hasNonSimpleCrossings() for...
static void copy(const T &from, T &to)
Declaration of singly linked lists and iterators.
internal::GraphObjectContainer< AdjElement > adjEntries
The container containing all entries in the adjacency list of this node.
Declaration and implementation of EdgeArray class.
edge copy(edge e) const
Returns the edge in the graph copy corresponding to e.
const List< edge > & chain(edge e) const
Returns the list of edges coresponding to edge e.
Includes declaration of dual graph class.
edge copy(edge e) const
Returns the first edge in the list of edges coresponding to edge e.
node source() const
Returns the source node of the edge.
EdgeArray< List< edge > > m_eCopy
The corresponding list of edges in the graph copy.
adjEntry adjSource() const
Returns the corresponding adjacancy entry at source node.
Data type for general directed graphs (adjacency list representation).
node original(node v) const
Returns the node in the original graph corresponding to v.
node newNode(node vOrig)
Creates a new node in the graph copy with original node vOrig.
Declaration and implementation of NodeArray class.
node original(node v) const
Returns the node in the original graph corresponding to v.
adjEntry adjTarget() const
Returns the corresponding adjacancy entry at target node.
node newNode()
Creates a new node and returns it.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Combinatorial embeddings of planar graphs with modification functionality.
Class for the representation of edges.
EdgeArray< edge > m_eCopy
The corresponding edge in the graph copy.
virtual ~GraphCopySimple()
iterator pushBack(const E &x)
Adds element x at the end of the list.
GraphCopy()
Default constructor (does nothing!).
EdgeArray< ListIterator< edge > > m_eIterator
The position of copy edge in the list.
node target() const
Returns the target node of the edge.
adjEntry original(adjEntry adj) const
Returns the adjacency entry in the original graph corresponding to adj.
Class for the representation of nodes.
node newNode(node vOrig)
Creates a new node in the graph copy with original node vOrig.
edge newEdge(edge eOrig)
Creates a new edge in the graph copy with original edge eOrig.
bool isDummy(node v) const
Returns true iff v has no corresponding node in the original graph.
bool empty() const
Returns true iff there are no elements in the array.
NodeArray< node > m_vCopy
The corresponding node in the graph copy.