44 #ifndef IE_CORE_BOXOPS_H
45 #define IE_CORE_BOXOPS_H
47 #include "IECore/BoxTraits.h"
48 #include "IECore/VectorTraits.h"
55 inline typename BoxTraits<T>::BaseType
boxSize(
const T &box );
59 inline typename BoxTraits<T>::BaseType
boxCenter(
const T &box );
63 inline void boxExtend( T &box,
const typename BoxTraits<T>::BaseType &p );
67 inline void boxExtend( T &box,
const T &box2 );
75 bool boxIntersects(
const T &box,
const typename BoxTraits<T>::BaseType &p );
83 bool boxContains(
const T &box,
const T &containee );
90 const typename BoxTraits<T>::BaseType &origin,
91 const typename BoxTraits<T>::BaseType &direction,
92 typename BoxTraits<T>::BaseType &result
97 void boxSplit(
const T &box, T &low, T &high,
int axis );
101 void boxSplit(
const T &box, T &low, T &high );
109 #include "IECore/BoxOps.inl"
111 #endif // IE_CORE_BOXOPS_H
int boxMajorAxis(const T &box)
Returns the longest axis of the box.
void boxSplit(const T &box, T &low, T &high, int axis)
Splits the box into two across the specified axis.
void boxExtend(T &box, const typename BoxTraits< T >::BaseType &p)
Extends the box by the given point.
bool boxContains(const T &box, const T &containee)
Returns true if box contains containee.
BoxTraits< T >::BaseType boxSize(const T &box)
Returns a vector representing the length of each side of the box.
T boxIntersection(const T &box, const T &box2)
Returns the intersection between two boxes, or the empty box if there is no intersection.
bool boxIntersects(const T &box, const typename BoxTraits< T >::BaseType &p)
Returns true if the box intersects (contains) the given point.
This namespace contains all components of the core library.
Definition: AddSmoothSkinningInfluencesOp.h:43
BoxTraits< T >::BaseType boxCenter(const T &box)
Returns the center point of the box.