public override void DoWork() { MyBoxSensorElement seBoxElement = (MyBoxSensorElement)m_SensorElement; Matrix seBoxMatrix = seBoxElement.GetGlobalTransformation(); BoundingBox oeAABB = m_RBElement.GetWorldSpaceAABB(); BoundingBox seBB = new BoundingBox(-seBoxElement.Extent, seBoxElement.Extent); MyOrientedBoundingBox seBoxOriented = MyOrientedBoundingBox.CreateFromBoundingBox(seBB).Transform(seBoxMatrix); m_IsInside = seBoxOriented.Intersects(ref oeAABB); }
public override void DoWork() { MyRBBoxElement rbBoxElement = (MyRBBoxElement)m_RBElement; MyBoxSensorElement seBoxElement = (MyBoxSensorElement)m_SensorElement; Matrix rbBoxMatrix = rbBoxElement.GetGlobalTransformation(); Matrix seBoxMatrix = seBoxElement.GetGlobalTransformation(); BoundingBox rbBB = new BoundingBox(-rbBoxElement.Size / 2f, rbBoxElement.Size / 2f); BoundingBox seBB = new BoundingBox(-seBoxElement.Extent, seBoxElement.Extent); MyOrientedBoundingBox rbBoxOriented = MyOrientedBoundingBox.CreateFromBoundingBox(rbBB).Transform(rbBoxMatrix); MyOrientedBoundingBox seBoxOriented = MyOrientedBoundingBox.CreateFromBoundingBox(seBB).Transform(seBoxMatrix); m_IsInside = rbBoxOriented.Intersects(ref seBoxOriented); }