103 enum class PathType { pathToEdge = 0, pathToSource = 1, pathToTarget = 2 };
112 , m_pred(0, 2,
PathType::pathToEdge) { }
Declaration of CombinatorialEmbedding and face.
declaration and implementation of FaceArray class
Declaration of interface for minor-monotone edge insertion algorithms.
Declaration and implementation of ogdf::NodeSet.
Definition of RemoveReinsertType (used for postprocessing in edge insertion algorithms).
Class for adjacency list elements.
The parameterized class Array implements dynamic arrays of type E.
Class representing idea of Blocks used in GlobalSifting and GridSifting algorithms.
Dynamic arrays indexed with edges.
Class for the representation of edges.
Doubly linked lists (maintaining the length of the list).
Interface for minor-monotone edge insertion algorithms.
Minor-monotone edge insertion with variable embedding.
bool dfsVertex(node v, int parent, List< Crossing > &eip, AnchorNodeInfo &vStart, AnchorNodeInfo &vEnd)
Implements vertex case of recursive path search in BC-tree.
void percentMostCrossed(double percent)
Sets the portion of most crossed edges used during postprocessing.
RemoveReinsertType removeReinsert() const
Returns the current setting of the remove-reinsert option.
void collectAnchorNodes(node v, NodeSet<> &nodes, const PlanRepExpansion::NodeSplit *nsParent) const
Collects all anchor nodes (including dummies) of a node.
NodeArray< node > m_GtoBC
Maps a node in the planarized expansion to the corresponding node in block.
void findPseudos(node vDummy, adjEntry adjSrc, AnchorNodeInfo &infoSrc, SListPure< node > &pseudos)
const EdgeArray< bool > * m_forbiddenEdgeOrig
void buildSubpath(node v, edge eIn, edge eOut, Paths &paths, bool &bPathToEdge, bool &bPathToSrc, bool &bPathToTgt, ExpandedSkeleton &Exp)
double percentMostCrossed() const
Returns the current setting of the option percentMostCrossed.
NodeSet * m_pTargets
The set of possible end nodes of an insertion path.
Array< SList< node > > m_nodeB
The list of nodes in block i.
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.
void findSourcesAndTargets(node src, node tgt, NodeSet<> &sources, NodeSet<> &targets) const
Finds the set of anchor nodes of src and tgt.
void preprocessInsertionPath(const AnchorNodeInfo &srcInfo, const AnchorNodeInfo &tgtInfo, node srcOrig, node tgtOrig, node &src, node &tgt, edge &eSrc, edge &eTgt)
PlanRepExpansion * m_pPG
Pointer to the planarized expansion.
node preparePath(node vAnchor, adjEntry adjPath, bool bOrigEdge, node vOrig)
void anchorNodes(node vOrig, NodeSet<> &nodes) const
Returns all anchor nodes of vOrig in nnodes.
NodeSet * m_pSources
The set of possible start nodes of an insertion path.
MMVariableEmbeddingInserter()
Creates a minor-monotone fixed embedding inserter.
double m_percentMostCrossed
The percentMostCrossed option.
void blockInsert(Block &BC, List< Crossing > &L, AnchorNodeInfo &srcInfo, AnchorNodeInfo &tgtInfo)
Computes optimal insertion path in block BC.
bool pathSearch(node v, edge parent, const Block &BC, List< edge > &path)
virtual ReturnType doCall(PlanRepExpansion &PG, const List< edge > &origEdges, const EdgeArray< bool > *forbiddenEdgeOrig) override
Implementation of algorithm call.
NodeArray< SList< int > > m_compV
The list of blocks containing a node v.
static node commonDummy(NodeSet<> &sources, NodeSet<> &targets)
void convertDummy(node u, node vOrig, PlanRepExpansion::nodeSplit ns_0)
Array< SList< edge > > m_edgeB
The list of edges in block i.
void insert(List< Crossing > &eip, AnchorNodeInfo &vStart, AnchorNodeInfo &vEnd)
Computes insertion path eip.
void writeEip(const List< Crossing > &eip)
bool m_conFinished
Stores if a possible target node in a block has already been found.
void removeReinsert(RemoveReinsertType rrOption)
Sets the remove-reinsert option for postprocessing.
void insertWithCommonDummy(edge eOrig, node vDummy, node &src, node &tgt)
void contractSplitIfReq(node u)
virtual ~MMVariableEmbeddingInserter()
RemoveReinsertType m_rrOption
The remove-reinsert option.
node prepareAnchorNode(const AnchorNodeInfo &anchor, node vOrig, bool isSrc, edge &eExtra)
ReturnType
The return type of a module.
Dynamic arrays indexed with nodes.
Class for the representation of nodes.
Representation of a node split in a planarized expansion.
Planarized representations (of a connected component) of a graph.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
RemoveReinsertType
The postprocessing method for edge insertion algorithms.
#define OGDF_ASSERT(expr)
Assert condition expr. See doc/build.md for more information.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.
AnchorNodeInfo(adjEntry adj_1, adjEntry adj_2)
AnchorNodeInfo(adjEntry adj)
Array< AnchorNodeInfo > m_src
Array< List< Crossing > > m_paths
Array< SList< adjEntry > > m_addPartLeft
Array< SList< adjEntry > > m_addPartRight
Array< AnchorNodeInfo > m_tgt
Declaration and implementation of class Tuple2, Tuple3 and Tuple4.