vtkImageIterator.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00028 #ifndef __vtkImageIterator_h
00029 #define __vtkImageIterator_h
00030
00031 #include "vtkSystemIncludes.h"
00032 class vtkImageData;
00033
00034 template<class DType>
00035 class vtkImageIterator
00036 {
00037 public:
00038 typedef DType *SpanIterator;
00039
00041 vtkImageIterator(vtkImageData *id, int *ext);
00042
00044 void NextSpan();
00045
00047
00048 SpanIterator BeginSpan()
00049 {
00050 return this->Pointer;
00051 }
00053
00055
00056 SpanIterator EndSpan()
00057 {
00058 return this->SpanEndPointer;
00059 }
00061
00063
00064 int IsAtEnd()
00065 {
00066 return (this->Pointer >= this->EndPointer);
00067 }
00069
00070 protected:
00071 DType *Pointer;
00072 DType *SpanEndPointer;
00073 DType *SliceEndPointer;
00074 DType *EndPointer;
00075 int Increments[3];
00076 int ContinuousIncrements[3];
00077 };
00078
00079 #ifdef VTK_NO_EXPLICIT_TEMPLATE_INSTANTIATION
00080 #include "vtkImageIterator.txx"
00081 #endif
00082
00083 #endif