示例#1
0
//----------------------------------------------------------------------------
void SEBoxBV::TransformBy(const SETransformation& rTransform,
    SEBoundingVolume* pResult)
{
    SEBox3f& rTarget = ((SEBoxBV*)pResult)->m_Box;
    rTransform.ApplyForwardToPoint(m_Box.Center, rTarget.Center);
    for( int i = 0; i < 3; ++i )
    {
        rTarget.Axis[i] = m_Box.Axis[i] * rTransform.GetRotate();
        rTarget.Extent[i] = rTransform.GetNorm() * m_Box.Extent[i];
    }
}