VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkExtractGeometry.h,v $ 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 =========================================================================*/ 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 // Usual data generation method 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&); // Not implemented. 00101 void operator=(const vtkExtractGeometry&); // Not implemented. 00102 }; 00103 00104 #endif 00105 00106