36 #include "vtkCommonDataModelModule.h"
37 #include "vtkImplicitFunction.h"
40 class VTKCOMMONDATAMODEL_EXPORT
vtkBox :
public vtkImplicitFunction
43 vtkTypeMacro(
vtkBox,vtkImplicitFunction);
44 void PrintSelf(ostream& os,
vtkIndent indent);
51 double EvaluateFunction(
double x[3]);
53 {
return this->vtkImplicitFunction::EvaluateFunction(x, y, z); }
57 void EvaluateGradient(
double x[3],
double n[3]);
61 void SetXMin(
double p[3]);
62 void SetXMin(
double x,
double y,
double z);
63 void GetXMin(
double p[3]);
64 void GetXMin(
double &x,
double &y,
double &z);
67 void SetXMax(
double p[3]);
68 void SetXMax(
double x,
double y,
double z);
69 void GetXMax(
double p[3]);
70 void GetXMax(
double &x,
double &y,
double &z);
72 void SetBounds(
double xMin,
double xMax,
73 double yMin,
double yMax,
74 double zMin,
double zMax);
75 void SetBounds(
double bounds[6]);
76 void GetBounds(
double &xMin,
double &xMax,
77 double &yMin,
double &yMax,
78 double &zMin,
double &zMax);
79 void GetBounds(
double bounds[6]);
86 void AddBounds(
double bounds[6]);
96 static char IntersectBox(
double bounds[6],
double origin[3],
double dir[3],
97 double coord[3],
double& t);
111 static int IntersectWithLine(
const double bounds[6],
112 const double p1[3],
const double p2[3],
113 double &t1,
double &t2,
114 double x1[3],
double x2[3],
115 int &plane1,
int &plane2);
127 void operator=(
const vtkBox&);
134 this->
SetXMin(p[0], p[1], p[2]);
139 this->
SetXMax(p[0], p[1], p[2]);
void SetXMax(double p[3])
a simple class to control print indentation
void SetXMin(double p[3])
double EvaluateFunction(double x, double y, double z)
implicit function for a bounding box
Fast Simple Class for dealing with 3D bounds.