143 call(G, length, rank);
Declaration of interface for acyclic subgraph algorithms.
Declaration of class GraphAttributes which extends a Graph by additional attributes.
Declaration of graph copy classes.
Declaration and implementation of NodeArray class.
Declaration of interface for ranking algorithms.
Declaration of singly linked lists and iterators.
Base class of algorithms for computing a maximal acyclic subgraph.
Dynamic arrays indexed with edges.
Stores additional attributes of a graph (like layout information).
Copies of graphs with mapping between nodes and edges.
Data type for general directed graphs (adjacency list representation).
The longest-path ranking algorithm.
bool separateDeg0Layer() const
Returns the current setting of option separateDeg0Layer.
virtual void call(const Graph &G, const EdgeArray< int > &length, const EdgeArray< int > &cost, NodeArray< int > &rank) override
Computes a node ranking of G with given minimal edge length in rank.
void getTmpRank(node v, NodeArray< int > &rank)
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.
bool alignBaseClasses() const
Returns the current setting of alignment of base classes (callUML only).
bool alignSiblings() const
Returns the current setting of option for alignment of siblings.
bool optimizeEdgeLength() const
Returns the current setting of option optimizeEdgeLength.
LongestPathRanking()
Creates an instance of longest-path ranking.
void alignBaseClasses(bool b)
Sets the option for alignment of base classes to b.
void setSubgraph(AcyclicSubgraphModule *pSubgraph)
Sets the module for the computation of the acyclic subgraph.
NodeArray< int > m_ingoing
bool m_alignSiblings
Align siblings (callUML only).
void alignSiblings(bool b)
Sets the option for alignment of siblings to b.
void dfsAdd(node v, NodeArray< int > &rank)
NodeArray< SListPure< Tuple2< node, int > > > m_adjacent
bool m_separateMultiEdges
Separate multi-edges?
virtual void call(const Graph &G, NodeArray< int > &rank) override
Computes a node ranking of G in rank.
void join(GraphCopySimple &GC, NodeArray< node > &superNode, NodeArray< SListPure< node > > &joinedNodes, node v, node w)
NodeArray< bool > m_finished
std::unique_ptr< AcyclicSubgraphModule > m_subgraph
The acyclic sugraph module.
void doCall(const Graph &G, NodeArray< int > &rank, EdgeArray< bool > &reversed, const EdgeArray< int > &length)
Implements the algorithm call.
bool m_optimizeEdgeLength
Optimize for short edges.
void separateDeg0Layer(bool sdl)
Sets the option separateDeg0Layer to sdl.
void optimizeEdgeLength(bool b)
Sets the option optimizeEdgeLength to b.
void separateMultiEdges(bool b)
Sets the option separateMultiEdges to b.
void callUML(const GraphAttributes &AG, NodeArray< int > &rank)
Call for UML graphs with special treatement of inheritance hierarchies.
bool separateMultiEdges() const
Returns the current setting of option separateMultiEdges.
bool m_alignBaseClasses
Align base classes (callUML only).
bool m_sepDeg0
Put isolated nodes on a separate layer?
Dynamic arrays indexed with nodes.
Class for the representation of nodes.
Interface of algorithms for computing a node ranking.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.
Declaration and implementation of class Tuple2, Tuple3 and Tuple4.