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 "vtkInfovisLayoutModule.h" // For export macro 00026 #include "vtkGraphLayoutStrategy.h" 00027 00028 class vtkPoints; 00029 class vtkTree; 00030 00031 00032 class VTKINFOVISLAYOUT_EXPORT vtkTreeOrbitLayoutStrategy : public vtkGraphLayoutStrategy 00033 { 00034 public: 00035 static vtkTreeOrbitLayoutStrategy *New(); 00036 00037 vtkTypeMacro(vtkTreeOrbitLayoutStrategy, vtkGraphLayoutStrategy); 00038 void PrintSelf(ostream& os, vtkIndent indent); 00039 00041 void Layout(); 00042 00044 00048 vtkSetMacro(LogSpacingValue, double); 00049 vtkGetMacro(LogSpacingValue, double); 00051 00053 00056 vtkSetClampMacro(LeafSpacing, double, 0.0, 1.0); 00057 vtkGetMacro(LeafSpacing, double); 00059 00061 00064 vtkSetMacro(ChildRadiusFactor, double); 00065 vtkGetMacro(ChildRadiusFactor, double); 00067 00068 protected: 00069 vtkTreeOrbitLayoutStrategy(); 00070 ~vtkTreeOrbitLayoutStrategy(); 00071 00072 void OrbitChildren(vtkTree *t, vtkPoints *p, vtkIdType parent, double radius); 00073 00074 double LogSpacingValue; 00075 double LeafSpacing; 00076 double ChildRadiusFactor; 00077 00078 private: 00079 00080 vtkTreeOrbitLayoutStrategy(const vtkTreeOrbitLayoutStrategy&); // Not implemented. 00081 void operator=(const vtkTreeOrbitLayoutStrategy&); // Not implemented. 00082 }; 00083 00084 #endif 00085