//! Merges a point public void MergePoint(ref IndexedVector3 point) { m_min.X = BoxCollision.BT_MIN(m_min.X, point.X); m_min.Y = BoxCollision.BT_MIN(m_min.Y, point.Y); m_min.Z = BoxCollision.BT_MIN(m_min.Z, point.Z); m_max.X = BoxCollision.BT_MAX(m_max.X, point.X); m_max.Y = BoxCollision.BT_MAX(m_max.Y, point.Y); m_max.Z = BoxCollision.BT_MAX(m_max.Z, point.Z); }
//! Finds the intersecting box between this box and the other. public void FindIntersection(ref AABB other, ref AABB intersection) { intersection.m_min.X = BoxCollision.BT_MAX(other.m_min.X, m_min.X); intersection.m_min.Y = BoxCollision.BT_MAX(other.m_min.Y, m_min.Y); intersection.m_min.Z = BoxCollision.BT_MAX(other.m_min.Z, m_min.Z); intersection.m_max.X = BoxCollision.BT_MIN(other.m_max.X, m_max.X); intersection.m_max.Y = BoxCollision.BT_MIN(other.m_max.Y, m_max.Y); intersection.m_max.Z = BoxCollision.BT_MIN(other.m_max.Z, m_max.Z); }
public void Merge(ref AABB box) { m_min.X = BoxCollision.BT_MIN(m_min.X, box.m_min.X); m_min.Y = BoxCollision.BT_MIN(m_min.Y, box.m_min.Y); m_min.Z = BoxCollision.BT_MIN(m_min.Z, box.m_min.Z); m_max.X = BoxCollision.BT_MAX(m_max.X, box.m_max.X); m_max.Y = BoxCollision.BT_MAX(m_max.Y, box.m_max.Y); m_max.Z = BoxCollision.BT_MAX(m_max.Z, box.m_max.Z); }