00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00049 #ifndef __vtkGenericGeometryFilter_h
00050 #define __vtkGenericGeometryFilter_h
00051
00052 #include "vtkPolyDataAlgorithm.h"
00053
00054 class vtkPointLocator;
00055 class vtkPointData;
00056
00057 class VTK_GENERIC_FILTERING_EXPORT vtkGenericGeometryFilter : public vtkPolyDataAlgorithm
00058 {
00059 public:
00060 static vtkGenericGeometryFilter *New();
00061 vtkTypeRevisionMacro(vtkGenericGeometryFilter,vtkPolyDataAlgorithm);
00062 void PrintSelf(ostream& os, vtkIndent indent);
00063
00065
00066 vtkSetMacro(PointClipping,int);
00067 vtkGetMacro(PointClipping,int);
00068 vtkBooleanMacro(PointClipping,int);
00070
00072
00073 vtkSetMacro(CellClipping,int);
00074 vtkGetMacro(CellClipping,int);
00075 vtkBooleanMacro(CellClipping,int);
00077
00079
00080 vtkSetMacro(ExtentClipping,int);
00081 vtkGetMacro(ExtentClipping,int);
00082 vtkBooleanMacro(ExtentClipping,int);
00084
00086
00087 vtkSetClampMacro(PointMinimum,vtkIdType,0,VTK_LARGE_ID);
00088 vtkGetMacro(PointMinimum,vtkIdType);
00090
00092
00093 vtkSetClampMacro(PointMaximum,vtkIdType,0,VTK_LARGE_ID);
00094 vtkGetMacro(PointMaximum,vtkIdType);
00096
00098
00099 vtkSetClampMacro(CellMinimum,vtkIdType,0,VTK_LARGE_ID);
00100 vtkGetMacro(CellMinimum,vtkIdType);
00102
00104
00105 vtkSetClampMacro(CellMaximum,vtkIdType,0,VTK_LARGE_ID);
00106 vtkGetMacro(CellMaximum,vtkIdType);
00108
00110
00112 void SetExtent(double xMin, double xMax, double yMin, double yMax,
00113 double zMin, double zMax);
00115
00117
00119 void SetExtent(double extent[6]);
00120 double *GetExtent() { return this->Extent;};
00122
00124
00127 vtkSetMacro(Merging,int);
00128 vtkGetMacro(Merging,int);
00129 vtkBooleanMacro(Merging,int);
00131
00133
00135 void SetLocator(vtkPointLocator *locator);
00136 vtkGetObjectMacro(Locator,vtkPointLocator);
00138
00140 void CreateDefaultLocator();
00141
00143 unsigned long GetMTime();
00144
00145 protected:
00146 vtkGenericGeometryFilter();
00147 ~vtkGenericGeometryFilter();
00148
00149 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00150 void PolyDataExecute();
00151 void UnstructuredGridExecute();
00152 void StructuredGridExecute();
00153 int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00154 int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00155
00156 int FillInputPortInformation(int, vtkInformation*);
00157
00158 vtkIdType PointMaximum;
00159 vtkIdType PointMinimum;
00160 vtkIdType CellMinimum;
00161 vtkIdType CellMaximum;
00162 double Extent[6];
00163 int PointClipping;
00164 int CellClipping;
00165 int ExtentClipping;
00166
00167 int Merging;
00168 vtkPointLocator *Locator;
00169
00170
00171 vtkPointData *internalPD;
00172
00173 private:
00174 vtkGenericGeometryFilter(const vtkGenericGeometryFilter&);
00175 void operator=(const vtkGenericGeometryFilter&);
00176 };
00177
00178 #endif
00179
00180