Go to the documentation of this file.
37 #ifndef vtkOctreePointLocatorNode_h
38 #define vtkOctreePointLocatorNode_h
40 #include "vtkCommonDataModelModule.h"
60 this->NumberOfPoints = numberOfPoints;
62 vtkGetMacro(NumberOfPoints,
int);
70 void SetBounds(
double xMin,
double xMax,
double yMin,
71 double yMax,
double zMin,
double zMax);
74 this->SetBounds(b[0], b[1], b[2], b[3], b[4], b[5]);
86 double yMax,
double zMin,
double zMax);
95 vtkGetMacro(MinBounds,
double*);
96 vtkGetMacro(MaxBounds,
double*);
105 this->MinBounds[0] = minBounds[0];
106 this->MinBounds[1] = minBounds[1];
107 this->MinBounds[2] = minBounds[2];
117 this->MaxBounds[0] = maxBounds[0];
118 this->MaxBounds[1] = maxBounds[1];
119 this->MaxBounds[2] = maxBounds[2];
128 vtkGetMacro(MinDataBounds,
double*);
129 vtkGetMacro(MaxDataBounds,
double*);
139 this->MinDataBounds[0] = minDataBounds[0];
140 this->MinDataBounds[1] = minDataBounds[1];
141 this->MinDataBounds[2] = minDataBounds[2];
152 this->MaxDataBounds[0] = maxDataBounds[0];
153 this->MaxDataBounds[1] = maxDataBounds[1];
154 this->MaxDataBounds[2] = maxDataBounds[2];
163 vtkGetMacro(ID,
int);
173 vtkGetMacro(MinID,
int);
250 int& NextLeafId,
int & NextMinId,
259 double _GetDistance2ToBoundary(
260 double x,
double y,
double z,
double *boundaryPt,
278 double MinDataBounds[3];
284 double MaxDataBounds[3];
int IntersectsRegion(vtkPlanesIntersection *pi, int useDataBounds)
A vtkPlanesIntersection object represents a convex 3D region bounded by planes, and it is capable of ...
void SetBounds(const double b[6])
vtkTypeBool ContainsPoint(double x, double y, double z, int useDataBounds)
Return 1 if this spatial region entirely contains the given point.
void CreateChildNodes()
Add the 8 children.
double GetDistance2ToInnerBoundary(double x, double y, double z, vtkOctreePointLocatorNode *top)
Calculate the distance from the specified point (which is required to be inside this spatial region) ...
void SetBounds(double xMin, double xMax, double yMin, double yMax, double zMin, double zMax)
Set/Get the bounds of the spatial region represented by this node.
void SetMinBounds(double minBounds[3])
Set the xmin, ymin and zmin value of the bounds of this region.
abstract base class for most VTK objects
vtkOctreePointLocatorNode()
Octree node that has 8 children each of equal size.
A vtkPlanesIntersection object is a vtkPlanes object that can compute whether the arbitrary convex re...
void ComputeOctreeNodeInformation(vtkOctreePointLocatorNode *Parent, int &NextLeafId, int &NextMinId, float *coordinates)
Recursive function to compute ID, MinVal, MaxVal, and MinID.
abstract class to specify cell behavior
int GetSubOctantIndex(double *point, int CheckContainment)
Return the id of the suboctant that a given point is in.
void GetBounds(double *b) const
a simple class to control print indentation
double GetDistance2ToBoundary(double x, double y, double z, vtkOctreePointLocatorNode *top, int useDataBounds)
Calculate the distance squared from any point to the boundary of this region.
static vtkOctreePointLocatorNode * New()
void SetDataBounds(double xMin, double xMax, double yMin, double yMax, double zMin, double zMax)
Set/Get the bounds of the points contained in this spatial region.
void SetMinDataBounds(double minDataBounds[3])
Set the xmin, ymin and zmin value of the bounds of this data within this region.
~vtkOctreePointLocatorNode() override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetMaxDataBounds(double maxDataBounds[3])
Set the xmax, ymax and zmax value of the bounds of this data within this region.
void SetMaxBounds(double maxBounds[3])
Set the xmax, ymax and zmax value of the bounds of this region.
void SetNumberOfPoints(int numberOfPoints)
Set/Get the number of points contained in this region.
double GetDistance2ToBoundary(double x, double y, double z, double *boundaryPt, vtkOctreePointLocatorNode *top, int useDataBounds)
Calculate the distance squared from any point to the boundary of this region.
void DeleteChildNodes()
Delete the 8 children.
vtkOctreePointLocatorNode * GetChild(int i)
Get a pointer to the ith child of this node.
void GetDataBounds(double *b) const