VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkClipPolyData.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 =========================================================================*/ 00061 #ifndef __vtkClipPolyData_h 00062 #define __vtkClipPolyData_h 00063 00064 #include "vtkPolyDataAlgorithm.h" 00065 00066 class vtkImplicitFunction; 00067 class vtkPointLocator; 00068 00069 class VTK_GRAPHICS_EXPORT vtkClipPolyData : public vtkPolyDataAlgorithm 00070 { 00071 public: 00072 vtkTypeRevisionMacro(vtkClipPolyData,vtkPolyDataAlgorithm); 00073 void PrintSelf(ostream& os, vtkIndent indent); 00074 00077 static vtkClipPolyData *New(); 00078 00080 00083 vtkSetMacro(Value,double); 00084 vtkGetMacro(Value,double); 00086 00088 00093 vtkSetMacro(InsideOut,int); 00094 vtkGetMacro(InsideOut,int); 00095 vtkBooleanMacro(InsideOut,int); 00097 00099 00102 virtual void SetClipFunction(vtkImplicitFunction*); 00103 vtkGetObjectMacro(ClipFunction,vtkImplicitFunction); 00105 00107 00111 vtkSetMacro(GenerateClipScalars,int); 00112 vtkGetMacro(GenerateClipScalars,int); 00113 vtkBooleanMacro(GenerateClipScalars,int); 00115 00117 00119 vtkSetMacro(GenerateClippedOutput,int); 00120 vtkGetMacro(GenerateClippedOutput,int); 00121 vtkBooleanMacro(GenerateClippedOutput,int); 00123 00125 vtkPolyData *GetClippedOutput(); 00126 00128 00129 vtkAlgorithmOutput* GetClippedOutputPort() 00130 { 00131 return this->GetOutputPort(1); 00132 } 00134 00136 00138 void SetLocator(vtkPointLocator *locator); 00139 vtkGetObjectMacro(Locator,vtkPointLocator); 00141 00144 void CreateDefaultLocator(); 00145 00147 unsigned long GetMTime(); 00148 00149 protected: 00150 vtkClipPolyData(vtkImplicitFunction *cf=NULL); 00151 ~vtkClipPolyData(); 00152 00153 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00154 vtkImplicitFunction *ClipFunction; 00155 00156 vtkPointLocator *Locator; 00157 int InsideOut; 00158 double Value; 00159 int GenerateClipScalars; 00160 00161 int GenerateClippedOutput; 00162 private: 00163 vtkClipPolyData(const vtkClipPolyData&); // Not implemented. 00164 void operator=(const vtkClipPolyData&); // Not implemented. 00165 }; 00166 00167 #endif