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 "vtkPolyDataAlgorithm.h" 00068 00069 class vtkImplicitFunction; 00070 class vtkIncrementalPointLocator; 00071 00072 class VTK_GRAPHICS_EXPORT vtkClipPolyData : public vtkPolyDataAlgorithm 00073 { 00074 public: 00075 vtkTypeMacro(vtkClipPolyData,vtkPolyDataAlgorithm); 00076 void PrintSelf(ostream& os, vtkIndent indent); 00077 00080 static vtkClipPolyData *New(); 00081 00083 00086 vtkSetMacro(Value,double); 00087 vtkGetMacro(Value,double); 00089 00091 00096 vtkSetMacro(InsideOut,int); 00097 vtkGetMacro(InsideOut,int); 00098 vtkBooleanMacro(InsideOut,int); 00100 00102 00105 virtual void SetClipFunction(vtkImplicitFunction*); 00106 vtkGetObjectMacro(ClipFunction,vtkImplicitFunction); 00108 00110 00114 vtkSetMacro(GenerateClipScalars,int); 00115 vtkGetMacro(GenerateClipScalars,int); 00116 vtkBooleanMacro(GenerateClipScalars,int); 00118 00120 00122 vtkSetMacro(GenerateClippedOutput,int); 00123 vtkGetMacro(GenerateClippedOutput,int); 00124 vtkBooleanMacro(GenerateClippedOutput,int); 00126 00128 vtkPolyData *GetClippedOutput(); 00129 00131 00132 vtkAlgorithmOutput* GetClippedOutputPort() 00133 { 00134 return this->GetOutputPort(1); 00135 } 00137 00139 00141 void SetLocator(vtkIncrementalPointLocator *locator); 00142 vtkGetObjectMacro(Locator,vtkIncrementalPointLocator); 00144 00147 void CreateDefaultLocator(); 00148 00150 unsigned long GetMTime(); 00151 00152 protected: 00153 vtkClipPolyData(vtkImplicitFunction *cf=NULL); 00154 ~vtkClipPolyData(); 00155 00156 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00157 vtkImplicitFunction *ClipFunction; 00158 00159 vtkIncrementalPointLocator *Locator; 00160 int InsideOut; 00161 double Value; 00162 int GenerateClipScalars; 00163 00164 int GenerateClippedOutput; 00165 private: 00166 vtkClipPolyData(const vtkClipPolyData&); // Not implemented. 00167 void operator=(const vtkClipPolyData&); // Not implemented. 00168 }; 00169 00170 #endif