Declaration of interface for acyclic subgraph algorithms.
Includes declaration of graph class.
Declaration of interface for ranking algorithms.
Basic declarations, included by all source files.
Base class of algorithms for computing a maximal acyclic subgraph.
Data type for general directed graphs (adjacency list representation).
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.
bool m_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.
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
RegisteredArray for nodes, edges and adjEntries of a graph.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF dynamic library (shared object / DLL),...
The namespace for all OGDF objects.