Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

CrossingMinInterfaces.h
Go to the documentation of this file.
1 
32 #pragma once
33 
34 #include <ogdf/basic/Graph.h>
35 #include <ogdf/layered/Hierarchy.h>
36 
37 namespace ogdf {
38 
40 
43 class LevelBase {
44 public:
45  // destruction
46  virtual ~LevelBase() { }
47 
49  virtual const node& operator[](int i) const = 0;
50 
52  virtual node& operator[](int i) = 0;
53 
55  virtual int size() const = 0;
56 
58  virtual int high() const = 0;
59 };
60 
62 public:
63  HierarchyLevelsBase() = default;
64 
65  HierarchyLevelsBase(const HierarchyLevelsBase&) = default;
66  HierarchyLevelsBase& operator=(const HierarchyLevelsBase&) = default;
67 
68  // destruction
69  virtual ~HierarchyLevelsBase() { }
70 
71  enum class TraversingDir { downward, upward };
72 
74  virtual const LevelBase& operator[](int i) const = 0;
75 
77  virtual int pos(node v) const = 0;
78 
80  virtual int size() const = 0;
81 
83  virtual int high() const { return size() - 1; }
84 
85  virtual const Hierarchy& hierarchy() const = 0;
86 
88  virtual const Array<node>& adjNodes(node v, TraversingDir dir) const = 0;
89 
91  int calculateCrossings(int i) const;
92 
94  int calculateCrossings() const;
95 };
96 
97 }
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
Graph.h
Includes declaration of graph class.
ogdf::HierarchyLevelsBase::~HierarchyLevelsBase
virtual ~HierarchyLevelsBase()
Definition: CrossingMinInterfaces.h:69
ogdf::Hierarchy
Representation of proper hierarchies used by Sugiyama-layout.
Definition: Hierarchy.h:43
ogdf::HierarchyLevelsBase
Definition: CrossingMinInterfaces.h:61
ogdf::HierarchyLevelsBase::TraversingDir
TraversingDir
Definition: CrossingMinInterfaces.h:71
ogdf::LevelBase::high
virtual int high() const =0
Returns the maximal array index (= size()-1).
ogdf::Array< node >
ogdf::HierarchyLevelsBase::high
virtual int high() const
Returns the maximal array index of a level (= size()-1).
Definition: CrossingMinInterfaces.h:83
ogdf::LevelBase::operator[]
virtual const node & operator[](int i) const =0
Returns the node at position i.
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
Hierarchy.h
Declaration of Hierarchy class.
ogdf::LevelBase::~LevelBase
virtual ~LevelBase()
Definition: CrossingMinInterfaces.h:46
ogdf::LevelBase::size
virtual int size() const =0
Returns the number of nodes on this level.
ogdf::LevelBase
Representation of levels in hierarchies.
Definition: CrossingMinInterfaces.h:43
ogdf::NodeElement
Class for the representation of nodes.
Definition: Graph_d.h:233