25BoundingBox(
const LPoint3 &min,
const LPoint3 &max) :
30 nassertv(!_min.is_nan() && !_max.is_nan());
31 nassertv(_min[0] <= _max[0] && _min[1] <= _max[1] && _min[2] <= _max[2]);
71 nassertr(n >= 0 && n < 8, LPoint3::zero());
75 const LPoint3 *a = &_min;
76 return LPoint3(a[(n>>2)&1][0], a[(n>>1)&1][1], a[(n)&1][2]);
92 nassertr(n >= 0 && n < 6, LPlane());
102set_min_max(
const LPoint3 &min,
const LPoint3 &max) {
103 nassertv(!min.is_nan() && !max.is_nan());
104 nassertv(min[0] <= max[0] && min[1] <= max[1] && min[2] <= max[2]);
void set_min_max(const LPoint3 &min, const LPoint3 &max)
Sets the min and max point of the rectangular solid.
const LPoint3 & get_minq() const
An inline accessor for the minimum value.
get_plane
Returns the nth face of the rectangular solid.
get_num_points
Returns 8: the number of vertices of a rectangular solid.
BoundingBox()
Constructs an empty box object.
get_point
Returns the nth vertex of the rectangular solid.
get_num_planes
Returns 6: the number of faces of a rectangular solid.
const LPoint3 & get_maxq() const
An inline accessor for the maximum value.
bool is_empty() const
Any kind of volume might be empty.
bool is_infinite() const
The other side of the empty coin is an infinite volume.