00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
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&);
00167 void operator=(const vtkClipPolyData&);
00168 };
00169
00170 #endif