00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00040 #ifndef __vtkExtractPolyDataGeometry_h
00041 #define __vtkExtractPolyDataGeometry_h
00042 
00043 #include "vtkPolyDataAlgorithm.h"
00044 
00045 class vtkImplicitFunction;
00046 
00047 class VTK_GRAPHICS_EXPORT vtkExtractPolyDataGeometry : public vtkPolyDataAlgorithm
00048 {
00049 public:
00050   vtkTypeMacro(vtkExtractPolyDataGeometry,vtkPolyDataAlgorithm);
00051   void PrintSelf(ostream& os, vtkIndent indent);
00052 
00054   static vtkExtractPolyDataGeometry *New();
00055 
00057   unsigned long GetMTime();
00058 
00060 
00061   virtual void SetImplicitFunction(vtkImplicitFunction*);
00062   vtkGetObjectMacro(ImplicitFunction,vtkImplicitFunction);
00064 
00066 
00069   vtkSetMacro(ExtractInside,int);
00070   vtkGetMacro(ExtractInside,int);
00071   vtkBooleanMacro(ExtractInside,int);
00073 
00075 
00077   vtkSetMacro(ExtractBoundaryCells,int);
00078   vtkGetMacro(ExtractBoundaryCells,int);
00079   vtkBooleanMacro(ExtractBoundaryCells,int);
00081 
00082 protected:
00083   vtkExtractPolyDataGeometry(vtkImplicitFunction *f=NULL);
00084   ~vtkExtractPolyDataGeometry();
00085 
00086   
00087   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00088 
00089   vtkImplicitFunction *ImplicitFunction;
00090   int ExtractInside;
00091   int ExtractBoundaryCells;
00092 private:
00093   vtkExtractPolyDataGeometry(const vtkExtractPolyDataGeometry&);  
00094   void operator=(const vtkExtractPolyDataGeometry&);  
00095 };
00096 
00097 #endif