Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
OptimalRanking.h
Go to the documentation of this file.
1
33#pragma once
34
38
39#include <memory>
40
41namespace ogdf {
42
44
76 std::unique_ptr<AcyclicSubgraphModule> m_subgraph; // option for acyclic sugraph
78
79public:
82
83
90 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
116
121 bool separateMultiEdges() const { return m_separateMultiEdges; }
122
124 void separateMultiEdges(bool b) { m_separateMultiEdges = b; }
125
133
135
136private:
139 const EdgeArray<int>& length, const EdgeArray<int>& cost);
140};
141
142}
Declaration of interface for acyclic subgraph algorithms.
Declaration and implementation of NodeArray class.
Declaration of interface for ranking algorithms.
Base class of algorithms for computing a maximal acyclic subgraph.
Dynamic arrays indexed with edges.
Definition EdgeArray.h:125
Data type for general directed graphs (adjacency list representation).
Definition Graph_d.h:521
Dynamic arrays indexed with nodes.
Definition NodeArray.h:125
The optimal ranking algorithm.
virtual void call(const Graph &G, const EdgeArray< int > &length, const EdgeArray< int > &cost, NodeArray< int > &rank) override
Computes a cost-minimal node ranking of G for given edge costs and minimal edge lengths in rank.
bool separateMultiEdges() const
Returns the current setting of option separateMultiEdges.
virtual void call(const Graph &G, NodeArray< int > &rank) override
Computes a node ranking of G in rank.
std::unique_ptr< AcyclicSubgraphModule > m_subgraph
void separateMultiEdges(bool b)
Sets the option separateMultiEdges to b.
void setSubgraph(AcyclicSubgraphModule *pSubgraph)
Sets the module for the computation of the acyclic subgraph.
void call(const Graph &G, const EdgeArray< int > &length, NodeArray< int > &rank)
Computes a node ranking of G with given minimal edge length in rank.
OptimalRanking()
Creates an instance of optimal ranking.
void doCall(const Graph &G, NodeArray< int > &rank, EdgeArray< bool > &reversed, const EdgeArray< int > &length, const EdgeArray< int > &cost)
Implements the algorithm call.
Interface of algorithms for computing a node ranking.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition config.h:101
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.