37#ifndef vtkOctreePointLocatorNode_h
38#define vtkOctreePointLocatorNode_h
40#include "vtkCommonDataModelModule.h"
59 vtkGetMacro(NumberOfPoints,
int);
67 void SetBounds(
double xMin,
double xMax,
double yMin,
double yMax,
double zMin,
double zMax);
78 void SetDataBounds(
double xMin,
double xMax,
double yMin,
double yMax,
double zMin,
double zMax);
87 vtkGetMacro(MinBounds,
double*);
88 vtkGetMacro(MaxBounds,
double*);
97 this->MinBounds[0] = minBounds[0];
98 this->MinBounds[1] = minBounds[1];
99 this->MinBounds[2] = minBounds[2];
109 this->MaxBounds[0] = maxBounds[0];
110 this->MaxBounds[1] = maxBounds[1];
111 this->MaxBounds[2] = maxBounds[2];
120 vtkGetMacro(MinDataBounds,
double*);
121 vtkGetMacro(MaxDataBounds,
double*);
131 this->MinDataBounds[0] = minDataBounds[0];
132 this->MinDataBounds[1] = minDataBounds[1];
133 this->MinDataBounds[2] = minDataBounds[2];
144 this->MaxDataBounds[0] = maxDataBounds[0];
145 this->MaxDataBounds[1] = maxDataBounds[1];
146 this->MaxDataBounds[2] = maxDataBounds[2];
155 vtkGetMacro(ID,
int);
165 vtkGetMacro(MinID,
int);
247 double _GetDistance2ToBoundary(
double x,
double y,
double z,
double* boundaryPt,
264 double MinDataBounds[3];
270 double MaxDataBounds[3];
abstract class to specify cell behavior
a simple class to control print indentation
abstract base class for most VTK objects
Octree node that has 8 children each of equal size.
void ComputeOctreeNodeInformation(vtkOctreePointLocatorNode *Parent, int &NextLeafId, int &NextMinId, float *coordinates)
Recursive function to compute ID, MinVal, MaxVal, and MinID.
void SetMinBounds(double minBounds[3])
Set the xmin, ymin and zmin value of the bounds of this 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.
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 SetMaxBounds(double maxBounds[3])
Set the xmax, ymax and zmax value of the bounds of this region.
int GetSubOctantIndex(double *point, int CheckContainment)
Return the id of the suboctant that a given point is in.
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.
void GetDataBounds(double *b) const
Set/Get the bounds of the points contained in this spatial region.
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.
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 PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int IntersectsRegion(vtkPlanesIntersection *pi, int useDataBounds)
A vtkPlanesIntersection object represents a convex 3D region bounded by planes, and it is capable of ...
void DeleteChildNodes()
Delete the 8 children.
vtkOctreePointLocatorNode * GetChild(int i)
Get a pointer to the ith child of this node.
vtkTypeBool ContainsPoint(double x, double y, double z, int useDataBounds)
Return 1 if this spatial region entirely contains the given point.
static vtkOctreePointLocatorNode * New()
~vtkOctreePointLocatorNode() override
void GetBounds(double *b) const
Set/Get the bounds of the spatial region represented by this node.
void SetMaxDataBounds(double maxDataBounds[3])
Set the xmax, ymax and zmax value of the bounds of this data within this region.
void SetBounds(const double b[6])
Set/Get the bounds of the spatial region represented by this node.
void CreateChildNodes()
Add the 8 children.
void SetNumberOfPoints(int numberOfPoints)
Set/Get the number of points contained in this region.
void SetMinDataBounds(double minDataBounds[3])
Set the xmin, ymin and zmin value of the bounds of this data within this region.
vtkOctreePointLocatorNode()
A vtkPlanesIntersection object is a vtkPlanes object that can compute whether the arbitrary convex re...