Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Imaging/vtkImageLogic.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkImageLogic.h,v $ 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00026 #ifndef __vtkImageLogic_h 00027 #define __vtkImageLogic_h 00028 00029 00030 // Operation options. 00031 #define VTK_AND 0 00032 #define VTK_OR 1 00033 #define VTK_XOR 2 00034 #define VTK_NAND 3 00035 #define VTK_NOR 4 00036 #define VTK_NOT 5 00037 #define VTK_NOP 6 00038 00039 00040 00041 #include "vtkImageTwoInputFilter.h" 00042 00043 class VTK_IMAGING_EXPORT vtkImageLogic : public vtkImageTwoInputFilter 00044 { 00045 public: 00046 static vtkImageLogic *New(); 00047 vtkTypeRevisionMacro(vtkImageLogic,vtkImageTwoInputFilter); 00048 void PrintSelf(ostream& os, vtkIndent indent); 00049 00051 00052 vtkSetMacro(Operation,int); 00053 vtkGetMacro(Operation,int); 00054 void SetOperationToAnd() {this->SetOperation(VTK_AND);}; 00055 void SetOperationToOr() {this->SetOperation(VTK_OR);}; 00056 void SetOperationToXor() {this->SetOperation(VTK_XOR);}; 00057 void SetOperationToNand() {this->SetOperation(VTK_NAND);}; 00058 void SetOperationToNor() {this->SetOperation(VTK_NOR);}; 00059 void SetOperationToNot() {this->SetOperation(VTK_NOT);}; 00061 00063 00064 vtkSetMacro(OutputTrueValue, double); 00065 vtkGetMacro(OutputTrueValue, double); 00067 00068 protected: 00069 vtkImageLogic(); 00070 ~vtkImageLogic() {}; 00071 00072 int Operation; 00073 double OutputTrueValue; 00074 00075 void ThreadedExecute(vtkImageData **inDatas, vtkImageData *outData, 00076 int extent[6], int id); 00077 private: 00078 vtkImageLogic(const vtkImageLogic&); // Not implemented. 00079 void operator=(const vtkImageLogic&); // Not implemented. 00080 }; 00081 00082 #endif 00083 00084 00085 00086 00087 00088 00089 00090 00091 00092 00093 00094 00095