27 #include <Inventor/SbVec3s.h>
28 #include <Inventor/SbVec3f.h>
37 SbBox3s(
short xmin,
short ymin,
short zmin,
short xmax,
short ymax,
short zmax);
44 void setBounds(
short xmin,
short ymin,
short zmin,
short xmax,
short ymax,
short zmax);
50 const SbVec3s & getMin(
void)
const;
52 const SbVec3s & getMax(
void)
const;
55 void extendBy(
const SbVec3s & point);
56 void extendBy(
const SbBox3s & box);
58 SbBool
isEmpty(
void)
const {
return (maxpt[0] < minpt[0]); }
59 SbBool hasVolume(
void)
const
60 {
return ((maxpt[0] > minpt[0]) && (maxpt[1] > minpt[1]) && (maxpt[2] > minpt[2])); }
61 int getVolume(
void)
const
62 {
short dx = 0, dy = 0, dz = 0; getSize(dx, dy, dz);
return (dx * dy * dz); }
64 SbBool intersect(
const SbVec3s & point)
const;
65 SbBool intersect(
const SbBox3s & box)
const;
66 void getBounds(
short & xmin,
short & ymin,
67 short & zmin,
short & xmax,
68 short & ymax,
short & zmax)
const;
72 {
return SbVec3f((minpt[0]+maxpt[0])*0.5f, (minpt[1]+maxpt[1])*0.5f, (minpt[2]+maxpt[2])*0.5f); }
73 void getOrigin(
short & originX,
short & originY,
short & originZ)
const;
74 void getSize(
short & sizeX,
short & sizeY,
short & sizeZ)
const;
76 friend COIN_DLL_API
int operator ==(
const SbBox3s & b1,
const SbBox3s & b2);
77 friend COIN_DLL_API
int operator !=(
const SbBox3s & b1,
const SbBox3s & b2);
82 short width(
void)
const;
83 short height(
void)
const;
84 short depth(
void)
const;
85 SbBool hasArea(
void)
const;
91 #endif // !COIN_SBBOX3S_H