24#include "vtkCommonDataModelModule.h"
27VTK_ABI_NAMESPACE_BEGIN
44 vtkSetMacro(Dim,
int);
45 vtkGetMacro(Dim,
int);
59 vtkSetMacro(NumberOfPoints,
int);
60 vtkGetMacro(NumberOfPoints,
int);
68 void SetBounds(
double x1,
double x2,
double y1,
double y2,
double z1,
double z2);
79 void SetDataBounds(
double x1,
double x2,
double y1,
double y2,
double z1,
double z2);
130 vtkSetMacro(ID,
int);
131 vtkGetMacro(ID,
int);
142 vtkGetMacro(MinID,
int);
143 vtkGetMacro(MaxID,
int);
144 vtkSetMacro(MinID,
int);
145 vtkSetMacro(MaxID,
int);
188 double x1,
double x2,
double y1,
double y2,
double z1,
double z2,
int useDataBounds);
217 vtkCell* cell,
int useDataBounds,
int cellRegion = -1,
double* cellBounds =
nullptr);
225 double x1,
double x2,
double y1,
double y2,
double z1,
double z2,
int useDataBounds);
247 double x,
double y,
double z,
double* boundaryPt,
int useDataBounds);
270 double GetDistance2ToBoundaryPrivate(
271 double x,
double y,
double z,
double* boundaryPt,
int innerBoundaryOnly,
int useDataBounds);
292 void operator=(
const vtkKdNode&) =
delete;
abstract class to specify cell behavior
a simple class to control print indentation
This class represents a single spatial region in an 3D axis aligned binary spatial partitioning.
int IntersectsRegion(vtkPlanesIntersection *pi, int useDataBounds)
A vtkPlanesIntersection object represents a convex 3D region bounded by planes, and it is capable of ...
void SetLeft(vtkKdNode *left)
Set/Get a pointer to the left child of this node.
void SetRight(vtkKdNode *right)
Set/Get a pointer to the right child of this node.
double * GetMinDataBounds()
Get a pointer to the 3 data bound minima (xmin, ymin and zmin) or the 3 data bound maxima (xmax,...
void PrintVerboseNode(int depth)
For debugging purposes, print out this node.
void SetMinBounds(const double *mb)
Set the xmin, ymin and zmin value of the bounds of this region.
double * GetMinBounds()
Get a pointer to the 3 bound minima (xmin, ymin and zmin) or the 3 bound maxima (xmax,...
void SetBounds(const double b[6])
Set/Get the bounds of the spatial region represented by this node.
int IntersectsBox(double x1, double x2, double y1, double y2, double z1, double z2, int useDataBounds)
Return 1 if this spatial region intersects the axis-aligned box given by the bounds passed in.
int ContainsBox(double x1, double x2, double y1, double y2, double z1, double z2, int useDataBounds)
Return 1 if this spatial region entirely contains a box specified by it's bounds.
double * GetMaxDataBounds()
void SetMinDataBounds(const double *mb)
Set the xmin, ymin and zmin value of the bounds of this data within this region.
void SetDataBounds(double x1, double x2, double y1, double y2, double z1, double z2)
Set/Get the bounds of the points contained in this spatial region.
void SetMaxBounds(const double *mb)
Set the xmax, ymax and zmax value of the bounds of this region.
int IntersectsCell(vtkCell *cell, int useDataBounds, int cellRegion=-1, double *cellBounds=nullptr)
Return 1 if the cell specified intersects this region.
void SetMaxDataBounds(const double *mb)
Set the xmax, ymax and zmax value of the bounds of this data within this region.
double GetDistance2ToInnerBoundary(double x, double y, double z)
Calculate the distance from the specified point (which is required to be inside this spatial region) ...
int IntersectsSphere2(double x, double y, double z, double rSquared, int useDataBounds)
Return 1 if this spatial region intersects a sphere described by it's center and the square of it's r...
void AddChildNodes(vtkKdNode *left, vtkKdNode *right)
Add the left and right children.
void SetUp(vtkKdNode *up)
Set/Get a pointer to the parent of this node.
void GetDataBounds(double *b) const
Set/Get the bounds of the points contained in this spatial region.
void SetDataBounds(float *v)
Given a pointer to NumberOfPoints points, set the DataBounds of this node to the bounds of these poin...
vtkTypeBool ContainsPoint(double x, double y, double z, int useDataBounds)
Return 1 if this spatial region entirely contains the given point.
double GetDistance2ToBoundary(double x, double y, double z, double *boundaryPt, 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.
void SetBounds(double x1, double x2, double y1, double y2, double z1, double z2)
Set/Get the bounds of the spatial region represented by this node.
void DeleteChildNodes()
Delete the left and right children.
virtual double GetDivisionPosition()
Get the location of the division plane along the axis the region is divided.
void PrintNode(int depth)
For debugging purposes, print out this node.
double GetDistance2ToBoundary(double x, double y, double z, int useDataBounds)
Calculate the distance squared from any point to the boundary of this region.
void GetBounds(double *b) const
Set/Get the bounds of the spatial region represented by this node.
abstract base class for most VTK objects
A vtkPlanesIntersection object is a vtkPlanes object that can compute whether the arbitrary convex re...
#define VTK_SIZEHINT(...)