36 #ifndef __vtkOctreePointLocatorNode_h
37 #define __vtkOctreePointLocatorNode_h
39 #include "vtkCommonDataModelModule.h"
55 void SetNumberOfPoints(
int numberOfPoints)
57 this->NumberOfPoints = numberOfPoints;
59 vtkGetMacro(NumberOfPoints,
int);
65 void SetBounds(
double xMin,
double xMax,
double yMin,
66 double yMax,
double zMin,
double zMax);
67 void SetBounds(
double b[6])
69 this->SetBounds(b[0], b[1], b[2], b[3], b[4], b[5]);
71 void GetBounds(
double *b)
const;
78 void SetDataBounds(
double xMin,
double xMax,
double yMin,
79 double yMax,
double zMin,
double zMax);
80 void GetDataBounds(
double *b)
const;
87 vtkGetMacro(MinBounds,
double*);
88 vtkGetMacro(MaxBounds,
double*);
94 void SetMinBounds(
double minBounds[3])
96 this->MinBounds[0] = minBounds[0];
97 this->MinBounds[1] = minBounds[1];
98 this->MinBounds[2] = minBounds[2];
104 void SetMaxBounds(
double maxBounds[3])
106 this->MaxBounds[0] = maxBounds[0];
107 this->MaxBounds[1] = maxBounds[1];
108 this->MaxBounds[2] = maxBounds[2];
116 vtkGetMacro(MinDataBounds,
double*);
117 vtkGetMacro(MaxDataBounds,
double*);
124 void SetMinDataBounds(
double minDataBounds[3])
126 this->MinDataBounds[0] = minDataBounds[0];
127 this->MinDataBounds[1] = minDataBounds[1];
128 this->MinDataBounds[2] = minDataBounds[2];
135 void SetMaxDataBounds(
double maxDataBounds[3])
137 this->MaxDataBounds[0] = maxDataBounds[0];
138 this->MaxDataBounds[1] = maxDataBounds[1];
139 this->MaxDataBounds[2] = maxDataBounds[2];
146 vtkGetMacro(ID,
int);
154 vtkGetMacro(MinID,
int);
158 void CreateChildNodes();
161 void DeleteChildNodes();
177 int ContainsPoint(
double x,
double y,
double z,
int useDataBounds);
183 double GetDistance2ToBoundary(
double x,
double y,
double z,
192 double GetDistance2ToBoundary(
double x,
double y,
double z,
202 double GetDistance2ToInnerBoundary(
double x,
double y,
double z,
211 int GetSubOctantIndex(
double*
point,
int CheckContainment);
218 int& NextLeafId,
int & NextMinId,
228 double _GetDistance2ToBoundary(
229 double x,
double y,
double z,
double *boundaryPt,
241 double MinDataBounds[3];
245 double MaxDataBounds[3];