00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00026 #ifndef __vtkImageMaskBits_h
00027 #define __vtkImageMaskBits_h
00028
00029 #include "vtkImageLogic.h"
00030 #include "vtkThreadedImageAlgorithm.h"
00031
00032 class VTK_IMAGING_EXPORT vtkImageMaskBits : public vtkThreadedImageAlgorithm
00033 {
00034 public:
00035 static vtkImageMaskBits *New();
00036 vtkTypeMacro(vtkImageMaskBits,vtkThreadedImageAlgorithm);
00037 void PrintSelf(ostream& os, vtkIndent indent);
00038
00040
00041 vtkSetVector4Macro(Masks, unsigned int);
00042 void SetMask(unsigned int mask)
00043 {this->SetMasks(mask, mask, mask, mask);}
00044 void SetMasks(unsigned int mask1, unsigned int mask2)
00045 {this->SetMasks(mask1, mask2, 0xffffffff, 0xffffffff);}
00046 void SetMasks(unsigned int mask1, unsigned int mask2, unsigned int mask3)
00047 {this->SetMasks(mask1, mask2, mask3, 0xffffffff);}
00048 vtkGetVector4Macro(Masks, unsigned int);
00050
00052
00053 vtkSetMacro(Operation,int);
00054 vtkGetMacro(Operation,int);
00055 void SetOperationToAnd() {this->SetOperation(VTK_AND);};
00056 void SetOperationToOr() {this->SetOperation(VTK_OR);};
00057 void SetOperationToXor() {this->SetOperation(VTK_XOR);};
00058 void SetOperationToNand() {this->SetOperation(VTK_NAND);};
00059 void SetOperationToNor() {this->SetOperation(VTK_NOR);};
00061
00062 protected:
00063 vtkImageMaskBits();
00064 ~vtkImageMaskBits() {};
00065
00066 void ThreadedExecute (vtkImageData *inData, vtkImageData *outData,
00067 int ext[6], int id);
00068
00069 unsigned int Masks[4];
00070 int Operation;
00071 private:
00072 vtkImageMaskBits(const vtkImageMaskBits&);
00073 void operator=(const vtkImageMaskBits&);
00074 };
00075
00076 #endif
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086