Loading [MathJax]/extensions/tex2jax.js

Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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.