VTK
|
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