107 fhl->nodeDistance(40.0);
108 fhl->layerDistance(40.0);
109 fhl->fixedLayerDistance(
true);
112 opRank->separateMultiEdges(
false);
164 postProcessing_reduceLED(H, levels, s);
declaration and implementation of the third phase of sugiyama
Declaration of interface hierarchy layout algorithms (3.
Declaration of HierarchyLevels class.
Declaration and implementation of the optimal third phase of the Sugiyama algorithm.
Declaration of optimal ranking algorithm for Sugiyama algorithm.
Declaration of interface for ranking algorithms.
Declaration of interface for layout algorithms for a UpwardPlanRep.
Declaration of a base class for planar representations of graphs and cluster graphs.
Class for adjacency list elements.
An array that keeps track of the number of inserted elements; also usable as an efficient stack.
The parameterized class Array implements dynamic arrays of type E.
Dynamic arrays indexed with edges.
Class for the representation of edges.
Coordinate assignment phase for the Sugiyama algorithm by Buchheim et al.
Stores additional attributes of a graph (like layout information).
Data type for general directed graphs (adjacency list representation).
Representation of proper hierarchies used by Sugiyama-layout.
Interface of hierarchy layout algorithms.
Representation of proper hierarchies used by Sugiyama-layout.
std::unique_ptr< RankingModule > m_ranking
int numberOfCrossings() const
void post_processing_reduce(Hierarchy &H, HierarchyLevels &levels, int &i, node s, int minIdx, int maxIdx, NodeArray< bool > &markedNodes)
void postProcessing_reduceLED(Hierarchy &H, HierarchyLevels &levels, const List< node > &sources)
reduce the long edge dummies (LED)
virtual void doCall(const UpwardPlanRep &UPR, GraphAttributes &AG) override
Implements the actual algorithm call.
void post_processing_CopyInterval(Hierarchy &H, HierarchyLevels &levels, int i, int beginIdx, int endIdx, int pos)
insert the interval [beginIdx,endIdx] of level i-1 to level i at position pos.
void UPRLayoutSimple(const UpwardPlanRep &UPR, GraphAttributes &AG)
Use only the 3. phase of Sugiyama' framework for layout.
int numberOfLayers()
Return the number of layers/levels. Not implemented if use methode callSimple(..).
void setRanking(RankingModule *pRanking)
void postProcessing_markUp(HierarchyLevels &levels, node sH, NodeArray< bool > &markedNodes)
mark all the nodes dominated by sH. (Help method for postProcessing_reduceLED() )
void setLayout(HierarchyLayoutModule *pLayout)
int maxLayerSize()
Return the max. number of elements on a layer. Not implemented if use methode callSimple(....
ArrayBuffer< node > m_dummies
void computeRanking(const UpwardPlanRep &UPR, NodeArray< int > &rank)
std::unique_ptr< HierarchyLayoutModule > m_layout
void callSimple(GraphAttributes &AG, adjEntry adj)
void postProcessing_reduceLED(Hierarchy &H, HierarchyLevels &levels, node vH)
void longestPathRanking(const Graph &G, NodeArray< int > &rank)
void post_processing_deleteInterval(Hierarchy &H, HierarchyLevels &levels, int beginIdx, int endIdx, int &j)
delete the interval [beginIdx,endIdx] on the level j.
void postProcessing_sourceReorder(HierarchyLevels &levels, List< node > &sources)
rearanging the position of the sources in order to reduce some crossings.
void dfsSortLevels(adjEntry adj1, const NodeArray< int > &rank, Array< SListPure< node > > &nodes)
void post_processing_deleteLvl(Hierarchy &H, HierarchyLevels &levels, int i)
delete level i of H.
Doubly linked lists (maintaining the length of the list).
Dynamic arrays indexed with nodes.
Class for the representation of nodes.
The optimal ranking algorithm.
void dfs_LR(edge e, NodeArray< bool > &visited, NodeArray< int > &dfsNum, int &num)
Traverses with dfs using edge order from left to right and compute the dfs number.
bool left(node vUPR1, const List< edge > &chain1, node vUPR2, const List< edge > &chain2) const
Returns true if vUPR1 is on the left-hand side of vUPR2 according to m_UPR.
bool left(edge e1UPR, edge e2UPR) const
Returns true iff vUPR1 is on the left-hand side of vUPR2 according to m_UPR.
NodeArray< bool > crossed
bool checkUp(node vUPR, int level) const
Returns true iff there is a node above vUPR with rank level or lower.
const UpwardPlanRep & m_UPR
bool left(List< edge > &chain1, List< edge > &chain2, int level) const
Returns true iff vUPR1 is on the left-hand side of vUPR2 according to m_UPR.
NodeArray< int > m_dfsNum
OrderComparer(const UpwardPlanRep &_UPR, Hierarchy &_H)
bool less(node vH1, node vH2) const
Returns true iff vH1 and vH2 are placed on the same layer and node vH1 has to drawn on the left-hand ...
Interface of algorithms for computing a node ranking.
Interface of hierarchy layout algorithms.
Upward planarized representations (of a connected component) of a graph.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.