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
00133 vtkSetMacro(PassThroughCellIds,int);
00134 vtkGetMacro(PassThroughCellIds,int);
00135 vtkBooleanMacro(PassThroughCellIds,int);
00136 vtkSetMacro(PassThroughPointIds,int);
00137 vtkGetMacro(PassThroughPointIds,int);
00138 vtkBooleanMacro(PassThroughPointIds,int);
00140
00142
00146 vtkSetStringMacro(OriginalCellIdsName);
00147 virtual const char *GetOriginalCellIdsName() {
00148 return ( this->OriginalCellIdsName
00149 ? this->OriginalCellIdsName : "vtkOriginalCellIds");
00150 }
00151 vtkSetStringMacro(OriginalPointIdsName);
00152 virtual const char *GetOriginalPointIdsName() {
00153 return ( this->OriginalPointIdsName
00154 ? this->OriginalPointIdsName : "vtkOriginalPointIds");
00155 }
00157
00159
00161 void SetLocator(vtkIncrementalPointLocator *locator);
00162 vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
00164
00166 void CreateDefaultLocator();
00167
00169 unsigned long GetMTime();
00170
00171 protected:
00172 vtkUnstructuredGridGeometryFilter();
00173 ~vtkUnstructuredGridGeometryFilter();
00174
00175 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00176 virtual int FillInputPortInformation(int port, vtkInformation *info);
00177
00178 int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00179
00180 vtkIdType PointMaximum;
00181 vtkIdType PointMinimum;
00182 vtkIdType CellMinimum;
00183 vtkIdType CellMaximum;
00184 double Extent[6];
00185 int PointClipping;
00186 int CellClipping;
00187 int ExtentClipping;
00188
00189 int PassThroughCellIds;
00190 int PassThroughPointIds;
00191 char *OriginalCellIdsName;
00192 char *OriginalPointIdsName;
00193
00194 int Merging;
00195 vtkIncrementalPointLocator *Locator;
00196
00197 vtkHashTableOfSurfels *HashTable;
00198
00199 private:
00200 vtkUnstructuredGridGeometryFilter(const vtkUnstructuredGridGeometryFilter&);
00201 void operator=(const vtkUnstructuredGridGeometryFilter&);
00202 };
00203
00204 #endif