25#ifndef vtkShellBinIterator_h
26#define vtkShellBinIterator_h
28#include "vtkFiltersMeshingModule.h"
32VTK_ABI_NAMESPACE_BEGIN
36struct InternalShellBinIterator;
91 return this->Dispatch.Begin(ptId, x, results);
101 return this->Dispatch.Next(radius2, spheres, results);
112 void GetBin(
int IJK[3]) { this->Dispatch.GetBin(IJK); }
118 double GetMinD2() {
return this->Dispatch.GetMinD2(); }
dynamic, self-adjusting array of double
void Initialize(vtkStaticPointLocator *locator)
Initialize an iterator with the associated vtkStaticPointLocator over which to iterate.
vtkShellBinIterator(vtkStaticPointLocator *loc)
Construct the iterator with a vtkStaticPointLocator.
double GetMinD2()
Return the minimum distance of the current shell of bins to the initial starting point x[3].
vtkIdType GetBinId()
Return the current bin/bucket id of traversal.
void GetBin(int IJK[3])
Return the current bin/bucket index IJK of traversal.
bool Next(double radius2, vtkDoubleArray *spheres, vtkDist2TupleArray &results)
Move to the next bin, returning all points that are inside the sphere given by x[3] (specified in Beg...
vtkShellBinIterator()=default
Construct a default iterator.
bool Begin(vtkIdType ptId, double x[3], vtkDist2TupleArray &results)
Begin iterating over the bins, starting with point ptId at position x[3].
quickly locate points in 3-space
Represent an array of vtkDist2Tuples.
vtkShellBinIteratorDispatch()
InternalShellBinIterator * Iterator
void Initialize(vtkStaticPointLocator *locator)
vtkShellBinIteratorDispatch(vtkStaticPointLocator *loc)
bool Next(double radius2, vtkDoubleArray *spheres, vtkDist2TupleArray &results)
bool Begin(vtkIdType pid, double x[3], vtkDist2TupleArray &results)