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);
157 int SelfRegister(vtkKdNode *kd);
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);
175 vtkKdNode **RegionList;
179 int ComputeIntersectionsUsingDataBounds;
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()