25#ifndef vtkAnnularBinIterator_h
26#define vtkAnnularBinIterator_h
28#include "vtkFiltersMeshingModule.h"
34VTK_ABI_NAMESPACE_BEGIN
38struct InternalAnnularBinIterator;
53 this->LargeIds =
false;
54 this->Iterator =
nullptr;
102 return this->Dispatch.Begin(ptId, x, results);
112 return this->Dispatch.Next(radius2, circles, results);
123 void GetBin(
int IJ[2]) { this->Dispatch.GetBin(IJ); }
129 double GetMinD2() {
return this->Dispatch.GetMinD2(); }
vtkAnnularBinIterator(vtkStaticPointLocator2D *loc)
Construct the iterator with a vtkStaticPointLocator2D.
vtkAnnularBinIterator & operator=(const vtkAnnularBinIterator &)
void Initialize(vtkStaticPointLocator2D *locator)
Initialize an iterator with the associated vtkStaticPointLocator2D over which to iterate.
vtkAnnularBinIterator(const vtkAnnularBinIterator &)
bool Next(double radius2, vtkDoubleArray *circles, vtkDist2TupleArray &results)
Move to the next bin, returning all points that are inside the circle given by x[2] (specified in Beg...
double GetMinD2()
Return the minimum distance of the current annulus of bins to the initial starting point x[2].
vtkAnnularBinIterator()=default
Construct default iterator.
void GetBin(int IJ[2])
Return the current bin/bucket index IJ of traversal.
vtkIdType GetBinId()
Return the current bin/bucket id of traversal.
bool Begin(vtkIdType ptId, double x[3], vtkDist2TupleArray &results)
Begin iterating over the bins, starting with point ptId at position x[3].
dynamic, self-adjusting array of double
quickly locate points in 2-space
vtkAnnularBinIteratorDispatch(vtkStaticPointLocator2D *loc)
vtkAnnularBinIteratorDispatch(const vtkAnnularBinIteratorDispatch &)
InternalAnnularBinIterator * Iterator
bool Next(double radius2, vtkDoubleArray *spheres, vtkDist2TupleArray &results)
bool Begin(vtkIdType pid, double x[3], vtkDist2TupleArray &results)
void Initialize(vtkStaticPointLocator2D *locator)
vtkAnnularBinIteratorDispatch & operator=(const vtkAnnularBinIteratorDispatch &)
vtkAnnularBinIteratorDispatch()
Represent an array of vtkDist2Tuples.