00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkExtractGeometry.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00059 #ifndef __vtkExtractGeometry_h 00060 #define __vtkExtractGeometry_h 00061 00062 #include "vtkDataSetToUnstructuredGridFilter.h" 00063 00064 class vtkImplicitFunction; 00065 00066 class VTK_GRAPHICS_EXPORT vtkExtractGeometry : public vtkDataSetToUnstructuredGridFilter 00067 { 00068 public: 00069 vtkTypeRevisionMacro(vtkExtractGeometry,vtkDataSetToUnstructuredGridFilter); 00070 void PrintSelf(ostream& os, vtkIndent indent); 00071 00073 static vtkExtractGeometry *New(); 00074 00076 unsigned long GetMTime(); 00077 00079 00080 virtual void SetImplicitFunction(vtkImplicitFunction*); 00081 vtkGetObjectMacro(ImplicitFunction,vtkImplicitFunction); 00083 00085 00088 vtkSetMacro(ExtractInside,int); 00089 vtkGetMacro(ExtractInside,int); 00090 vtkBooleanMacro(ExtractInside,int); 00092 00094 00096 vtkSetMacro(ExtractBoundaryCells,int); 00097 vtkGetMacro(ExtractBoundaryCells,int); 00098 vtkBooleanMacro(ExtractBoundaryCells,int); 00100 00101 protected: 00102 vtkExtractGeometry(vtkImplicitFunction *f=NULL); 00103 ~vtkExtractGeometry(); 00104 00105 // Usual data generation method 00106 void Execute(); 00107 00108 vtkImplicitFunction *ImplicitFunction; 00109 int ExtractInside; 00110 int ExtractBoundaryCells; 00111 00112 private: 00113 vtkExtractGeometry(const vtkExtractGeometry&); // Not implemented. 00114 void operator=(const vtkExtractGeometry&); // Not implemented. 00115 }; 00116 00117 #endif 00118 00119