30#ifndef vtkCosmicTreeLayoutStrategy_h
31#define vtkCosmicTreeLayoutStrategy_h
34#include "vtkInfovisLayoutModule.h"
76 vtkSetMacro(LayoutDepth,
int);
77 vtkGetMacro(LayoutDepth,
int);
101 vtkSetStringMacro(NodeSizeArrayName);
102 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.