00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00043 #ifndef __vtkUnstructuredGridGeometryFilter_h
00044 #define __vtkUnstructuredGridGeometryFilter_h
00045
00046 #include "vtkUnstructuredGridAlgorithm.h"
00047
00048 class vtkIncrementalPointLocator;
00049 class vtkHashTableOfSurfels;
00050
00051 class VTK_GRAPHICS_EXPORT vtkUnstructuredGridGeometryFilter : public vtkUnstructuredGridAlgorithm
00052 {
00053 public:
00054 static vtkUnstructuredGridGeometryFilter *New();
00055 vtkTypeMacro(vtkUnstructuredGridGeometryFilter,vtkUnstructuredGridAlgorithm);
00056 void PrintSelf(ostream& os, vtkIndent indent);
00057
00059
00060 vtkSetMacro(PointClipping,int);
00061 vtkGetMacro(PointClipping,int);
00062 vtkBooleanMacro(PointClipping,int);
00064
00066
00067 vtkSetMacro(CellClipping,int);
00068 vtkGetMacro(CellClipping,int);
00069 vtkBooleanMacro(CellClipping,int);
00071
00073
00074 vtkSetMacro(ExtentClipping,int);
00075 vtkGetMacro(ExtentClipping,int);
00076 vtkBooleanMacro(ExtentClipping,int);
00078
00080
00081 vtkSetClampMacro(PointMinimum,vtkIdType,0,VTK_LARGE_ID);
00082 vtkGetMacro(PointMinimum,vtkIdType);
00084
00086
00087 vtkSetClampMacro(PointMaximum,vtkIdType,0,VTK_LARGE_ID);
00088 vtkGetMacro(PointMaximum,vtkIdType);
00090
00092
00093 vtkSetClampMacro(CellMinimum,vtkIdType,0,VTK_LARGE_ID);
00094 vtkGetMacro(CellMinimum,vtkIdType);
00096
00098
00099 vtkSetClampMacro(CellMaximum,vtkIdType,0,VTK_LARGE_ID);
00100 vtkGetMacro(CellMaximum,vtkIdType);
00102
00104
00106 void SetExtent(double xMin, double xMax, double yMin, double yMax,
00107 double zMin, double zMax);
00109
00111
00113 void SetExtent(double extent[6]);
00114 double *GetExtent() { return this->Extent;};
00116
00118
00121 vtkSetMacro(Merging,int);
00122 vtkGetMacro(Merging,int);
00123 vtkBooleanMacro(Merging,int);
00125
00127
00129 void SetLocator(vtkIncrementalPointLocator *locator);
00130 vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
00132
00134 void CreateDefaultLocator();
00135
00137 unsigned long GetMTime();
00138
00139 protected:
00140 vtkUnstructuredGridGeometryFilter();
00141 ~vtkUnstructuredGridGeometryFilter();
00142
00143 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00144 virtual int FillInputPortInformation(int port, vtkInformation *info);
00145
00146 int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00147
00148 vtkIdType PointMaximum;
00149 vtkIdType PointMinimum;
00150 vtkIdType CellMinimum;
00151 vtkIdType CellMaximum;
00152 double Extent[6];
00153 int PointClipping;
00154 int CellClipping;
00155 int ExtentClipping;
00156
00157 int Merging;
00158 vtkIncrementalPointLocator *Locator;
00159
00160 vtkHashTableOfSurfels *HashTable;
00161
00162 private:
00163 vtkUnstructuredGridGeometryFilter(const vtkUnstructuredGridGeometryFilter&);
00164 void operator=(const vtkUnstructuredGridGeometryFilter&);
00165 };
00166
00167 #endif