Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::SimpleIncNodeInserter Class Reference

#include <ogdf/planarity/SimpleIncNodeInserter.h>

+ Inheritance diagram for ogdf::SimpleIncNodeInserter:

Public Member Functions

 SimpleIncNodeInserter (PlanRepInc &PG)
 
virtual ~SimpleIncNodeInserter ()
 
void insertCopyNode (node v, CombinatorialEmbedding &E, Graph::NodeType vTyp) override
 Inserts copy in m_planRep for original node v. More...
 
void insertCopyNode (node v, Graph::NodeType vTyp)
 
- Public Member Functions inherited from ogdf::IncNodeInserter
 IncNodeInserter (PlanRepInc &PG)
 Creates inserter on PG. More...
 

Protected Member Functions

void constructDual (const Graph &G, const CombinatorialEmbedding &E, bool forbidCrossings=true)
 
void findShortestPath (const CombinatorialEmbedding &E, node s, node t, Graph::EdgeType eType, SList< adjEntry > &crossed)
 
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 adjEntries for the adjacent edges. More...
 
void insertCrossingEdges (node v, node vCopy, CombinatorialEmbedding &E, adjEntry &adExternal)
 
void insertEdge (CombinatorialEmbedding &E, edge eOrig, const SList< adjEntry > &crossed, bool forbidCrossingGens)
 
void insertFaceEdges (node v, node vCopy, face f, CombinatorialEmbedding &E, adjEntry &adExternal)
 

Private Member Functions

void updateComponentNumber (node vCopy, node wCopy, CombinatorialEmbedding &E, adjEntry adExternal)
 Set new number or delete treeConnnection edge. More...
 

Private Attributes

Graph m_dual
 
bool m_forbidCrossings
 should generalization crossings be avoided More...
 
NodeArray< List< edge > * > m_incidentEdges
 original edges(insertionnode) incident to original(node) More...
 
NodeArray< bool > m_insertFaceNode
 node lies at border of insertionface More...
 
FaceArray< nodem_nodeOf
 node in dual corresponding to to face in primal More...
 
EdgeArray< adjEntrym_primalAdj
 copy adj for edges in dual graph More...
 
EdgeArray< bool > m_primalIsGen
 true iff corresponding primal edge is a generalization More...
 
NodeArray< bool > m_vAdjNodes
 node is adjacent to insertion node More...
 
node m_vS
 source in the dual graph for edge insertion More...
 
node m_vT
 sink in the dual graph for edge insertion More...
 

Additional Inherited Members

- Protected Attributes inherited from ogdf::IncNodeInserter
PlanRepIncm_planRep
 pointer to a PlanRepInc that is to be changed More...
 

Detailed Description

Definition at line 49 of file SimpleIncNodeInserter.h.

Constructor & Destructor Documentation

◆ SimpleIncNodeInserter()

ogdf::SimpleIncNodeInserter::SimpleIncNodeInserter ( PlanRepInc PG)
explicit

◆ ~SimpleIncNodeInserter()

virtual ogdf::SimpleIncNodeInserter::~SimpleIncNodeInserter ( )
virtual

Member Function Documentation

◆ constructDual()

void ogdf::SimpleIncNodeInserter::constructDual ( const Graph G,
const CombinatorialEmbedding E,
bool  forbidCrossings = true 
)
protected

◆ findShortestPath()

void ogdf::SimpleIncNodeInserter::findShortestPath ( const CombinatorialEmbedding E,
node  s,
node  t,
Graph::EdgeType  eType,
SList< adjEntry > &  crossed 
)
protected

◆ getInsertionFace()

face ogdf::SimpleIncNodeInserter::getInsertionFace ( node  v,
CombinatorialEmbedding E 
)
overrideprotectedvirtual

Returns a face to insert a copy of v and a list of adjacency entries corresponding to the insertion adjEntries for the adjacent edges.

Implements ogdf::IncNodeInserter.

◆ insertCopyNode() [1/2]

void ogdf::SimpleIncNodeInserter::insertCopyNode ( node  v,
CombinatorialEmbedding E,
Graph::NodeType  vTyp 
)
overridevirtual

Inserts copy in m_planRep for original node v.

Implements ogdf::IncNodeInserter.

◆ insertCopyNode() [2/2]

void ogdf::SimpleIncNodeInserter::insertCopyNode ( node  v,
Graph::NodeType  vTyp 
)

◆ insertCrossingEdges()

void ogdf::SimpleIncNodeInserter::insertCrossingEdges ( node  v,
node  vCopy,
CombinatorialEmbedding E,
adjEntry adExternal 
)
protected

◆ insertEdge()

void ogdf::SimpleIncNodeInserter::insertEdge ( CombinatorialEmbedding E,
edge  eOrig,
const SList< adjEntry > &  crossed,
bool  forbidCrossingGens 
)
protected

◆ insertFaceEdges()

void ogdf::SimpleIncNodeInserter::insertFaceEdges ( node  v,
node  vCopy,
face  f,
CombinatorialEmbedding E,
adjEntry adExternal 
)
protected

◆ updateComponentNumber()

void ogdf::SimpleIncNodeInserter::updateComponentNumber ( node  vCopy,
node  wCopy,
CombinatorialEmbedding E,
adjEntry  adExternal 
)
inlineprivate

Set new number or delete treeConnnection edge.

Member Data Documentation

◆ m_dual

Graph ogdf::SimpleIncNodeInserter::m_dual
private

Definition at line 84 of file SimpleIncNodeInserter.h.

◆ m_forbidCrossings

bool ogdf::SimpleIncNodeInserter::m_forbidCrossings
private

should generalization crossings be avoided

Definition at line 91 of file SimpleIncNodeInserter.h.

◆ m_incidentEdges

NodeArray<List<edge>*> ogdf::SimpleIncNodeInserter::m_incidentEdges
private

original edges(insertionnode) incident to original(node)

Definition at line 88 of file SimpleIncNodeInserter.h.

◆ m_insertFaceNode

NodeArray<bool> ogdf::SimpleIncNodeInserter::m_insertFaceNode
private

node lies at border of insertionface

Definition at line 86 of file SimpleIncNodeInserter.h.

◆ m_nodeOf

FaceArray<node> ogdf::SimpleIncNodeInserter::m_nodeOf
private

node in dual corresponding to to face in primal

Definition at line 85 of file SimpleIncNodeInserter.h.

◆ m_primalAdj

EdgeArray<adjEntry> ogdf::SimpleIncNodeInserter::m_primalAdj
private

copy adj for edges in dual graph

Definition at line 89 of file SimpleIncNodeInserter.h.

◆ m_primalIsGen

EdgeArray<bool> ogdf::SimpleIncNodeInserter::m_primalIsGen
private

true iff corresponding primal edge is a generalization

Definition at line 90 of file SimpleIncNodeInserter.h.

◆ m_vAdjNodes

NodeArray<bool> ogdf::SimpleIncNodeInserter::m_vAdjNodes
private

node is adjacent to insertion node

Definition at line 87 of file SimpleIncNodeInserter.h.

◆ m_vS

node ogdf::SimpleIncNodeInserter::m_vS
private

source in the dual graph for edge insertion

Definition at line 92 of file SimpleIncNodeInserter.h.

◆ m_vT

node ogdf::SimpleIncNodeInserter::m_vT
private

sink in the dual graph for edge insertion

Definition at line 93 of file SimpleIncNodeInserter.h.


The documentation for this class was generated from the following file: