VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Filters/Geometry/vtkUnstructuredGridGeometryFilter.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkUnstructuredGridGeometryFilter.h
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00043 #ifndef vtkUnstructuredGridGeometryFilter_h
00044 #define vtkUnstructuredGridGeometryFilter_h
00045 
00046 #include "vtkFiltersGeometryModule.h" // For export macro
00047 #include "vtkUnstructuredGridBaseAlgorithm.h"
00048 
00049 class vtkIncrementalPointLocator;
00050 class vtkHashTableOfSurfels; // internal class
00051 
00052 class VTKFILTERSGEOMETRY_EXPORT vtkUnstructuredGridGeometryFilter
00053     : public vtkUnstructuredGridBaseAlgorithm
00054 {
00055 public:
00056   static vtkUnstructuredGridGeometryFilter *New();
00057   vtkTypeMacro(vtkUnstructuredGridGeometryFilter,
00058                vtkUnstructuredGridBaseAlgorithm)
00059   void PrintSelf(ostream& os, vtkIndent indent);
00060 
00062 
00063   vtkSetMacro(PointClipping,int);
00064   vtkGetMacro(PointClipping,int);
00065   vtkBooleanMacro(PointClipping,int);
00067 
00069 
00070   vtkSetMacro(CellClipping,int);
00071   vtkGetMacro(CellClipping,int);
00072   vtkBooleanMacro(CellClipping,int);
00074 
00076 
00077   vtkSetMacro(ExtentClipping,int);
00078   vtkGetMacro(ExtentClipping,int);
00079   vtkBooleanMacro(ExtentClipping,int);
00081 
00083 
00084   vtkSetClampMacro(PointMinimum,vtkIdType,0,VTK_ID_MAX);
00085   vtkGetMacro(PointMinimum,vtkIdType);
00087 
00089 
00090   vtkSetClampMacro(PointMaximum,vtkIdType,0,VTK_ID_MAX);
00091   vtkGetMacro(PointMaximum,vtkIdType);
00093 
00095 
00096   vtkSetClampMacro(CellMinimum,vtkIdType,0,VTK_ID_MAX);
00097   vtkGetMacro(CellMinimum,vtkIdType);
00099 
00101 
00102   vtkSetClampMacro(CellMaximum,vtkIdType,0,VTK_ID_MAX);
00103   vtkGetMacro(CellMaximum,vtkIdType);
00105 
00107 
00109   void SetExtent(double xMin, double xMax, double yMin, double yMax,
00110                  double zMin, double zMax);
00112 
00114 
00116   void SetExtent(double extent[6]);
00117   double *GetExtent() { return this->Extent;};
00119 
00121 
00124   vtkSetMacro(Merging,int);
00125   vtkGetMacro(Merging,int);
00126   vtkBooleanMacro(Merging,int);
00128 
00130 
00136   vtkSetMacro(PassThroughCellIds,int);
00137   vtkGetMacro(PassThroughCellIds,int);
00138   vtkBooleanMacro(PassThroughCellIds,int);
00139   vtkSetMacro(PassThroughPointIds,int);
00140   vtkGetMacro(PassThroughPointIds,int);
00141   vtkBooleanMacro(PassThroughPointIds,int);
00143 
00145 
00149   vtkSetStringMacro(OriginalCellIdsName);
00150   virtual const char *GetOriginalCellIdsName() {
00151     return (  this->OriginalCellIdsName
00152             ? this->OriginalCellIdsName : "vtkOriginalCellIds");
00153   }
00154   vtkSetStringMacro(OriginalPointIdsName);
00155   virtual const char *GetOriginalPointIdsName() {
00156     return (  this->OriginalPointIdsName
00157             ? this->OriginalPointIdsName : "vtkOriginalPointIds");
00158   }
00160 
00162 
00164   void SetLocator(vtkIncrementalPointLocator *locator);
00165   vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
00167 
00169   void CreateDefaultLocator();
00170 
00172   unsigned long GetMTime();
00173 
00174 protected:
00175   vtkUnstructuredGridGeometryFilter();
00176   ~vtkUnstructuredGridGeometryFilter();
00177 
00178   virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00179   virtual int FillInputPortInformation(int port, vtkInformation *info);
00180 
00181   int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00182 
00183   vtkIdType PointMaximum;
00184   vtkIdType PointMinimum;
00185   vtkIdType CellMinimum;
00186   vtkIdType CellMaximum;
00187   double Extent[6];
00188   int PointClipping;
00189   int CellClipping;
00190   int ExtentClipping;
00191 
00192   int PassThroughCellIds;
00193   int PassThroughPointIds;
00194   char *OriginalCellIdsName;
00195   char *OriginalPointIdsName;
00196 
00197   int Merging;
00198   vtkIncrementalPointLocator *Locator;
00199 
00200   vtkHashTableOfSurfels *HashTable;
00201 
00202 private:
00203   vtkUnstructuredGridGeometryFilter(const vtkUnstructuredGridGeometryFilter&);  // Not implemented.
00204   void operator=(const vtkUnstructuredGridGeometryFilter&);  // Not implemented.
00205 };
00206 
00207 #endif