Declaration of interface for layout algorithms (class LayoutModule)
Declaration of singly linked lists and iterators.
Stores additional attributes of a graph (like layout information).
Data type for general directed graphs (adjacency list representation).
Interface of general layout algorithms.
Class for the representation of nodes.
The tree layout algorithm.
double m_siblingDistance
The minimal distance between siblings.
void shiftTreeX(GraphAttributes &AG, node root, double shift)
RootSelectionType
Determines how to select the root of the tree.
void shiftTreeY(GraphAttributes &AG, node root, double shift)
void secondWalkX(TreeStructure &ts, node subtree, double modifierSum)
void treeDistance(double x)
Sets the minimal required horizontal distance between trees in the forest to x.
RootSelectionType rootSelection() const
Returns the option that determines how the root is selected.
void siblingDistance(double x)
Sets the the minimal required horizontal distance between siblings to x.
void apportion(TreeStructure &ts, node subtree, node &defaultAncestor, bool upDown)
virtual void call(GraphAttributes &GA) override
Calls tree layout for graph attributes GA.
double m_levelDistance
The minimal distance between levels.
void levelDistance(double x)
Sets the minimal required vertical distance between levels to x.
void firstWalk(TreeStructure &ts, node subtree, bool upDown)
bool orthogonalLayout() const
Returns whether orthogonal edge routing style is used.
void findMaxY(GraphAttributes &AG, node root, double &maxY)
void findMinX(GraphAttributes &AG, node root, double &minX)
TreeLayout(const TreeLayout &tl)
Copy constructor.
RootSelectionType m_selectRoot
Option for how to determine the root.
~TreeLayout()=default
Destructor.
void findMinY(GraphAttributes &AG, node root, double &minY)
double m_treeDistance
The minimal distance between trees.
double siblingDistance() const
Returns the the minimal required horizontal distance between siblings.
void undoReverseEdges(GraphAttributes &AG, Graph &tree, SListPure< edge > &reversedEdges)
TreeLayout & operator=(const TreeLayout &tl)
Assignment operator.
double levelDistance() const
Returns the minimal required vertical distance between levels.
void findMaxX(GraphAttributes &AG, node root, double &maxX)
TreeLayout()
Creates an instance of tree layout and sets options to default values.
Orientation m_orientation
Option for orientation of tree layout.
void adjustEdgeDirections(Graph &G, SListPure< edge > &reversedEdges, node v, node parent)
void computeXCoordinatesAndEdgeShapes(node root, GraphAttributes &AG)
double treeDistance() const
Returns the minimal required horizontal distance between trees in the forest.
void secondWalkY(TreeStructure &ts, node subtree, double modifierSum)
bool m_orthogonalLayout
Option for orthogonal style (yes/no).
void rootSelection(RootSelectionType rootSelection)
Sets the option that determines how the root is selected to rootSelection.
void setRoot(GraphAttributes &AG, Graph &tree, SListPure< edge > &reversedEdges)
Orientation orientation() const
Returns the option that determines the orientation of the layout.
void orientation(Orientation orientation)
Sets the option that determines the orientation of the layout to orientation.
double m_subtreeDistance
The minimal distance between subtrees.
void computeYCoordinatesAndEdgeShapes(node root, GraphAttributes &AG)
double subtreeDistance() const
Returns the minimal required horizontal distance between subtrees.
void subtreeDistance(double x)
Sets the minimal required horizontal distance between subtrees to x.
void orthogonalLayout(bool b)
Sets the option for orthogonal edge routing style to b.
void callSortByPositions(GraphAttributes &GA, Graph &G)
Calls tree layout for graph attributes GA.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.
Orientation
Determines the orientation in hierarchical layouts.