33 #ifndef vtkCosmicTreeLayoutStrategy_h
34 #define vtkCosmicTreeLayoutStrategy_h
36 #include "vtkInfovisLayoutModule.h"
66 vtkGetMacro(SizeLeafNodesOnly,
int);
80 vtkGetMacro(LayoutDepth,
int);
104 vtkSetStringMacro(NodeSizeArrayName);
tree layout strategy reminiscent of astronomical systems
vtkDoubleArray * CreateRadii(vtkIdType numVertices, double initialValue, vtkDataArray *inputRadii)
Create an array to hold radii, named appropriately (depends on NodeSizeArrayName) and initialized to ...
static vtkCosmicTreeLayoutStrategy * New()
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.
virtual ~vtkCosmicTreeLayoutStrategy()
vtkCosmicTreeLayoutStrategy()
vtkDoubleArray * CreateScaleFactors(vtkIdType numVertices)
Create an array to hold scale factors, named appropriately (depends on NodeSizeArrayName) and initial...
virtual void Layout()
Perform the layout.
virtual void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
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.
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.