00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00052 #ifndef __vtkGeometryFilter_h
00053 #define __vtkGeometryFilter_h
00054
00055 #include "vtkPolyDataAlgorithm.h"
00056
00057 class vtkPointLocator;
00058
00059 class VTK_GRAPHICS_EXPORT vtkGeometryFilter : public vtkPolyDataAlgorithm
00060 {
00061 public:
00062 static vtkGeometryFilter *New();
00063 vtkTypeRevisionMacro(vtkGeometryFilter,vtkPolyDataAlgorithm);
00064 void PrintSelf(ostream& os, vtkIndent indent);
00065
00067
00068 vtkSetMacro(PointClipping,int);
00069 vtkGetMacro(PointClipping,int);
00070 vtkBooleanMacro(PointClipping,int);
00072
00074
00075 vtkSetMacro(CellClipping,int);
00076 vtkGetMacro(CellClipping,int);
00077 vtkBooleanMacro(CellClipping,int);
00079
00081
00082 vtkSetMacro(ExtentClipping,int);
00083 vtkGetMacro(ExtentClipping,int);
00084 vtkBooleanMacro(ExtentClipping,int);
00086
00088
00089 vtkSetClampMacro(PointMinimum,vtkIdType,0,VTK_LARGE_ID);
00090 vtkGetMacro(PointMinimum,vtkIdType);
00092
00094
00095 vtkSetClampMacro(PointMaximum,vtkIdType,0,VTK_LARGE_ID);
00096 vtkGetMacro(PointMaximum,vtkIdType);
00098
00100
00101 vtkSetClampMacro(CellMinimum,vtkIdType,0,VTK_LARGE_ID);
00102 vtkGetMacro(CellMinimum,vtkIdType);
00104
00106
00107 vtkSetClampMacro(CellMaximum,vtkIdType,0,VTK_LARGE_ID);
00108 vtkGetMacro(CellMaximum,vtkIdType);
00110
00112
00114 void SetExtent(double xMin, double xMax, double yMin, double yMax,
00115 double zMin, double zMax);
00117
00119
00121 void SetExtent(double extent[6]);
00122 double *GetExtent() { return this->Extent;};
00124
00126
00129 vtkSetMacro(Merging,int);
00130 vtkGetMacro(Merging,int);
00131 vtkBooleanMacro(Merging,int);
00133
00135
00137 void SetLocator(vtkPointLocator *locator);
00138 vtkGetObjectMacro(Locator,vtkPointLocator);
00140
00142 void CreateDefaultLocator();
00143
00145 unsigned long GetMTime();
00146
00147 protected:
00148 vtkGeometryFilter();
00149 ~vtkGeometryFilter();
00150
00151 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00152 virtual int FillInputPortInformation(int port, vtkInformation *info);
00153
00154
00155 void PolyDataExecute(vtkDataSet *, vtkPolyData *, vtkInformation *);
00156 void UnstructuredGridExecute(vtkDataSet *, vtkPolyData *, vtkInformation *);
00157 void StructuredGridExecute(vtkDataSet *, vtkPolyData *, vtkInformation *);
00158 int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00159
00160 vtkIdType PointMaximum;
00161 vtkIdType PointMinimum;
00162 vtkIdType CellMinimum;
00163 vtkIdType CellMaximum;
00164 double Extent[6];
00165 int PointClipping;
00166 int CellClipping;
00167 int ExtentClipping;
00168
00169 int Merging;
00170 vtkPointLocator *Locator;
00171 private:
00172 vtkGeometryFilter(const vtkGeometryFilter&);
00173 void operator=(const vtkGeometryFilter&);
00174 };
00175
00176 #endif
00177
00178