Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

OptimalRanking.h
Go to the documentation of this file.
1 
33 #pragma once
34 
35 #include <ogdf/basic/Graph.h>
36 #include <ogdf/basic/basic.h>
39 
40 #include <memory>
41 
42 namespace ogdf {
43 
45 
77  std::unique_ptr<AcyclicSubgraphModule> m_subgraph; // option for acyclic sugraph
79 
80 public:
83 
84 
90  virtual void call(const Graph& G, NodeArray<int>& rank) override;
92 
94 
99  void call(const Graph& G, const EdgeArray<int>& length, NodeArray<int>& rank);
100 
102 
108  virtual void call(const Graph& G, const EdgeArray<int>& length, const EdgeArray<int>& cost,
109  NodeArray<int>& rank) override;
110 
116 
122  bool separateMultiEdges() const { return m_separateMultiEdges; }
123 
125  void separateMultiEdges(bool b) { m_separateMultiEdges = b; }
126 
132  void setSubgraph(AcyclicSubgraphModule* pSubgraph) { m_subgraph.reset(pSubgraph); }
134 
136 
137 private:
139  void doCall(const Graph& G, NodeArray<int>& rank, EdgeArray<bool>& reversed,
140  const EdgeArray<int>& length, const EdgeArray<int>& cost);
141 };
142 
143 }
ogdf
The namespace for all OGDF objects.
Definition: multilevelmixer.cpp:39
Graph.h
Includes declaration of graph class.
ogdf::OptimalRanking::separateMultiEdges
bool separateMultiEdges() const
Returns the current setting of option separateMultiEdges.
Definition: OptimalRanking.h:122
RankingModule.h
Declaration of interface for ranking algorithms.
ogdf::OptimalRanking
The optimal ranking algorithm.
Definition: OptimalRanking.h:76
ogdf::RankingModule
Interface of algorithms for computing a node ranking.
Definition: RankingModule.h:46
ogdf::OptimalRanking::separateMultiEdges
void separateMultiEdges(bool b)
Sets the option separateMultiEdges to b.
Definition: OptimalRanking.h:125
AcyclicSubgraphModule.h
Declaration of interface for acyclic subgraph algorithms.
ogdf::OptimalRanking::m_subgraph
std::unique_ptr< AcyclicSubgraphModule > m_subgraph
Definition: OptimalRanking.h:77
ogdf::internal::GraphRegisteredArray
RegisteredArray for nodes, edges and adjEntries of a graph.
Definition: Graph_d.h:658
ogdf::Graph
Data type for general directed graphs (adjacency list representation).
Definition: Graph_d.h:869
ogdf::OptimalRanking::m_separateMultiEdges
bool m_separateMultiEdges
Definition: OptimalRanking.h:78
basic.h
Basic declarations, included by all source files.
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
ogdf::AcyclicSubgraphModule
Base class of algorithms for computing a maximal acyclic subgraph.
Definition: AcyclicSubgraphModule.h:47
ogdf::internal::EdgeArrayBase2
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Definition: Graph_d.h:716