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