VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkClipPolyData.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 =========================================================================*/ 00064 #ifndef __vtkClipPolyData_h 00065 #define __vtkClipPolyData_h 00066 00067 #include "vtkFiltersCoreModule.h" // For export macro 00068 #include "vtkPolyDataAlgorithm.h" 00069 00070 class vtkImplicitFunction; 00071 class vtkIncrementalPointLocator; 00072 00073 class VTKFILTERSCORE_EXPORT vtkClipPolyData : public vtkPolyDataAlgorithm 00074 { 00075 public: 00076 vtkTypeMacro(vtkClipPolyData,vtkPolyDataAlgorithm); 00077 void PrintSelf(ostream& os, vtkIndent indent); 00078 00081 static vtkClipPolyData *New(); 00082 00084 00087 vtkSetMacro(Value,double); 00088 vtkGetMacro(Value,double); 00090 00092 00097 vtkSetMacro(InsideOut,int); 00098 vtkGetMacro(InsideOut,int); 00099 vtkBooleanMacro(InsideOut,int); 00101 00103 00106 virtual void SetClipFunction(vtkImplicitFunction*); 00107 vtkGetObjectMacro(ClipFunction,vtkImplicitFunction); 00109 00111 00115 vtkSetMacro(GenerateClipScalars,int); 00116 vtkGetMacro(GenerateClipScalars,int); 00117 vtkBooleanMacro(GenerateClipScalars,int); 00119 00121 00123 vtkSetMacro(GenerateClippedOutput,int); 00124 vtkGetMacro(GenerateClippedOutput,int); 00125 vtkBooleanMacro(GenerateClippedOutput,int); 00127 00129 vtkPolyData *GetClippedOutput(); 00130 00132 00133 vtkAlgorithmOutput* GetClippedOutputPort() 00134 { 00135 return this->GetOutputPort(1); 00136 } 00138 00140 00142 void SetLocator(vtkIncrementalPointLocator *locator); 00143 vtkGetObjectMacro(Locator,vtkIncrementalPointLocator); 00145 00148 void CreateDefaultLocator(); 00149 00151 unsigned long GetMTime(); 00152 00154 00157 vtkSetMacro(OutputPointsPrecision,int); 00158 vtkGetMacro(OutputPointsPrecision,int); 00160 00161 protected: 00162 vtkClipPolyData(vtkImplicitFunction *cf=NULL); 00163 ~vtkClipPolyData(); 00164 00165 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00166 vtkImplicitFunction *ClipFunction; 00167 00168 vtkIncrementalPointLocator *Locator; 00169 int InsideOut; 00170 double Value; 00171 int GenerateClipScalars; 00172 int GenerateClippedOutput; 00173 int OutputPointsPrecision; 00174 00175 private: 00176 vtkClipPolyData(const vtkClipPolyData&); // Not implemented. 00177 void operator=(const vtkClipPolyData&); // Not implemented. 00178 }; 00179 00180 #endif