Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

SeparatorDualFC.h
Go to the documentation of this file.
1 
32 #pragma once
33 
34 #include <ogdf/basic/FaceArray.h>
39 
40 namespace ogdf {
41 
43 
47 public:
53  SeparatorDualFC(bool useTriBFS = false) : useTriangulatingBFS {useTriBFS} { }
54 
56  virtual double getMaxSeparatorSize(int n) const override { return -1; }
57 
58 protected:
60  std::shared_ptr<ArrayBFSTree> tree;
61 
65  void makeTree();
66 
67  virtual bool doSeparate(const Graph& G, List<node>& separator, List<node>& first,
68  List<node>& second) override;
69 
78  virtual bool findCycle(List<node>& separator, List<node>& first, List<node>& second) override;
79 
80  virtual std::string getSpecificName() const override {
81  std::string name = "DualFC";
82  if (useTriangulatingBFS) {
83  name += "-triBFS";
84  }
85  return name;
86  }
87 };
88 
89 }
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
ogdf::SeparatorDualFC::useTriangulatingBFS
bool useTriangulatingBFS
Definition: SeparatorDualFC.h:59
SeparatorDual.h
Declaration of class SeparatorDual.
FaceArray.h
declaration and implementation of FaceArray class
ogdf::SeparatorDualFC::getSpecificName
virtual std::string getSpecificName() const override
Returns the unique name of the core algorithm, to be combined with postprocessors later.
Definition: SeparatorDualFC.h:80
SeparatorDualHelper.h
Declaration of class SeparatorDualHelper.
ogdf::SeparatorDualFC::getMaxSeparatorSize
virtual double getMaxSeparatorSize(int n) const override
Maximum separator size depends on diameter of graph, so returns -1.
Definition: SeparatorDualFC.h:56
ogdf::SeparatorDualFC
Computes planar separators by applying the Fundamental Cycle Lemma directly, without trying tree leve...
Definition: SeparatorDualFC.h:46
ogdf::List
Doubly linked lists (maintaining the length of the list).
Definition: List.h:42
ogdf::Graph
Data type for general directed graphs (adjacency list representation).
Definition: Graph_d.h:862
SeparatorLiptonTarjanFC.h
Declaration of class SeparatorLiptonTarjanFC.
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
ogdf::SeparatorLiptonTarjanFC
Computes planar separators using Fundamental Cycles.
Definition: SeparatorLiptonTarjanFC.h:86
ogdf::SeparatorDualFC::SeparatorDualFC
SeparatorDualFC(bool useTriBFS=false)
Constructor.
Definition: SeparatorDualFC.h:53
ogdf::SeparatorDualFC::tree
std::shared_ptr< ArrayBFSTree > tree
Definition: SeparatorDualFC.h:60
PlanarSeparatorModule.h
Declaration of base class of all planar separator algorithms.