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 vtkIncrementalPointLocator;
00055 class vtkPointData;
00056
00057 class VTK_GENERIC_FILTERING_EXPORT vtkGenericGeometryFilter : public vtkPolyDataAlgorithm
00058 {
00059 public:
00060 static vtkGenericGeometryFilter *New();
00061 vtkTypeMacro(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(vtkIncrementalPointLocator *locator);
00136 vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
00138
00140 void CreateDefaultLocator();
00141
00143 unsigned long GetMTime();
00144
00146
00150 vtkSetMacro(PassThroughCellIds,int);
00151 vtkGetMacro(PassThroughCellIds,int);
00152 vtkBooleanMacro(PassThroughCellIds,int);
00154
00155 protected:
00156 vtkGenericGeometryFilter();
00157 ~vtkGenericGeometryFilter();
00158
00159 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00160 void PolyDataExecute();
00161 void UnstructuredGridExecute();
00162 void StructuredGridExecute();
00163 int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00164 int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00165
00166 int FillInputPortInformation(int, vtkInformation*);
00167
00168 vtkIdType PointMaximum;
00169 vtkIdType PointMinimum;
00170 vtkIdType CellMinimum;
00171 vtkIdType CellMaximum;
00172 double Extent[6];
00173 int PointClipping;
00174 int CellClipping;
00175 int ExtentClipping;
00176
00177 int Merging;
00178 vtkIncrementalPointLocator *Locator;
00179
00180
00181 vtkPointData *InternalPD;
00182
00183 int PassThroughCellIds;
00184
00185 private:
00186 vtkGenericGeometryFilter(const vtkGenericGeometryFilter&);
00187 void operator=(const vtkGenericGeometryFilter&);
00188 };
00189
00190 #endif
00191
00192