Go to the documentation of this file.
39 #ifndef vtkOctreePointLocator_h
40 #define vtkOctreePointLocator_h
118 double radius,
const double x[3],
double& dist2);
127 double z,
double &dist2);
212 double z,
double &dist2);
222 int skipRegion,
double &dist2);
represent and manipulate 3D points
void GenerateRepresentation(int level, vtkPolyData *pd)
an octree spatial decomposition of a set of points
int FindClosestPointInSphere(double x, double y, double z, double radius, int skipRegion, double &dist2)
vtkIdType FindClosestPoint(double x, double y, double z, double &dist2)
void operator=(const vtkOctreePointLocator &)
void FindPointsInArea(double *area, vtkIdTypeArray *ids, bool clearArray=true)
void FindClosestNPoints(int N, const double x[3], vtkIdList *result)
void AddAllPointsInRegion(vtkOctreePointLocatorNode *node, vtkIdList *ids)
void GetRegionDataBounds(int leafNodeID, double bounds[6])
int _FindClosestPointInRegion(int leafNodeId, double x, double y, double z, double &dist2)
#define vtkTypeMacro(thisClass, superclass)
int NumberOfLocatorPoints
void FindPointsInArea(vtkOctreePointLocatorNode *node, double *area, vtkIdTypeArray *ids)
Octree node that has 8 children each of equal size.
GLint GLint GLint GLint GLint x
virtual vtkIdType FindClosestPointWithinRadius(double radius, const double x[3], double &dist2)
virtual void BuildLocator()
virtual double * GetBounds()
int DivideTest(int size, int level)
vtkOctreePointLocatorNode ** LeafNodeList
void FindPointsWithinRadius(vtkOctreePointLocatorNode *node, double radiusSquared, const double x[3], vtkIdList *ids)
static vtkOctreePointLocator * New()
vtkOctreePointLocatorNode * Top
virtual void GetBounds(double *bounds)
void DivideRegion(vtkOctreePointLocatorNode *node, int *ordering, int level)
static void SetDataBoundsToSpatialBounds(vtkOctreePointLocatorNode *node)
vtkIdType FindClosestPointInRegion(int regionId, double x, double y, double z, double &dist2)
virtual vtkIdType FindClosestPoint(const double x[3])
void PrintSelf(ostream &os, vtkIndent indent)
void AddAllPointsInRegion(vtkOctreePointLocatorNode *node, vtkIdTypeArray *ids)
void GetRegionBounds(int regionID, double bounds[6])
a simple class to control print indentation
object to represent cell connectivity
list of point or cell ids
static void DeleteAllDescendants(vtkOctreePointLocatorNode *octant)
#define vtkGetMacro(name, type)
void AddPolys(vtkOctreePointLocatorNode *node, vtkPoints *pts, vtkCellArray *polys)
int GetRegionContainingPoint(double x, double y, double z)
vtkIdTypeArray * GetPointsInRegion(int leafNodeId)
vtkSetMacro(IgnoreDriverBugs, bool)
dynamic, self-adjusting array of vtkIdType
vtkIdType FindClosestPointInRegion(int regionId, double *x, double &dist2)
GLint GLint GLint GLint GLint GLint y
virtual void FreeSearchStructure()
concrete dataset represents vertices, lines, polygons, and triangle strips
int FindRegion(vtkOctreePointLocatorNode *node, float x, float y, float z)
abstract class to quickly locate points in 3-space
#define VTKCOMMONDATAMODEL_EXPORT
void BuildLeafNodeList(vtkOctreePointLocatorNode *node, int &index)
vtkOctreePointLocator(const vtkOctreePointLocator &)
int FindRegion(vtkOctreePointLocatorNode *node, double x, double y, double z)
int MaximumPointsPerRegion
virtual void FindPointsWithinRadius(double radius, const double x[3], vtkIdList *result)