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 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00030 #ifndef __vtkImageLogic_h 00031 #define __vtkImageLogic_h 00032 00033 00034 // Operation options. 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&); // Not implemented. 00083 void operator=(const vtkImageLogic&); // Not implemented. 00084 }; 00085 00086 #endif 00087 00088 00089 00090 00091 00092 00093 00094 00095 00096 00097 00098 00099