Minor-monotone edge insertion with variable embedding.
More...
#include <ogdf/planarity/MMVariableEmbeddingInserter.h>
|
void | anchorNodes (node vOrig, NodeSet<> &nodes) const |
| Returns all anchor nodes of vOrig in nnodes .
|
|
void | blockInsert (Block &BC, List< Crossing > &L, AnchorNodeInfo &srcInfo, AnchorNodeInfo &tgtInfo) |
| Computes optimal insertion path in block BC .
|
|
void | buildSubpath (node v, edge eIn, edge eOut, Paths &paths, bool &bPathToEdge, bool &bPathToSrc, bool &bPathToTgt, ExpandedSkeleton &Exp) |
|
void | collectAnchorNodes (node v, NodeSet<> &nodes, const PlanRepExpansion::NodeSplit *nsParent) const |
| Collects all anchor nodes (including dummies) of a node.
|
|
void | contractSplitIfReq (node u) |
|
void | convertDummy (node u, node vOrig, PlanRepExpansion::nodeSplit ns_0) |
|
bool | dfsBlock (int i, node parent, node &repS, List< Crossing > &eip, AnchorNodeInfo &vStart, AnchorNodeInfo &vEnd) |
| Implements block case of recursive path search in BC-tree.
|
|
bool | dfsVertex (node v, int parent, List< Crossing > &eip, AnchorNodeInfo &vStart, AnchorNodeInfo &vEnd) |
| Implements vertex case of recursive path search in BC-tree.
|
|
virtual ReturnType | doCall (PlanRepExpansion &PG, const List< edge > &origEdges, const EdgeArray< bool > *forbiddenEdgeOrig) override |
| Implementation of algorithm call.
|
|
void | findPseudos (node vDummy, adjEntry adjSrc, AnchorNodeInfo &infoSrc, SListPure< node > &pseudos) |
|
void | findSourcesAndTargets (node src, node tgt, NodeSet<> &sources, NodeSet<> &targets) const |
| Finds the set of anchor nodes of src and tgt .
|
|
void | insert (List< Crossing > &eip, AnchorNodeInfo &vStart, AnchorNodeInfo &vEnd) |
| Computes insertion path eip .
|
|
void | insertWithCommonDummy (edge eOrig, node vDummy, node &src, node &tgt) |
|
bool | pathSearch (node v, edge parent, const Block &BC, List< edge > &path) |
|
node | prepareAnchorNode (const AnchorNodeInfo &anchor, node vOrig, bool isSrc, edge &eExtra) |
|
node | preparePath (node vAnchor, adjEntry adjPath, bool bOrigEdge, node vOrig) |
|
void | preprocessInsertionPath (const AnchorNodeInfo &srcInfo, const AnchorNodeInfo &tgtInfo, node srcOrig, node tgtOrig, node &src, node &tgt, edge &eSrc, edge &eTgt) |
|
void | writeEip (const List< Crossing > &eip) |
|
Minor-monotone edge insertion with variable embedding.
Definition at line 47 of file MMVariableEmbeddingInserter.h.
◆ Crossing
◆ PathType
◆ MMVariableEmbeddingInserter()
ogdf::MMVariableEmbeddingInserter::MMVariableEmbeddingInserter |
( |
| ) |
|
Creates a minor-monotone fixed embedding inserter.
◆ ~MMVariableEmbeddingInserter()
virtual ogdf::MMVariableEmbeddingInserter::~MMVariableEmbeddingInserter |
( |
| ) |
|
|
inlinevirtual |
◆ anchorNodes()
void ogdf::MMVariableEmbeddingInserter::anchorNodes |
( |
node |
vOrig, |
|
|
NodeSet<> & |
nodes |
|
) |
| const |
|
private |
Returns all anchor nodes of vOrig
in nnodes
.
- Parameters
-
vOrig | is a node in the original graph. |
nodes | ia assigned the set of anchor nodes. |
◆ blockInsert()
Computes optimal insertion path in block BC
.
- Parameters
-
BC | is the block. |
L | is assigned the insertion path (the crossed edges). |
srcInfo | is assigned the start point of the insertion path. |
tgtInfo | is assigned the end point of the insertion path. |
◆ buildSubpath()
◆ collectAnchorNodes()
Collects all anchor nodes (including dummies) of a node.
- Parameters
-
v | is the current node when traversing all copy nodes of an original node that are connected in a tree-wise manner. |
nodes | is assigned the set of anchor nodes. |
nsParent | is the parent node split. |
◆ commonDummy()
◆ contractSplitIfReq()
void ogdf::MMVariableEmbeddingInserter::contractSplitIfReq |
( |
node |
u | ) |
|
|
private |
◆ convertDummy()
◆ dfsBlock()
Implements block case of recursive path search in BC-tree.
- Parameters
-
i | is the block in the graph currently visited during BC-tree traversal. |
parent | is the parent node in DFS-traversal. |
repS | is assigned the representative (nodein the graph) of a source node. |
eip | is (step-by-step) assigned the insertion path (crossed edges). |
vStart | is assigned the start point of eip . |
vEnd | is assigned the end point of eip . |
◆ dfsVertex()
Implements vertex case of recursive path search in BC-tree.
- Parameters
-
v | is the node in the graph currently visited during BC-tree traversal. |
parent | is the parent block in DFS-traversal. |
eip | is (step-by-step) assigned the insertion path (crossed edges). |
vStart | is assigned the start point of eip . |
vEnd | is assigned the end point of eip . |
◆ doCall()
Implementation of algorithm call.
- Parameters
-
PG | is the input planarized expansion and will also receive the result. |
origEdges | is the list of original edges (edges in the original graph of PG ) that have to be inserted. |
forbiddenEdgeOrig | points to an edge array indicating if an original edge is forbidden to be crossed. |
Implements ogdf::MMEdgeInsertionModule.
◆ findPseudos()
◆ findSourcesAndTargets()
void ogdf::MMVariableEmbeddingInserter::findSourcesAndTargets |
( |
node |
src, |
|
|
node |
tgt, |
|
|
NodeSet<> & |
sources, |
|
|
NodeSet<> & |
targets |
|
) |
| const |
|
private |
Finds the set of anchor nodes of src
and tgt
.
- Parameters
-
src | is a node in PG representing an original node. |
tgt | is a node in PG representing an original node. |
sources | ia assigned the set of anchor nodes of src's original node. |
targets | ia assigned the set of anchor nodes of tgt's original node. |
◆ insert()
Computes insertion path eip
.
The possible start and end nodes of the insertion path have to be stored in m_pSources and m_pTargets.
- Parameters
-
eip | is assigned the insertion path (the crossed edges). |
vStart | is assigned the start point of the insertion path. |
vEnd | is assigned the end point of the insertion path. |
◆ insertWithCommonDummy()
void ogdf::MMVariableEmbeddingInserter::insertWithCommonDummy |
( |
edge |
eOrig, |
|
|
node |
vDummy, |
|
|
node & |
src, |
|
|
node & |
tgt |
|
) |
| |
|
private |
◆ pathSearch()
◆ percentMostCrossed() [1/2]
double ogdf::MMVariableEmbeddingInserter::percentMostCrossed |
( |
| ) |
const |
|
inline |
◆ percentMostCrossed() [2/2]
void ogdf::MMVariableEmbeddingInserter::percentMostCrossed |
( |
double |
percent | ) |
|
|
inline |
Sets the portion of most crossed edges used during postprocessing.
The value is only used if the remove-reinsert option is set to rrMostCrossed. The number of edges used in postprocessing is then number of edges * percentMostCrossed() / 100.
Definition at line 74 of file MMVariableEmbeddingInserter.h.
◆ prepareAnchorNode()
◆ preparePath()
◆ preprocessInsertionPath()
◆ removeReinsert() [1/2]
◆ removeReinsert() [2/2]
◆ writeEip()
◆ m_compV
◆ m_conFinished
bool ogdf::MMVariableEmbeddingInserter::m_conFinished |
|
private |
◆ m_edgeB
◆ m_forbiddenEdgeOrig
◆ m_GtoBC
◆ m_nodeB
◆ m_percentMostCrossed
double ogdf::MMVariableEmbeddingInserter::m_percentMostCrossed |
|
private |
◆ m_pPG
◆ m_pSources
NodeSet* ogdf::MMVariableEmbeddingInserter::m_pSources |
|
private |
◆ m_pTargets
NodeSet* ogdf::MMVariableEmbeddingInserter::m_pTargets |
|
private |
◆ m_rrOption
The documentation for this class was generated from the following file: