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