29 #ifndef vtkImageStencilIterator_h 30 #define vtkImageStencilIterator_h 46 this->BasePointer =
nullptr;
47 this->Pointer =
nullptr;
48 this->SpanEndPointer =
nullptr;
64 const int extent[6] =
nullptr,
69 this->BasePointer =
static_cast<DType *
>(
71 this->UpdatePointer();
81 const int extent[6] =
nullptr,
86 image,
extent, stencil, algorithm, threadId);
87 this->BasePointer =
static_cast<DType *
>(
89 this->UpdatePointer();
102 this->UpdatePointer();
119 return this->Pointer;
127 return this->SpanEndPointer;
138 this->Pointer = this->BasePointer + this->Id*this->Increment;
139 this->SpanEndPointer = this->BasePointer + this->SpanEnd*this->Increment;
152 #ifndef vtkImageStencilIterator_cxx 154 #pragma warning (push) 157 #pragma warning (disable: 4910) // extern and dllexport incompatible 163 #pragma warning (pop) DType * EndSpan()
Return a pointer to the end of the current span.
iterate over point data in an image.
bool IsAtEnd()
Test if the iterator has completed iterating over the entire extent.
void NextSpan()
Move the iterator to the beginning of the next span.
DType * BeginSpan()
Return a pointer to the beginning of the current span.
Superclass for all sources, filters, and sinks in VTK.
#define vtkExternTemplateMacro(decl)
A macro to declare extern templates for all numerical types.
void Initialize(vtkImageData *image, const int extent[6]=nullptr, vtkImageStencilData *stencil=nullptr, vtkAlgorithm *algorithm=nullptr, int threadId=0)
Initialize an iterator.
efficient description of an image stencil
topologically and geometrically regular array of data
bool IsAtEnd()
Test if the iterator has completed iterating over the entire extent.
vtkImageStencilIterator(vtkImageData *image, vtkImageStencilData *stencil=nullptr, const int extent[6]=nullptr, vtkAlgorithm *algorithm=nullptr, int threadId=0)
Create an iterator for the given image, with several options.
vtkImageStencilIterator()
Default constructor, its use must be followed by Initialize().
void UpdatePointer()
Update the pointer (called automatically when a new span begins).
void Initialize(vtkImageData *image, vtkImageStencilData *stencil=nullptr, const int extent[6]=nullptr, vtkAlgorithm *algorithm=nullptr, int threadId=0)
Initialize an iterator.
static void * GetVoidPointer(vtkImageData *image, vtkIdType i=0, int *pixelIncrement=nullptr)
Get a void pointer and pixel increment for the given point Id.
void NextSpan()
Move the iterator to the beginning of the next span.