25#ifndef vtkAnnularBinIterator_h
26#define vtkAnnularBinIterator_h
28#include "vtkFiltersMeshingModule.h"
32VTK_ABI_NAMESPACE_BEGIN
36struct InternalAnnularBinIterator;
91 return this->Dispatch.Begin(ptId, x, results);
101 return this->Dispatch.Next(radius2, circles, results);
112 void GetBin(
int IJ[2]) { this->Dispatch.GetBin(IJ); }
118 double GetMinD2() {
return this->Dispatch.GetMinD2(); }
vtkAnnularBinIterator(vtkStaticPointLocator2D *loc)
Construct the iterator with a vtkStaticPointLocator2D.
void Initialize(vtkStaticPointLocator2D *locator)
Initialize an iterator with the associated vtkStaticPointLocator2D over which to iterate.
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)
InternalAnnularBinIterator * Iterator
bool Next(double radius2, vtkDoubleArray *spheres, vtkDist2TupleArray &results)
bool Begin(vtkIdType pid, double x[3], vtkDist2TupleArray &results)
void Initialize(vtkStaticPointLocator2D *locator)
vtkAnnularBinIteratorDispatch()
Represent an array of vtkDist2Tuples.