00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00054 #ifndef __vtkImageStencil_h
00055 #define __vtkImageStencil_h
00056
00057 #include "vtkImageToImageFilter.h"
00058 #include "vtkImageStencilData.h"
00059
00060 class VTK_IMAGING_EXPORT vtkImageStencil : public vtkImageToImageFilter
00061 {
00062 public:
00063 static vtkImageStencil *New();
00064 vtkTypeMacro(vtkImageStencil, vtkImageToImageFilter);
00065 void PrintSelf(ostream& os, vtkIndent indent);
00066
00068
00070 virtual void SetStencil(vtkImageStencilData *stencil);
00071 vtkImageStencilData *GetStencil();
00073
00075
00076 vtkSetMacro(ReverseStencil, int);
00077 vtkBooleanMacro(ReverseStencil, int);
00078 vtkGetMacro(ReverseStencil, int);
00080
00082
00086 virtual void SetBackgroundInput(vtkImageData *input);
00087 vtkImageData *GetBackgroundInput();
00089
00091
00092 void SetBackgroundValue(float val) {
00093 this->SetBackgroundColor(val,val,val,val); };
00094 float GetBackgroundValue() {
00095 return this->BackgroundColor[0]; };
00097
00099
00101 vtkSetVector4Macro(BackgroundColor, float);
00102 vtkGetVector4Macro(BackgroundColor, float);
00104
00105 protected:
00106 vtkImageStencil();
00107 ~vtkImageStencil();
00108
00109 void ExecuteInformation() {
00110 this->vtkImageToImageFilter::ExecuteInformation(); };
00111 void ExecuteInformation(vtkImageData *inData, vtkImageData *outData);
00112
00113 void ThreadedExecute(vtkImageData *inData, vtkImageData *outData,
00114 int extent[6], int id);
00115
00116 int ReverseStencil;
00117 float BackgroundColor[4];
00118 private:
00119 vtkImageStencil(const vtkImageStencil&);
00120 void operator=(const vtkImageStencil&);
00121 };
00122
00123 #endif
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136