37#ifndef vtkStackedTreeLayoutStrategy_h
38#define vtkStackedTreeLayoutStrategy_h
41#include "vtkInfovisLayoutModule.h"
66 vtkTree* edgeRoutingTree)
override;
72 vtkSetMacro(InteriorRadius,
double);
73 vtkGetMacro(InteriorRadius,
double);
80 vtkSetMacro(RingThickness,
double);
81 vtkGetMacro(RingThickness,
double);
90 vtkSetMacro(RootStartAngle,
double);
91 vtkGetMacro(RootStartAngle,
double);
100 vtkSetMacro(RootEndAngle,
double);
101 vtkGetMacro(RootEndAngle,
double);
109 vtkSetMacro(UseRectangularCoordinates,
bool);
110 vtkGetMacro(UseRectangularCoordinates,
bool);
111 vtkBooleanMacro(UseRectangularCoordinates,
bool);
119 vtkSetMacro(Reverse,
bool);
120 vtkGetMacro(Reverse,
bool);
121 vtkBooleanMacro(Reverse,
bool);
132 vtkSetMacro(InteriorLogSpacingValue,
double);
133 vtkGetMacro(InteriorLogSpacingValue,
double);
157 float parentOuterRad,
float parentStartAng,
float parentEndAng);
abstract superclass for all area layout strategies
abstract superclass for arrays of numeric data
a simple class to control print indentation
lays out tree in stacked boxes or rings
vtkStackedTreeLayoutStrategy()
void ComputeEdgeRoutingPoints(vtkTree *inputTree, vtkDataArray *coordsArray, vtkTree *outputTree)
void LayoutChildren(vtkTree *tree, vtkDataArray *coordsArray, vtkDataArray *sizeArray, vtkIdType nchildren, vtkIdType parent, vtkIdType begin, float parentInnerRad, float parentOuterRad, float parentStartAng, float parentEndAng)
void LayoutEdgePoints(vtkTree *inputTree, vtkDataArray *sectorArray, vtkDataArray *sizeArray, vtkTree *edgeRoutingTree) override
Fill edgeRoutingTree with points suitable for routing edges of an overlaid graph.
void Layout(vtkTree *inputTree, vtkDataArray *sectorArray, vtkDataArray *sizeArray) override
Perform the layout of the input tree, and store the sector bounds of each vertex as a tuple (innerRad...
bool UseRectangularCoordinates
static vtkStackedTreeLayoutStrategy * New()
vtkIdType FindVertex(vtkTree *tree, vtkDataArray *array, float pnt[2]) override
Returns the vertex id that contains pnt (or -1 if no one contains it).
double InteriorLogSpacingValue
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkStackedTreeLayoutStrategy() override
A rooted tree data structure.