26#ifndef vtkCosmicTreeLayoutStrategy_h
27#define vtkCosmicTreeLayoutStrategy_h
30#include "vtkInfovisLayoutModule.h"
32VTK_ABI_NAMESPACE_BEGIN
73 vtkSetMacro(LayoutDepth,
int);
74 vtkGetMacro(LayoutDepth,
int);
98 vtkSetStringMacro(NodeSizeArrayName);
99 vtkGetStringMacro(NodeSizeArrayName);
tree layout strategy reminiscent of astronomical systems
void Layout() override
Perform the layout.
vtkTypeBool SizeLeafNodesOnly
RadiusMode
How are node sizes specified?
@ NONE
No node sizes specified... unit radius is assumed.
@ LEAVES
Only leaf node sizes specified... parents are calculated during layout.
vtkCosmicTreeLayoutStrategy()
static vtkCosmicTreeLayoutStrategy * New()
vtkDoubleArray * CreateRadii(vtkIdType numVertices, double initialValue, vtkDataArray *inputRadii)
Create an array to hold radii, named appropriately (depends on NodeSizeArrayName) and initialized to ...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkDoubleArray * CreateScaleFactors(vtkIdType numVertices)
Create an array to hold scale factors, named appropriately (depends on NodeSizeArrayName) and initial...
~vtkCosmicTreeLayoutStrategy() override
void OffsetChildren(vtkTree *tree, vtkPoints *pts, vtkDoubleArray *radii, vtkDoubleArray *scale, double parent[4], vtkIdType root, int depth, RadiusMode mode)
Recursive routine that adds each parent node's (x,y) position to its children.
void LayoutChildren(vtkTree *tree, vtkPoints *newPoints, vtkDoubleArray *radii, vtkDoubleArray *scale, vtkIdType root, int depth, RadiusMode mode)
Recursive routine used to lay out tree nodes.
abstract superclass for arrays of numeric data
dynamic, self-adjusting array of double
abstract superclass for all graph layout strategies
a simple class to control print indentation
represent and manipulate 3D points
A rooted tree data structure.