Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::planar_separators::SeparatorDualHelper::CycleData Struct Reference

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

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

Public Member Functions

 CycleData ()
 Empty Constructor - only used to be able to throw empty CD in case of algorithm failure. More...
 
 CycleData (const Graph &G, const face f, const adjEntry adj)
 Constructor. More...
 
 CycleData (const Graph &G, CycleData &first, CycleData &second)
 Constructor. More...
 
void addTriangle (adjEntry adj)
 Expands the cycle by adding a triangle. More...
 
bool checkSize (int n) const
 Checks the size of this cycle. More...
 
bool isInCycle (node n)
 Checks if a node lies on the cycle. More...
 
void popBack ()
 
void popFront ()
 
void pushBack (node n)
 
void pushFront (node n)
 
void removeTriangle (adjEntry adj)
 Expands the cycle by removing a triangle. More...
 

Public Attributes

List< nodecycle
 contains nodes on the cycle, starting with v, ending with u, where e = (u,v) is the initial edge More...
 
unsigned int inside
 
std::unordered_set< nodenodes
 

Detailed Description

Auxiliary lightweight data structure to represent cycles.

Definition at line 64 of file SeparatorDualHelper.h.

Constructor & Destructor Documentation

◆ CycleData() [1/3]

ogdf::planar_separators::SeparatorDualHelper::CycleData::CycleData ( )
inline

Empty Constructor - only used to be able to throw empty CD in case of algorithm failure.

Do not use this anywhere.

Definition at line 108 of file SeparatorDualHelper.h.

◆ CycleData() [2/3]

ogdf::planar_separators::SeparatorDualHelper::CycleData::CycleData ( const Graph G,
const face  f,
const adjEntry  adj 
)
inline

Constructor.

Constructs a CycleData from a single face.

Parameters
Gthe graph
fthe face
adjadjEntry via which we entered the face

Definition at line 118 of file SeparatorDualHelper.h.

◆ CycleData() [3/3]

ogdf::planar_separators::SeparatorDualHelper::CycleData::CycleData ( const Graph G,
CycleData first,
CycleData second 
)
inline

Constructor.

Constructs a CycleData by merging two Cycles.

Parameters
Gthe graph
firstthe first cycle
secondthe second cycle

Definition at line 132 of file SeparatorDualHelper.h.

Member Function Documentation

◆ addTriangle()

void ogdf::planar_separators::SeparatorDualHelper::CycleData::addTriangle ( adjEntry  adj)
inline

Expands the cycle by adding a triangle.

Parameters
adjthe adjEntry of the triangle that is added

Definition at line 172 of file SeparatorDualHelper.h.

◆ checkSize()

bool ogdf::planar_separators::SeparatorDualHelper::CycleData::checkSize ( int  n) const
inline

Checks the size of this cycle.

Parameters
nthe size of the graph to be checked against
Returns
true if this cycle is large enough

Definition at line 208 of file SeparatorDualHelper.h.

◆ isInCycle()

bool ogdf::planar_separators::SeparatorDualHelper::CycleData::isInCycle ( node  n)
inline

Checks if a node lies on the cycle.

Parameters
nthe node to be checked
Returns
true if node is on the cycle

Definition at line 78 of file SeparatorDualHelper.h.

◆ popBack()

void ogdf::planar_separators::SeparatorDualHelper::CycleData::popBack ( )
inline

Definition at line 94 of file SeparatorDualHelper.h.

◆ popFront()

void ogdf::planar_separators::SeparatorDualHelper::CycleData::popFront ( )
inline

Definition at line 99 of file SeparatorDualHelper.h.

◆ pushBack()

void ogdf::planar_separators::SeparatorDualHelper::CycleData::pushBack ( node  n)
inline

Definition at line 82 of file SeparatorDualHelper.h.

◆ pushFront()

void ogdf::planar_separators::SeparatorDualHelper::CycleData::pushFront ( node  n)
inline

Definition at line 88 of file SeparatorDualHelper.h.

◆ removeTriangle()

void ogdf::planar_separators::SeparatorDualHelper::CycleData::removeTriangle ( adjEntry  adj)
inline

Expands the cycle by removing a triangle.

Parameters
adjthe adjEntry of the triangle that is removed

Definition at line 187 of file SeparatorDualHelper.h.

Member Data Documentation

◆ cycle

List<node> ogdf::planar_separators::SeparatorDualHelper::CycleData::cycle

contains nodes on the cycle, starting with v, ending with u, where e = (u,v) is the initial edge

Definition at line 68 of file SeparatorDualHelper.h.

◆ inside

unsigned int ogdf::planar_separators::SeparatorDualHelper::CycleData::inside

Definition at line 65 of file SeparatorDualHelper.h.

◆ nodes

std::unordered_set<node> ogdf::planar_separators::SeparatorDualHelper::CycleData::nodes

Definition at line 70 of file SeparatorDualHelper.h.


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