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/NodeArray.h>
38 
39 #include <memory>
40 
41 namespace ogdf {
42 
44 
76  std::unique_ptr<AcyclicSubgraphModule> m_subgraph; // option for acyclic sugraph
78 
79 public:
82 
83 
89  virtual void call(const Graph& G, NodeArray<int>& rank) override;
91 
93 
98  void call(const Graph& G, const EdgeArray<int>& length, NodeArray<int>& rank);
99 
101 
107  virtual void call(const Graph& G, const EdgeArray<int>& length, const EdgeArray<int>& cost,
108  NodeArray<int>& rank) override;
109 
115 
121  bool separateMultiEdges() const { return m_separateMultiEdges; }
122 
124  void separateMultiEdges(bool b) { m_separateMultiEdges = b; }
125 
131  void setSubgraph(AcyclicSubgraphModule* pSubgraph) { m_subgraph.reset(pSubgraph); }
133 
135 
136 private:
138  void doCall(const Graph& G, NodeArray<int>& rank, EdgeArray<bool>& reversed,
139  const EdgeArray<int>& length, const EdgeArray<int>& cost);
140 };
141 
142 }
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
ogdf::OptimalRanking::separateMultiEdges
bool separateMultiEdges() const
Returns the current setting of option separateMultiEdges.
Definition: OptimalRanking.h:121
RankingModule.h
Declaration of interface for ranking algorithms.
ogdf::OptimalRanking
The optimal ranking algorithm.
Definition: OptimalRanking.h:75
ogdf::RankingModule
Interface of algorithms for computing a node ranking.
Definition: RankingModule.h:44
ogdf::OptimalRanking::separateMultiEdges
void separateMultiEdges(bool b)
Sets the option separateMultiEdges to b.
Definition: OptimalRanking.h:124
AcyclicSubgraphModule.h
Declaration of interface for acyclic subgraph algorithms.
ogdf::OptimalRanking::m_subgraph
std::unique_ptr< AcyclicSubgraphModule > m_subgraph
Definition: OptimalRanking.h:76
ogdf::internal::GraphRegisteredArray
RegisteredArray for nodes, edges and adjEntries of a graph.
Definition: Graph_d.h:651
ogdf::Graph
Data type for general directed graphs (adjacency list representation).
Definition: Graph_d.h:862
NodeArray.h
Declaration and implementation of NodeArray class.
ogdf::OptimalRanking::m_separateMultiEdges
bool m_separateMultiEdges
Definition: OptimalRanking.h:77
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:43
ogdf::internal::EdgeArrayBase2
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Definition: Graph_d.h:709