36 #ifndef INCLUDED_IMATHBOX_H
37 #define INCLUDED_IMATHBOX_H
89 Box (
const T &minT,
const T &maxT);
188 min =
T(T::baseTypeMax());
189 max =
T(T::baseTypeMin());
195 min =
T(T::baseTypeMin());
196 max =
T(T::baseTypeMax());
204 for (
unsigned int i = 0; i <
min.dimensions(); i++)
206 if (point[i] <
min[i])
209 if (point[i] >
max[i])
219 for (
unsigned int i = 0; i <
min.dimensions(); i++)
234 for (
unsigned int i = 0; i <
min.dimensions(); i++)
236 if (point[i] <
min[i] || point[i] >
max[i])
248 for (
unsigned int i = 0; i <
min.dimensions(); i++)
281 for (
unsigned int i = 0; i <
min.dimensions(); i++)
294 for (
unsigned int i = 0; i <
min.dimensions(); i++)
296 if (
min[i] != T::baseTypeMin() ||
max[i] != T::baseTypeMax())
308 for (
unsigned int i = 0; i <
min.dimensions(); i++)
322 unsigned int major = 0;
325 for (
unsigned int i = 1; i <
min.dimensions(); i++)
340 template <
typename T>
class Box;
460 if (point[0] <
min[0])
463 if (point[0] >
max[0])
466 if (point[1] <
min[1])
469 if (point[1] >
max[1])
478 if (box.min[0] <
min[0])
481 if (box.max[0] >
max[0])
484 if (box.min[1] <
min[1])
487 if (box.max[1] >
max[1])
496 if (point[0] <
min[0] || point[0] >
max[0] ||
497 point[1] <
min[1] || point[1] >
max[1])
508 if (box.max[0] <
min[0] || box.min[0] >
max[0] ||
509 box.max[1] <
min[1] || box.min[1] >
max[1])
574 unsigned int major = 0;
703 if (point[0] <
min[0])
706 if (point[0] >
max[0])
709 if (point[1] <
min[1])
712 if (point[1] >
max[1])
715 if (point[2] <
min[2])
718 if (point[2] >
max[2])
727 if (box.min[0] <
min[0])
730 if (box.max[0] >
max[0])
733 if (box.min[1] <
min[1])
736 if (box.max[1] >
max[1])
739 if (box.min[2] <
min[2])
742 if (box.max[2] >
max[2])
751 if (point[0] <
min[0] || point[0] >
max[0] ||
752 point[1] <
min[1] || point[1] >
max[1] ||
753 point[2] <
min[2] || point[2] >
max[2])
764 if (box.max[0] <
min[0] || box.min[0] >
max[0] ||
765 box.max[1] <
min[1] || box.min[1] >
max[1] ||
766 box.max[2] <
min[2] || box.min[2] >
max[2])
834 unsigned int major = 0;
849 #endif // INCLUDED_IMATHBOX_H
#define IMATH_INTERNAL_NAMESPACE_HEADER_EXIT
vint4 max(const vint4 &a, const vint4 &b)
bool intersects(const T &point) const
#define IMATH_INTERNAL_NAMESPACE_HEADER_ENTER
bool operator==(const Box< T > &src) const
unsigned int majorAxis() const
bool operator!=(const Box< T > &src) const
bool isInfinite(const float x)
Return true if x is an infinity value (either positive infinity or negative infinity).
void extendBy(const T &point)
bool intersects(const Box< Vec3< T > > &b, const Line3< T > &r, Vec3< T > &ip)
vint4 min(const vint4 &a, const vint4 &b)