33 #ifndef __vtkBSPIntersections_h
34 #define __vtkBSPIntersections_h
53 void SetCuts(vtkBSPCuts *cuts);
54 vtkGetObjectMacro(Cuts, vtkBSPCuts);
59 int GetBounds(
double *bounds);
63 int GetNumberOfRegions();
68 int GetRegionBounds(
int regionID,
double bounds[6]);
73 int GetRegionDataBounds(
int regionID,
double bounds[6]);
78 int IntersectsBox(
int regionId,
double *x);
79 int IntersectsBox(
int regionId,
double xmin,
double xmax,
80 double ymin,
double ymax,
81 double zmin,
double zmax);
87 int IntersectsBox(
int *ids,
int len,
double *x);
88 int IntersectsBox(
int *ids,
int len,
double x0,
double x1,
89 double y0,
double y1,
double z0,
double z1);
95 int IntersectsSphere2(
int regionId,
96 double x,
double y,
double z,
double rSquared);
103 int IntersectsSphere2(
int *ids,
int len,
104 double x,
double y,
double z,
double rSquared);
111 int IntersectsCell(
int regionId, vtkCell *cell,
int cellRegion=-1);
117 int IntersectsCell(
int *ids,
int len, vtkCell *cell,
int cellRegion=-1);
126 vtkGetMacro(ComputeIntersectionsUsingDataBounds,
int);
127 void SetComputeIntersectionsUsingDataBounds(
int c);
128 void ComputeIntersectionsUsingDataBoundsOn();
129 void ComputeIntersectionsUsingDataBoundsOff();
136 vtkGetMacro(RegionListBuildTime,
unsigned long);
138 int BuildRegionList();
142 double CellBoundsCache[6];
154 static int NumberOfLeafNodes(
vtkKdNode *kd);
155 static void SetIDRanges(
vtkKdNode *kd,
int &min,
int &max);
159 static void SetCellBounds(vtkCell *cell,
double *bounds);
161 int _IntersectsBox(
vtkKdNode *node,
int *ids,
int len,
162 double x0,
double x1,
163 double y0,
double y1,
164 double z0,
double z1);
166 int _IntersectsSphere2(
vtkKdNode *node,
int *ids,
int len,
167 double x,
double y,
double z,
double rSquared);
169 int _IntersectsCell(
vtkKdNode *node,
int *ids,
int len,
170 vtkCell *cell,
int cellRegion=-1);
179 int ComputeIntersectionsUsingDataBounds;
This class represents a single spatial region in an 3D axis aligned binary spatial partitioning...
abstract base class for most VTK objects
Perform calculations (mostly intersection calculations) on regions of a 3D binary spatial partitionin...
record modification and/or execution time
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
vtkKdNode ** GetRegionList()