29 #include <Inventor/SbVec3d.h> 
   40   SbBox3d(
double xmin, 
double ymin, 
double zmin, 
double xmax, 
double ymax, 
double zmax)
 
   41     : minpt(xmin, ymin, zmin), maxpt(xmax, ymax, zmax) { }
 
   43     : minpt(minpoint), maxpt(maxpoint) { }
 
   46   explicit SbBox3d(
const SbBox3i32 & box) { setBounds(box); }
 
   48   SbBox3d & 
setBounds(
double xmin, 
double ymin, 
double zmin, 
double xmax, 
double ymax, 
double zmax)
 
   49     { minpt.setValue(xmin, ymin, zmin); maxpt.setValue(xmax, ymax, zmax); 
return *
this; }
 
   51     { minpt = minpoint; maxpt = maxpoint; 
return *
this; }
 
   54   SbBox3d & setBounds(
const SbBox3i32 & box);
 
   56   void getBounds(
double & xmin, 
double & ymin, 
double & zmin, 
double & xmax, 
double & ymax, 
double & zmax)
 const 
   57     { minpt.getValue(xmin, ymin, zmin); maxpt.getValue(xmax, ymax, zmax); }
 
   59     { minpoint = minpt; maxpoint = maxpt; }
 
   66   void extendBy(
const SbVec3d & pt);
 
   67   void extendBy(
const SbBox3d & box);
 
   70   SbBool 
isEmpty(
void)
 const { 
return (maxpt[0] < minpt[0]); }
 
   72     { 
return ((maxpt[0] > minpt[0]) && (maxpt[1] > minpt[1]) && (maxpt[2] > minpt[2])); }
 
   74     { 
double dx = 0.0, dy = 0.0, dz = 0.0; getSize(dx, dy, dz); 
return (dx * dy * dz); }
 
   76   SbBool intersect(
const SbVec3d & point) 
const;
 
   77   SbBool intersect(
const SbBox3d & box) 
const;
 
   79   SbBool outside(
const SbDPMatrix & mvp, 
int & cullbits) 
const;
 
   82   void getOrigin(
double & origoX, 
double & origoY, 
double & origoZ)
 const 
   83     { minpt.getValue(origoX, origoY, origoZ); }
 
   84   void getSize(
double & sizeX, 
double & sizeY, 
double & sizeZ)
 const 
   85     { 
if (isEmpty()) { sizeX = sizeY = sizeZ = 0.0; }
 
   86       else { sizeX = maxpt[0] - minpt[0]; sizeY = maxpt[1] - minpt[1]; sizeZ = maxpt[2] - minpt[2]; } }
 
   89     this->getSize(v[0], v[1], v[2]);
 
   92   void getSpan(
const SbVec3d & dir, 
double & dmin, 
double & dmax) 
const;
 
   94   void print(FILE * file) 
const;
 
  109 #endif // !COIN_SBBOX3D_H 
void getSize(double &sizeX, double &sizeY, double &sizeZ) const 
Definition: SbBox3d.h:84
The SbBox3s class is a 3 dimensional box with short integer coordinates.This box class is used by oth...
Definition: SbBox3s.h:34
void getOrigin(double &origoX, double &origoY, double &origoZ) const 
Definition: SbBox3d.h:82
The SbVec3d class is a 3 dimensional vector with double precision floating point coordinates.This vector class provides storage for a 3 dimensional double precision floating point vector aswell as simple floating point arithmetic operations. 
Definition: SbVec3d.h:39
SbBox3d & setBounds(double xmin, double ymin, double zmin, double xmax, double ymax, double zmax)
Definition: SbBox3d.h:48
The SbBox3f class is an abstraction for an axis aligned 3 dimensional box.This box abstraction class ...
Definition: SbBox3f.h:37
int operator!=(const SbBox2d &b1, const SbBox2d &b2)
Definition: SbBox2d.h:92
SbVec3d getCenter(void) const 
Definition: SbBox3d.h:81
int operator==(const SbBox2d &b1, const SbBox2d &b2)
Definition: SbBox2d.h:88
SbBox3d(void)
Definition: SbBox3d.h:39
SbBox3d & setBounds(const SbVec3d &minpoint, const SbVec3d &maxpoint)
Definition: SbBox3d.h:50
SbBox3d(double xmin, double ymin, double zmin, double xmax, double ymax, double zmax)
Definition: SbBox3d.h:40
const SbVec3d & getMin(void) const 
Definition: SbBox3d.h:61
SbVec3d & getMin(void)
Definition: SbBox3d.h:62
SbBox3d(const SbVec3d &minpoint, const SbVec3d &maxpoint)
Definition: SbBox3d.h:42
void getBounds(double &xmin, double &ymin, double &zmin, double &xmax, double &ymax, double &zmax) const 
Definition: SbBox3d.h:56
void getBounds(SbVec3d &minpoint, SbVec3d &maxpoint) const 
Definition: SbBox3d.h:58
SbVec3d getSize(void) const 
Definition: SbBox3d.h:87
The SbBox3d class is an abstraction for an axis aligned 3 dimensional box.This box abstraction class ...
Definition: SbBox3d.h:37
const SbVec3d & getMax(void) const 
Definition: SbBox3d.h:63
SbBool hasVolume(void) const 
Definition: SbBox3d.h:71
SbVec3d & getMax(void)
Definition: SbBox3d.h:64
The SbDPMatrix class is a 4x4 dimensional representation of a double-precision matrix.This class is like the SbMatrix class, but uses double-precision floating point values for its elements. For more class documentation, see SbMatrix. 
Definition: SbDPMatrix.h:38
double getVolume(void) const 
Definition: SbBox3d.h:73
SbBool isEmpty(void) const 
Definition: SbBox3d.h:70