template <> \
{ \
return value[0] >= m_min[0] && value[1] >= m_min[1] && value[2] >= m_min[2] && \
value[0] <= m_max[0] && value[1] <= m_max[1] && value[2] <= m_max[2]; \
} \
template <> \
AGX_FORCE_INLINE bool BoundT<VecType>::hasOverlap(
const BoundT<VecType>& other)
const \
{ \
const bool overlaps = \
(m_max[0] >= other.min()[0]) && (other.max()[0] >= m_min[0]) && \
(m_max[1] >= other.min()[1]) && (other.max()[1] >= m_min[1]) && \
(m_max[2] >= other.min()[2]) && (other.max()[2] >= m_min[2]); \
return overlaps; \
} \
template <> \
{ \
return (m_min[0] <= m_max[0] && m_min[1] <= m_max[1] && m_min[2] <= m_max[2]); \
} \
template <> \
AGX_FORCE_INLINE BoundT<VecType> BoundT<VecType>::calculateOverlap(
const BoundT<VecType>& other)
const \
{ \
return BoundT<VecType>( \
VecType(std::max(m_min[0], other.m_min[0]), std::max(m_min[1], other.m_min[1]), std::max(m_min[2], other.m_min[2])), \
VecType(std::min(m_max[0], other.m_max[0]), std::max(m_min[1], other.m_min[1]), std::max(m_min[2], other.m_min[2]))); \
}