89 getPath(UPR, origEdges, cost, e_orig, path,
false);
95 getPath(UPR, origEdges, cost, e_orig, path,
true);
Declaration of CombinatorialEmbedding and face.
Includes declaration of graph class.
Declaration of interface for edge insertion algorithms.
Declaration of class UpwardPlanarity, which implements different types of algorithms testing upward p...
Basic declarations, included by all source files.
Class for adjacency list elements.
Class for the representation of edges.
Faces in a combinatorial embedding.
Edge insertion module that inserts each edge optimally into a fixed embedding.
void constraintFIP(UpwardPlanRep &UPR, List< edge > &origEdges, EdgeArray< int > &cost, edge e_orig, SList< adjEntry > &path)
compute a constraint feasible insertion path usig heuristic.
bool isConstraintFeasible(UpwardPlanRep &UPR, List< edge > &origEdges, edge e_orig, SList< adjEntry > &path)
return true if current insertion path is contraint feasible
bool isUpwardPlanar(Graph &G) const
void dynamicLock(UpwardPlanRep &UPR, EdgeArray< bool > &locked, face f, adjEntry e_cur)
compute a list of dynamic locked edges
void feasibleEdges(UpwardPlanRep &UPR, face f, adjEntry adj, EdgeArray< bool > &locked, List< adjEntry > &feasible, bool heuristic)
compute the feasible edges of the face f with respect to e
~FixedEmbeddingUpwardEdgeInserter()
void markDown(const Graph &G, node v, EdgeArray< bool > &markedEdges)
mark the edges which dominate node v
bool isConstraintFeasible(UpwardPlanRep &UPR, const List< edge > &orig_edges, edge e_orig, adjEntry adjCurrent, adjEntry adjNext, EdgeArray< adjEntry > &predAdj)
return true if current insertion path is contraint feasible
void markUp(const Graph &G, node v, EdgeArray< bool > &markedEdges)
mark the edges which are dominates by node v
void nextFeasibleEdges(UpwardPlanRep &UPR, List< adjEntry > &nextEdges, face f, adjEntry e_cur, EdgeArray< bool > &locked, bool heuristic)
void getPath(UpwardPlanRep &UPR, List< edge > &origEdges, EdgeArray< int > &cost, edge e_orig, SList< adjEntry > &path, bool heuristic)
compute an insertion path
void minFIP(UpwardPlanRep &UPR, List< edge > &origEdges, EdgeArray< int > &cost, edge e_orig, SList< adjEntry > &path)
compute the minimal feasible insertion path
void staticLock(UpwardPlanRep &UPR, EdgeArray< bool > &locked, const List< edge > &origEdges, edge e_orig)
compute a list of static locked edges, i.e. eges which a priory cannot included in a feasible inserti...
FixedEmbeddingUpwardEdgeInserter()
Creates an instance of fixed-embedding edge inserter.
ReturnType insertAll(UpwardPlanRep &UPR, List< edge > &toInsert, EdgeArray< int > &cost)
virtual ReturnType doCall(UpwardPlanRep &UPR, const List< edge > &origEdges, const EdgeArray< int > *costOrig=nullptr, const EdgeArray< bool > *forbiddenEdgeOrig=nullptr) override
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.
Class for the representation of nodes.
Singly linked lists (maintaining the length of the list).
Upward planarized representations (of a connected component) of a graph.
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF dynamic library (shared object / DLL),...
The namespace for all OGDF objects.