114 return PathDir::Right;
116 return PathDir::Left;
118 return PathDir::None;
Declaration of interface for edge insertion algorithms.
declaration and implementation of FaceArray class
Definition of RemoveReinsertType (used for postprocessing in edge insertion algorithms).
Declaration of class StaticPlanarSPQRTree.
Class for adjacency list elements.
Dynamic arrays indexed with adjacency entries.
The parameterized class Array implements dynamic arrays of type E.
Class representing idea of Blocks used in GlobalSifting and GridSifting algorithms.
Combinatorial embeddings of planar graphs.
Dynamic arrays indexed with edges.
Class for the representation of edges.
Interface for edge insertion algorithms.
Dynamic arrays indexed with faces of a combinatorial embedding.
Data type for general directed graphs (adjacency list representation).
Doubly linked lists (maintaining the length of the list).
ReturnType
The return type of a module.
Multi edge inserter with approximation guarantee.
virtual EdgeInsertionModule * clone() const override
Returns a new instance of the multi-edge approx inserter with the same option settings.
RemoveReinsertType removeReinsertFix() const
Returns the current setting of the remove-reinsert postprocessing method.
Array< int > m_insertionCosts
double percentMostCrossedVar() const
Returns the current setting of option percentMostCrossed (variable embedding).
Array< List< VertexBlock > > m_pathBCs
NodeArray< SList< VertexBlock > > m_copyInBlocks
static PathDir oppDir(PathDir dir)
Returns the opposite direction of dir.
RemoveReinsertType m_rrOptionFix
The remove-reinsert method for fixed embedding.
void removeReinsertVar(RemoveReinsertType rrOption)
Sets the remove-reinsert postprocessing method.
double m_percentMostCrossedFix
The portion of most crossed edges considered (fixed embedding).
bool dfsPathVertex(node v, int parent, int k, node t)
ReturnType doCall(PlanRepLight &pr, const Array< edge > &origEdges, const EdgeArray< int > *costOrig, const EdgeArray< bool > *forbiddenEdge, const EdgeArray< uint32_t > *edgeSubGraphs) override
Implements the algorithm call.
double percentMostCrossedFix() const
Returns the current setting of option percentMostCrossed.
bool dfsPathBlock(int b, node parent, int k, node t)
int computePathSPQR(int b, node v, node w, int k)
int findShortestPath(node s, node t)
Array< SList< edge > > m_edgesB
AdjEntryArray< adjEntry > m_primalAdj
FaceArray< node > m_faceNode
MultiEdgeApproxInserter::Block * constructBlock(int i)
node copy(node vOrig, int b)
void embedBlock(int b, int m)
void recFlipPref(adjEntry adjP, NodeArray< EmbeddingPreference > &pi_pick, const NodeArray< bool > &visited, StaticPlanarSPQRTree &spqr)
ConstCombinatorialEmbedding m_E
void constructDual(const PlanRepLight &pr)
int sumFEInsertionCosts() const
void computePathBC(int k)
int m_sumFEInsertionCosts
RemoveReinsertType m_rrOptionVar
The remove-reinsert method for variable embedding.
void removeReinsertFix(RemoveReinsertType rrOption)
Sets the remove-reinsert postprocessing method.
~MultiEdgeApproxInserter()
Destructor.
RemoveReinsertType removeReinsertVar() const
Returns the current setting of the remove-reinsert postprocessing method.
const Array< edge > * m_edge
NodeArray< SList< int > > m_compV
static bool dfsPathSPQR(node v, node v2, edge eParent, List< edge > &path)
Array< SList< node > > m_verticesB
MultiEdgeApproxInserter(const MultiEdgeApproxInserter &inserter)
Creates an instance of multi-edge approx inserter with the same settings as inserter.
void percentMostCrossedFix(double percent)
Sets the option percentMostCrossed to percent.
MultiEdgeApproxInserter()
Creates an instance of multi-edge approx inserter with default option settings.
int sumInsertionCosts() const
double m_percentMostCrossedVar
The portion of most crossed edges considered (variable embedding).
void percentMostCrossedVar(double percent)
Sets the option percentMostCrossedVar to percent.
NodeArray< node > m_GtoBC
const EdgeArray< int > * m_costOrig
MultiEdgeApproxInserter & operator=(const MultiEdgeApproxInserter &inserter)
Assignment operator. Copies option settings only.
Dynamic arrays indexed with nodes.
Class for the representation of nodes.
Light-weight version of a planarized representation, associated with a PlanRep.
SPQR-trees of planar graphs.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
RemoveReinsertType
The postprocessing method for edge insertion algorithms.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.
@ None
Two geometric objects do not intersect.
VertexBlock(node v, int b)