00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00037 #ifndef __vtkAreaLayout_h
00038 #define __vtkAreaLayout_h
00039
00040 #include "vtkTreeAlgorithm.h"
00041
00042 class vtkAreaLayoutStrategy;
00043
00044 class VTK_INFOVIS_EXPORT vtkAreaLayout : public vtkTreeAlgorithm
00045 {
00046 public:
00047 static vtkAreaLayout *New();
00048 vtkTypeMacro(vtkAreaLayout,vtkTreeAlgorithm);
00049 void PrintSelf(ostream& os, vtkIndent indent);
00050
00052
00055 virtual void SetSizeArrayName(const char* name)
00056 { this->SetInputArrayToProcess(0, 0, 0, vtkDataObject::FIELD_ASSOCIATION_VERTICES, name); }
00058
00060
00064 vtkGetStringMacro(AreaArrayName);
00065 vtkSetStringMacro(AreaArrayName);
00067
00069
00071 vtkGetMacro(EdgeRoutingPoints, bool);
00072 vtkSetMacro(EdgeRoutingPoints, bool);
00073 vtkBooleanMacro(EdgeRoutingPoints, bool);
00075
00077
00078 vtkGetObjectMacro(LayoutStrategy, vtkAreaLayoutStrategy);
00079 void SetLayoutStrategy(vtkAreaLayoutStrategy * strategy);
00081
00083 virtual unsigned long GetMTime();
00084
00087 vtkIdType FindVertex(float pnt[2]);
00088
00090 void GetBoundingArea(vtkIdType id, float *sinfo);
00091
00092 protected:
00093 vtkAreaLayout();
00094 ~vtkAreaLayout();
00095
00096 char* AreaArrayName;
00097 bool EdgeRoutingPoints;
00098 char* EdgeRoutingPointsArrayName;
00099 vtkAreaLayoutStrategy* LayoutStrategy;
00100
00101 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00102
00103 private:
00104
00105 vtkAreaLayout(const vtkAreaLayout&);
00106 void operator=(const vtkAreaLayout&);
00107 };
00108
00109 #endif