VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkImageMaskBits.h 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 __vtkImageMaskBits_h 00027 #define __vtkImageMaskBits_h 00028 00029 #include "vtkImageLogic.h" //For VTK_AND, VTK_OR ... 00030 #include "vtkThreadedImageAlgorithm.h" 00031 00032 class VTK_IMAGING_EXPORT vtkImageMaskBits : public vtkThreadedImageAlgorithm 00033 { 00034 public: 00035 static vtkImageMaskBits *New(); 00036 vtkTypeMacro(vtkImageMaskBits,vtkThreadedImageAlgorithm); 00037 void PrintSelf(ostream& os, vtkIndent indent); 00038 00040 00041 vtkSetVector4Macro(Masks, unsigned int); 00042 void SetMask(unsigned int mask) 00043 {this->SetMasks(mask, mask, mask, mask);} 00044 void SetMasks(unsigned int mask1, unsigned int mask2) 00045 {this->SetMasks(mask1, mask2, 0xffffffff, 0xffffffff);} 00046 void SetMasks(unsigned int mask1, unsigned int mask2, unsigned int mask3) 00047 {this->SetMasks(mask1, mask2, mask3, 0xffffffff);} 00048 vtkGetVector4Macro(Masks, unsigned int); 00050 00052 00053 vtkSetMacro(Operation,int); 00054 vtkGetMacro(Operation,int); 00055 void SetOperationToAnd() {this->SetOperation(VTK_AND);}; 00056 void SetOperationToOr() {this->SetOperation(VTK_OR);}; 00057 void SetOperationToXor() {this->SetOperation(VTK_XOR);}; 00058 void SetOperationToNand() {this->SetOperation(VTK_NAND);}; 00059 void SetOperationToNor() {this->SetOperation(VTK_NOR);}; 00061 00062 protected: 00063 vtkImageMaskBits(); 00064 ~vtkImageMaskBits() {}; 00065 00066 void ThreadedExecute (vtkImageData *inData, vtkImageData *outData, 00067 int ext[6], int id); 00068 00069 unsigned int Masks[4]; 00070 int Operation; 00071 private: 00072 vtkImageMaskBits(const vtkImageMaskBits&); // Not implemented. 00073 void operator=(const vtkImageMaskBits&); // Not implemented. 00074 }; 00075 00076 #endif 00077 00078 00079 00080 00081 00082 00083 00084 00085 00086