00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00039 #ifndef __vtkSquarifyLayoutStrategy_h
00040 #define __vtkSquarifyLayoutStrategy_h
00041
00042 #include "vtkTreeMapLayoutStrategy.h"
00043
00044 class vtkIdList;
00045
00046 class VTK_INFOVIS_EXPORT vtkSquarifyLayoutStrategy : public vtkTreeMapLayoutStrategy
00047 {
00048 public:
00049 static vtkSquarifyLayoutStrategy *New();
00050
00051 vtkTypeRevisionMacro(vtkSquarifyLayoutStrategy,vtkTreeMapLayoutStrategy);
00052 void PrintSelf(ostream& os, vtkIndent indent);
00053
00055
00056 vtkGetStringMacro(SizeFieldName);
00057 vtkSetStringMacro(SizeFieldName);
00059
00062 void Layout(vtkTree *inputTree, vtkDataArray *coordsArray);
00063
00064 protected:
00065 vtkSquarifyLayoutStrategy();
00066 ~vtkSquarifyLayoutStrategy();
00067
00068 private:
00069
00070 char * SizeFieldName;
00071
00072 void LayoutChildren(
00073 vtkTree *tree,
00074 vtkDataArray *coordsArray,
00075 vtkDataArray *sizeArray,
00076 vtkIdType nchildren,
00077 vtkIdType parent,
00078 vtkIdType begin,
00079 float minX, float maxX,
00080 float minY, float maxY);
00081
00082 vtkSquarifyLayoutStrategy(const vtkSquarifyLayoutStrategy&);
00083 void operator=(const vtkSquarifyLayoutStrategy&);
00084 };
00085
00086 #endif
00087