00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00045 #ifndef __vtkTreeMapLayout_h
00046 #define __vtkTreeMapLayout_h
00047
00048 #include "vtkTreeAlgorithm.h"
00049
00050 class vtkTreeMapLayoutStrategy;
00051
00052 class VTK_INFOVIS_EXPORT vtkTreeMapLayout : public vtkTreeAlgorithm
00053 {
00054 public:
00055 static vtkTreeMapLayout *New();
00056
00057 vtkTypeMacro(vtkTreeMapLayout,vtkTreeAlgorithm);
00058 void PrintSelf(ostream& os, vtkIndent indent);
00059
00061
00064 vtkGetStringMacro(RectanglesFieldName);
00065 vtkSetStringMacro(RectanglesFieldName);
00067
00069
00070 virtual void SetSizeArrayName(const char* name)
00071 { this->SetInputArrayToProcess(0, 0, 0, vtkDataObject::FIELD_ASSOCIATION_VERTICES, name); }
00073
00075
00076 vtkGetObjectMacro(LayoutStrategy, vtkTreeMapLayoutStrategy);
00077 void SetLayoutStrategy(vtkTreeMapLayoutStrategy * strategy);
00079
00081 vtkIdType FindVertex(float pnt[2], float *binfo=0);
00082
00084 void GetBoundingBox(vtkIdType id, float *binfo);
00085
00087 virtual unsigned long GetMTime();
00088
00089 protected:
00090 vtkTreeMapLayout();
00091 ~vtkTreeMapLayout();
00092
00093 char * RectanglesFieldName;
00094 vtkTreeMapLayoutStrategy* LayoutStrategy;
00095
00096 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00097
00098 private:
00099
00100 vtkTreeMapLayout(const vtkTreeMapLayout&);
00101 void operator=(const vtkTreeMapLayout&);
00102 };
00103
00104 #endif