VTK
vtkCosmicTreeLayoutStrategy.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCosmicTreeLayoutStrategy.h
5 
6 =========================================================================*/
7 /*----------------------------------------------------------------------------
8  Copyright (c) Sandia Corporation
9  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
10 ----------------------------------------------------------------------------*/
32 #ifndef vtkCosmicTreeLayoutStrategy_h
33 #define vtkCosmicTreeLayoutStrategy_h
34 
35 #include "vtkInfovisLayoutModule.h" // For export macro
36 #include "vtkGraphLayoutStrategy.h"
37 
38 class vtkDoubleArray;
39 class vtkDataArray;
40 class vtkPoints;
41 class vtkTree;
42 
44 {
45 public:
47  virtual void PrintSelf( ostream& os, vtkIndent indent );
49 
51  virtual void Layout();
52 
54 
59  vtkSetMacro(SizeLeafNodesOnly,int);
60  vtkGetMacro(SizeLeafNodesOnly,int);
61  vtkBooleanMacro(SizeLeafNodesOnly,int);
63 
65 
70  vtkSetMacro(LayoutDepth,int);
71  vtkGetMacro(LayoutDepth,int);
73 
75 
81  vtkSetMacro(LayoutRoot,vtkIdType);
82  vtkGetMacro(LayoutRoot,vtkIdType);
84 
86 
89  vtkSetStringMacro(NodeSizeArrayName);
90  vtkGetStringMacro(NodeSizeArrayName);
92 
93 protected:
94 
95  //BTX
98  {
99  NONE,
101  ALL
102  };
103  //ETX
104 
107 
108  //BTX
110 
112  vtkTree* tree, vtkPoints* newPoints, vtkDoubleArray* radii, vtkDoubleArray* scale,
113  vtkIdType root, int depth, RadiusMode mode );
115 
117 
122  vtkTree* tree, vtkPoints* pts, vtkDoubleArray* radii, vtkDoubleArray* scale,
123  double parent[4], vtkIdType root, int depth, RadiusMode mode );
124  //ETX
126 
135  vtkDoubleArray* CreateRadii( vtkIdType numVertices, double initialValue, vtkDataArray* inputRadii );
136 
142 
147 
148 private:
149  vtkCosmicTreeLayoutStrategy( const vtkCosmicTreeLayoutStrategy& ); // Not implemented.
150  void operator = ( const vtkCosmicTreeLayoutStrategy& ); // Not implemented.
151 };
152 
153 #endif // vtkCosmicTreeLayoutStrategy_h
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:39
vtkCosmicTreeLayoutStrategy::LayoutRoot
vtkIdType LayoutRoot
Definition: vtkCosmicTreeLayoutStrategy.h:145
vtkIdType
int vtkIdType
Definition: vtkType.h:275
vtkGraphLayoutStrategy
abstract superclass for all graph layout strategies
Definition: vtkGraphLayoutStrategy.h:45
vtkgl::scale
GLenum GLenum GLenum GLenum GLenum scale
Definition: vtkgl.h:15942
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkCosmicTreeLayoutStrategy::LayoutDepth
int LayoutDepth
Definition: vtkCosmicTreeLayoutStrategy.h:144
vtkCosmicTreeLayoutStrategy::NONE
@ NONE
No node sizes specified... unit radius is assumed.
Definition: vtkCosmicTreeLayoutStrategy.h:99
vtkDataArray
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:55
vtkCosmicTreeLayoutStrategy::OffsetChildren
void OffsetChildren(vtkTree *tree, vtkPoints *pts, vtkDoubleArray *radii, vtkDoubleArray *scale, double parent[4], vtkIdType root, int depth, RadiusMode mode)
vtkCosmicTreeLayoutStrategy::~vtkCosmicTreeLayoutStrategy
virtual ~vtkCosmicTreeLayoutStrategy()
vtkCosmicTreeLayoutStrategy::LayoutChildren
void LayoutChildren(vtkTree *tree, vtkPoints *newPoints, vtkDoubleArray *radii, vtkDoubleArray *scale, vtkIdType root, int depth, RadiusMode mode)
vtkTree
A rooted tree data structure.
Definition: vtkTree.h:60
vtkCosmicTreeLayoutStrategy::LEAVES
@ LEAVES
Only leaf node sizes specified... parents are calculated during layout.
Definition: vtkCosmicTreeLayoutStrategy.h:100
vtkgl::depth
GLint GLint GLsizei GLsizei GLsizei depth
Definition: vtkgl.h:11316
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkSetStringMacro
#define vtkSetStringMacro(name)
Definition: vtkSetGet.h:104
vtkCosmicTreeLayoutStrategy
tree layout strategy reminiscent of astronomical systems
Definition: vtkCosmicTreeLayoutStrategy.h:44
vtkCosmicTreeLayoutStrategy::PrintSelf
virtual void PrintSelf(ostream &os, vtkIndent indent)
vtkCosmicTreeLayoutStrategy::New
static vtkCosmicTreeLayoutStrategy * New()
vtkCosmicTreeLayoutStrategy::NodeSizeArrayName
char * NodeSizeArrayName
Definition: vtkCosmicTreeLayoutStrategy.h:146
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkGetStringMacro
vtkGetStringMacro(ExtensionsString)
vtkCosmicTreeLayoutStrategy::Layout
virtual void Layout()
VTKINFOVISLAYOUT_EXPORT
#define VTKINFOVISLAYOUT_EXPORT
Definition: vtkInfovisLayoutModule.h:15
vtkGraphLayoutStrategy.h
vtkCosmicTreeLayoutStrategy::SizeLeafNodesOnly
int SizeLeafNodesOnly
Definition: vtkCosmicTreeLayoutStrategy.h:143
vtkInfovisLayoutModule.h
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkCosmicTreeLayoutStrategy::vtkCosmicTreeLayoutStrategy
vtkCosmicTreeLayoutStrategy()
vtkCosmicTreeLayoutStrategy::CreateRadii
vtkDoubleArray * CreateRadii(vtkIdType numVertices, double initialValue, vtkDataArray *inputRadii)
vtkDoubleArray
dynamic, self-adjusting array of double
Definition: vtkDoubleArray.h:49
vtkCosmicTreeLayoutStrategy::RadiusMode
RadiusMode
How are node sizes specified?
Definition: vtkCosmicTreeLayoutStrategy.h:98
vtkgl::mode
GLenum mode
Definition: vtkgl.h:12325
vtkCosmicTreeLayoutStrategy::CreateScaleFactors
vtkDoubleArray * CreateScaleFactors(vtkIdType numVertices)