00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00022 #ifndef __vtkTreeOrbitLayoutStrategy_h
00023 #define __vtkTreeOrbitLayoutStrategy_h
00024
00025 #include "vtkGraphLayoutStrategy.h"
00026
00027 class vtkPoints;
00028 class vtkTree;
00029
00030
00031 class VTK_INFOVIS_EXPORT vtkTreeOrbitLayoutStrategy : public vtkGraphLayoutStrategy
00032 {
00033 public:
00034 static vtkTreeOrbitLayoutStrategy *New();
00035
00036 vtkTypeMacro(vtkTreeOrbitLayoutStrategy, vtkGraphLayoutStrategy);
00037 void PrintSelf(ostream& os, vtkIndent indent);
00038
00040 void Layout();
00041
00043
00047 vtkSetMacro(LogSpacingValue, double);
00048 vtkGetMacro(LogSpacingValue, double);
00050
00052
00055 vtkSetClampMacro(LeafSpacing, double, 0.0, 1.0);
00056 vtkGetMacro(LeafSpacing, double);
00058
00060
00063 vtkSetMacro(ChildRadiusFactor, double);
00064 vtkGetMacro(ChildRadiusFactor, double);
00066
00067 protected:
00068 vtkTreeOrbitLayoutStrategy();
00069 ~vtkTreeOrbitLayoutStrategy();
00070
00071 void OrbitChildren(vtkTree *t, vtkPoints *p, vtkIdType parent, double radius);
00072
00073 double LogSpacingValue;
00074 double LeafSpacing;
00075 double ChildRadiusFactor;
00076
00077 private:
00078
00079 vtkTreeOrbitLayoutStrategy(const vtkTreeOrbitLayoutStrategy&);
00080 void operator=(const vtkTreeOrbitLayoutStrategy&);
00081 };
00082
00083 #endif
00084