VTK
dox/Filters/Extraction/vtkExtractGeometry.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkExtractGeometry.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 __vtkExtractGeometry_h
00044 #define __vtkExtractGeometry_h
00045 
00046 #include "vtkFiltersExtractionModule.h" // For export macro
00047 #include "vtkUnstructuredGridAlgorithm.h"
00048 
00049 class vtkImplicitFunction;
00050 
00051 class VTKFILTERSEXTRACTION_EXPORT vtkExtractGeometry : public vtkUnstructuredGridAlgorithm
00052 {
00053 public:
00054   vtkTypeMacro(vtkExtractGeometry,vtkUnstructuredGridAlgorithm);
00055   void PrintSelf(ostream& os, vtkIndent indent);
00056 
00058   static vtkExtractGeometry *New();
00059 
00061   unsigned long GetMTime();
00062 
00064 
00065   virtual void SetImplicitFunction(vtkImplicitFunction*);
00066   vtkGetObjectMacro(ImplicitFunction,vtkImplicitFunction);
00068 
00070 
00073   vtkSetMacro(ExtractInside,int);
00074   vtkGetMacro(ExtractInside,int);
00075   vtkBooleanMacro(ExtractInside,int);
00077 
00079 
00081   vtkSetMacro(ExtractBoundaryCells,int);
00082   vtkGetMacro(ExtractBoundaryCells,int);
00083   vtkBooleanMacro(ExtractBoundaryCells,int);
00084   vtkSetMacro(ExtractOnlyBoundaryCells,int);
00085   vtkGetMacro(ExtractOnlyBoundaryCells,int);
00086   vtkBooleanMacro(ExtractOnlyBoundaryCells,int);
00088 
00089 protected:
00090   vtkExtractGeometry(vtkImplicitFunction *f=NULL);
00091   ~vtkExtractGeometry();
00092 
00093   // Usual data generation method
00094   virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00095 
00096   virtual int FillInputPortInformation(int port, vtkInformation *info);
00097 
00098   vtkImplicitFunction *ImplicitFunction;
00099   int ExtractInside;
00100   int ExtractBoundaryCells;
00101   int ExtractOnlyBoundaryCells;
00102 
00103 private:
00104   vtkExtractGeometry(const vtkExtractGeometry&);  // Not implemented.
00105   void operator=(const vtkExtractGeometry&);  // Not implemented.
00106 };
00107 
00108 #endif
00109 
00110