VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkTreeOrbitLayoutStrategy.h 00005 00006 =========================================================================*/ 00007 /*---------------------------------------------------------------------------- 00008 Copyright (c) Sandia Corporation 00009 See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details. 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&); // Not implemented. 00080 void operator=(const vtkTreeOrbitLayoutStrategy&); // Not implemented. 00081 }; 00082 00083 #endif 00084