44template<
class BaseEmbedder,
class T>
58 face f =
CE.leftFace(m_adjExternal);
60 if (*BaseEmbedder::pAdjExternal ==
nullptr) {
66 *BaseEmbedder::pAdjExternal =
ae->twin();
85 node nG = BaseEmbedder::pBCTree->original(
nH);
89 if (BaseEmbedder::pBCTree->bcproper(
nG) ==
cT) {
96 node cT2 = BaseEmbedder::pBCTree->bcproper(
nG);
143 (*p_adjacencyList)[
nBG].pushBack(
ae_nBG);
158 (*p_adjacencyList)[
adj2->twinNode()];
160 }
while (
adj2 != adj);
167 for (
int i = 0; i <
p_faces->size(); i++) {
211 if (
adj2 ==
f->firstAdj()) {
224 node s = e->source();
225 node t = e->target();
247 if (adj->theNode() ==
nSG) {
255 int thisDist = (*p_distances)[(*p_fPG_to_nDG)[
fID]];
269 if (!BaseEmbedder::treeNodeTreated[
bT2]) {
281 if (
nG ==
eG->source()) {
285 *
pAfter = BaseEmbedder::newOrder[
nG].pushBack(
eG->adjSource());
291 *
pAfter = BaseEmbedder::newOrder[
nG].pushBack(
eG->adjTarget());
Declaration of class BCTree.
Declaration of CombinatorialEmbedding and face.
Computes an embedding of a biconnected graph with maximum external face.
Declaration of class ShortestPathWithBFM which computes shortest paths via Bellman-Ford-Moore.
Class for adjacency list elements.
adjEntry succ() const
Returns the successor in the adjacency list.
edge theEdge() const
Returns the edge associated with this adjacency entry.
node theNode() const
Returns the node whose adjacency list contains this element.
An array that keeps track of the number of inserted elements; also usable as an efficient stack.
Combinatorial embeddings of planar graphs with modification functionality.
Dynamic arrays indexed with edges.
Class for the representation of edges.
edge succ() const
Returns the successor in the list of all edges.
node target() const
Returns the target node of the edge.
static void embed(Graph &G, adjEntry &adjExternal, const NodeArray< T > &nodeLength, const EdgeArray< T > &edgeLength, const node &n=nullptr)
Embeds G by computing and extending a maximum face in G containing n.
Faces in a combinatorial embedding.
Data type for general directed graphs (adjacency list representation).
Doubly linked lists (maintaining the length of the list).
Encapsulates a pointer to a list element.
const_iterator cyclicPred(const_iterator it) const
Returns a const iterator to the cyclic predecessor of it.
Dynamic arrays indexed with nodes.
void init()
Reinitializes the array. Associates the array with no graph.
Class for the representation of nodes.
internal::GraphObjectContainer< AdjElement > adjEntries
The container containing all entries in the adjacency list of this node.
Computes single-source shortest-paths with Bellman-Ford-Moore's algorithm.
Common functionality for layer-based embedding algorithms.
void internalEmbedBlock(Graph &SG, NodeArray< T > &nodeLengthSG, EdgeArray< T > &edgeLengthSG, NodeArray< node > &nSG_to_nG, EdgeArray< edge > &eSG_to_eG, node nodeInBlockSG, node cT, ListIterator< adjEntry > &after)
#define OGDF_ASSERT(expr)
Assert condition expr. See doc/build.md for more information.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.