00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00040 #ifndef __vtkExtractGeometry_h
00041 #define __vtkExtractGeometry_h
00042
00043 #include "vtkUnstructuredGridAlgorithm.h"
00044
00045 class vtkImplicitFunction;
00046
00047 class VTK_GRAPHICS_EXPORT vtkExtractGeometry : public vtkUnstructuredGridAlgorithm
00048 {
00049 public:
00050 vtkTypeRevisionMacro(vtkExtractGeometry,vtkUnstructuredGridAlgorithm);
00051 void PrintSelf(ostream& os, vtkIndent indent);
00052
00054 static vtkExtractGeometry *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);
00080 vtkSetMacro(ExtractOnlyBoundaryCells,int);
00081 vtkGetMacro(ExtractOnlyBoundaryCells,int);
00082 vtkBooleanMacro(ExtractOnlyBoundaryCells,int);
00084
00085 protected:
00086 vtkExtractGeometry(vtkImplicitFunction *f=NULL);
00087 ~vtkExtractGeometry();
00088
00089
00090 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00091
00092 virtual int FillInputPortInformation(int port, vtkInformation *info);
00093
00094 vtkImplicitFunction *ImplicitFunction;
00095 int ExtractInside;
00096 int ExtractBoundaryCells;
00097 int ExtractOnlyBoundaryCells;
00098
00099 private:
00100 vtkExtractGeometry(const vtkExtractGeometry&);
00101 void operator=(const vtkExtractGeometry&);
00102 };
00103
00104 #endif
00105
00106