78 bool forbidCrossingGens);
Declaration of CombinatorialEmbedding and face.
Includes declaration of graph class.
Declaration of class IncNodeInserter.
Declaration of singly linked lists and iterators.
Basic declarations, included by all source files.
Class for adjacency list elements.
Combinatorial embeddings of planar graphs with modification functionality.
Class for the representation of edges.
RegisteredArray for labeling the faces of a CombinatorialEmbedding.
Faces in a combinatorial embedding.
Data type for general directed graphs (adjacency list representation).
NodeType
The type of nodes.
EdgeType
The type of edges (only used in derived classes).
Class for the representation of nodes.
This class is only an adaption of PlanRep for the special incremental drawing case.
Singly linked lists (maintaining the length of the list).
void insertCopyNode(node v, CombinatorialEmbedding &E, Graph::NodeType vTyp) override
Inserts copy in m_planRep for original node v.
void insertCopyNode(node v, Graph::NodeType vTyp)
FaceArray< node > m_nodeOf
node in dual corresponding to to face in primal
void insertEdge(CombinatorialEmbedding &E, edge eOrig, const SList< adjEntry > &crossed, bool forbidCrossingGens)
NodeArray< bool > m_vAdjNodes
node is adjacent to insertion node
face getInsertionFace(node v, CombinatorialEmbedding &E) override
Returns a face to insert a copy of v and a list of adjacency entries corresponding to the insertion a...
EdgeArray< bool > m_primalIsGen
true iff corresponding primal edge is a generalization
node m_vT
sink in the dual graph for edge insertion
SimpleIncNodeInserter(PlanRepInc &PG)
virtual ~SimpleIncNodeInserter()
bool m_forbidCrossings
should generalization crossings be avoided
node m_vS
source in the dual graph for edge insertion
EdgeArray< adjEntry > m_primalAdj
copy adj for edges in dual graph
void insertCrossingEdges(node v, node vCopy, CombinatorialEmbedding &E, adjEntry &adExternal)
NodeArray< bool > m_insertFaceNode
node lies at border of insertionface
void findShortestPath(const CombinatorialEmbedding &E, node s, node t, Graph::EdgeType eType, SList< adjEntry > &crossed)
void constructDual(const Graph &G, const CombinatorialEmbedding &E, bool forbidCrossings=true)
void updateComponentNumber(node vCopy, node wCopy, CombinatorialEmbedding &E, adjEntry adExternal)
Set new number or delete treeConnnection edge.
void insertFaceEdges(node v, node vCopy, face f, CombinatorialEmbedding &E, adjEntry &adExternal)
NodeArray< List< edge > * > m_incidentEdges
original edges(insertionnode) incident to original(node)
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.