vtkImageLogic.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00037 #ifndef __vtkImageLogic_h
00038 #define __vtkImageLogic_h
00039
00040
00041
00042 #define VTK_AND 0
00043 #define VTK_OR 1
00044 #define VTK_XOR 2
00045 #define VTK_NAND 3
00046 #define VTK_NOR 4
00047 #define VTK_NOT 5
00048 #define VTK_NOP 6
00049
00050
00051
00052 #include "vtkThreadedImageAlgorithm.h"
00053
00054 class VTK_IMAGING_EXPORT vtkImageLogic : public vtkThreadedImageAlgorithm
00055 {
00056 public:
00057 static vtkImageLogic *New();
00058 vtkTypeRevisionMacro(vtkImageLogic,vtkThreadedImageAlgorithm);
00059 void PrintSelf(ostream& os, vtkIndent indent);
00060
00062
00063 vtkSetMacro(Operation,int);
00064 vtkGetMacro(Operation,int);
00065 void SetOperationToAnd() {this->SetOperation(VTK_AND);};
00066 void SetOperationToOr() {this->SetOperation(VTK_OR);};
00067 void SetOperationToXor() {this->SetOperation(VTK_XOR);};
00068 void SetOperationToNand() {this->SetOperation(VTK_NAND);};
00069 void SetOperationToNor() {this->SetOperation(VTK_NOR);};
00070 void SetOperationToNot() {this->SetOperation(VTK_NOT);};
00072
00074
00075 vtkSetMacro(OutputTrueValue, double);
00076 vtkGetMacro(OutputTrueValue, double);
00078
00080
00081 virtual void SetInput1(vtkDataObject *input) {
00082 this->SetInput(0,input);};
00084
00086
00087 virtual void SetInput2(vtkDataObject *input) {
00088 this->SetInput(1,input);};
00090
00091 protected:
00092 vtkImageLogic();
00093 ~vtkImageLogic() {};
00094
00095 int Operation;
00096 double OutputTrueValue;
00097
00098 void ThreadedRequestData (vtkInformation *request,
00099 vtkInformationVector *inputVector,
00100 vtkInformationVector *outputVector,
00101 vtkImageData ***inData, vtkImageData **outData,
00102 int extent[6], int id);
00103
00104 private:
00105 vtkImageLogic(const vtkImageLogic&);
00106 void operator=(const vtkImageLogic&);
00107 };
00108
00109 #endif
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122