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