00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00030
#ifndef __vtkImageLogic_h
00031
#define __vtkImageLogic_h
00032
00033
00034
00035 #define VTK_AND 0
00036 #define VTK_OR 1
00037 #define VTK_XOR 2
00038 #define VTK_NAND 3
00039 #define VTK_NOR 4
00040 #define VTK_NOT 5
00041 #define VTK_NOP 6
00042
00043
00044
00045
#include "vtkImageTwoInputFilter.h"
00046
00047 class VTK_IMAGING_EXPORT vtkImageLogic :
public vtkImageTwoInputFilter
00048 {
00049
public:
00050
static vtkImageLogic *
New();
00051 vtkTypeRevisionMacro(vtkImageLogic,
vtkImageTwoInputFilter);
00052
void PrintSelf(ostream& os,
vtkIndent indent);
00053
00055
00056 vtkSetMacro(Operation,
int);
00057 vtkGetMacro(Operation,
int);
00058 void SetOperationToAnd() {this->SetOperation(
VTK_AND);};
00059 void SetOperationToOr() {this->SetOperation(
VTK_OR);};
00060 void SetOperationToXor() {this->SetOperation(
VTK_XOR);};
00061 void SetOperationToNand() {this->SetOperation(
VTK_NAND);};
00062 void SetOperationToNor() {this->SetOperation(
VTK_NOR);};
00063 void SetOperationToNot() {this->SetOperation(
VTK_NOT);};
00065
00067
00068 vtkSetMacro(OutputTrueValue,
float);
00069 vtkGetMacro(OutputTrueValue,
float);
00071
00072
protected:
00073 vtkImageLogic();
00074 ~vtkImageLogic() {};
00075
00076 int Operation;
00077 float OutputTrueValue;
00078
00079
void ThreadedExecute(
vtkImageData **inDatas,
vtkImageData *outData,
00080
int extent[6],
int id);
00081
private:
00082 vtkImageLogic(
const vtkImageLogic&);
00083
void operator=(
const vtkImageLogic&);
00084 };
00085
00086
#endif
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099