Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::planar_separator::SeparatorDualHelper Class Reference

Helper class for SeparatorDual and SeparatorDualFC. More...

#include <ogdf/graphalg/planar_separator/SeparatorDualHelper.h>

Classes

struct  CycleData
 Auxiliary lightweight data structure to represent cycles. More...
 

Public Member Functions

 SeparatorDualHelper (std::shared_ptr< GraphCopy > pGraph, std::shared_ptr< BFSTree > pTree)
 
CycleData dfs ()
 Recursive Depth First Search over the faces of the dual of the graph. More...
 
List< std::pair< face, adjEntry > > getUnmarkedNeighbours (face f, adjEntry adj)
 Finds all unmarked neighbours of a face. More...
 
CycleData process (face f, adjEntry adj)
 Processes a face: One step of the recursion in the DFS. More...
 

Public Attributes

CombinatorialEmbedding embedding
 
std::shared_ptr< GraphCopygraph
 
FaceArray< bool > marked
 
std::shared_ptr< BFSTreetree
 

Detailed Description

Helper class for SeparatorDual and SeparatorDualFC.

Definition at line 47 of file SeparatorDualHelper.h.

Constructor & Destructor Documentation

◆ SeparatorDualHelper()

ogdf::planar_separator::SeparatorDualHelper::SeparatorDualHelper ( std::shared_ptr< GraphCopy pGraph,
std::shared_ptr< BFSTree pTree 
)
inline

Definition at line 49 of file SeparatorDualHelper.h.

Member Function Documentation

◆ dfs()

CycleData ogdf::planar_separator::SeparatorDualHelper::dfs ( )

Recursive Depth First Search over the faces of the dual of the graph.

Returns
a data structure that holds information on the cycle

◆ getUnmarkedNeighbours()

List<std::pair<face, adjEntry> > ogdf::planar_separator::SeparatorDualHelper::getUnmarkedNeighbours ( face  f,
adjEntry  adj 
)

Finds all unmarked neighbours of a face.

Parameters
fthe face to be examined
adjthe adjEntry via which the face was entered
Returns
a list containing the unmarked neighbouring faces and the entries that lead to them

◆ process()

CycleData ogdf::planar_separator::SeparatorDualHelper::process ( face  f,
adjEntry  adj 
)

Processes a face: One step of the recursion in the DFS.

Parameters
fthe face to be processed
adjthe adjEntry via which the face was entered
Returns
the next CycleData

Member Data Documentation

◆ embedding

CombinatorialEmbedding ogdf::planar_separator::SeparatorDualHelper::embedding

Definition at line 206 of file SeparatorDualHelper.h.

◆ graph

std::shared_ptr<GraphCopy> ogdf::planar_separator::SeparatorDualHelper::graph

Definition at line 202 of file SeparatorDualHelper.h.

◆ marked

FaceArray<bool> ogdf::planar_separator::SeparatorDualHelper::marked

Definition at line 207 of file SeparatorDualHelper.h.

◆ tree

std::shared_ptr<BFSTree> ogdf::planar_separator::SeparatorDualHelper::tree

Definition at line 203 of file SeparatorDualHelper.h.


The documentation for this class was generated from the following file: