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: