VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkBitArrayIterator.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 =========================================================================*/ 00021 #ifndef __vtkBitArrayIterator_h 00022 #define __vtkBitArrayIterator_h 00023 00024 #include "vtkCommonCoreModule.h" // For export macro 00025 #include "vtkArrayIterator.h" 00026 00027 class vtkBitArray; 00028 class VTKCOMMONCORE_EXPORT vtkBitArrayIterator : public vtkArrayIterator 00029 { 00030 public: 00031 static vtkBitArrayIterator* New(); 00032 vtkTypeMacro(vtkBitArrayIterator, vtkArrayIterator); 00033 void PrintSelf(ostream& os, vtkIndent indent); 00034 00039 virtual void Initialize(vtkAbstractArray* array); 00040 00042 vtkAbstractArray* GetArray(); 00043 00045 int* GetTuple(vtkIdType id) ; 00046 00048 int GetValue(vtkIdType id); 00049 00051 vtkIdType GetNumberOfTuples(); 00052 00054 vtkIdType GetNumberOfValues(); 00055 00057 int GetNumberOfComponents(); 00058 00060 int GetDataType(); 00061 00063 int GetDataTypeSize(); 00064 00068 void SetValue(vtkIdType id, int value); 00069 00070 //BTX 00072 00073 typedef int ValueType; 00074 //ETX 00075 protected: 00076 vtkBitArrayIterator(); 00077 ~vtkBitArrayIterator(); 00079 00080 int *Tuple; 00081 int TupleSize; 00082 void SetArray(vtkBitArray* b); 00083 vtkBitArray* Array; 00084 private: 00085 vtkBitArrayIterator(const vtkBitArrayIterator&); // Not implemented. 00086 void operator=(const vtkBitArrayIterator&); // Not implemented. 00087 }; 00088 00089 #endif 00090