rem: static void Case0(int i0, int i1, int i2, Point& rkPnt, const Point& rkDir, const Point& extents, float* pfLParam, float& rfSqrDistance)
add: static void Case0(int i0, int i1, int i2, IceMaths::Point& rkPnt, const IceMaths::Point& rkDir, const IceMaths::Point& extents, float* pfLParam, float& rfSqrDistance)
context: static void Case0(int i0, int i1, int i2, Point& rkPnt, const Point& rkDir, const Point& extents, float* pfLParam, float& rfSqrDistance){    float fPmE0 = rkPnt[i0] - extents[i0];    float fPmE1 = rkPnt[i1] - extents[i1];    float fProd0 = rkDir[i1]*fPmE0;    float fProd1 = rkDir[i0]*fPmE1;    float fDelta, fInvLSqr, fInv;    if(fProd0 >= fProd1)    {        // line intersects P[i0] = e[i0]        rkPnt[i0] = extents[i0];        float fPpE1 = rkPnt[i1] + extents[i1];        fDelta = fProd0 - rkDir[i0]*fPpE1;        if(fDelta >= 0.0f)        {            fInvLSqr = 1.0f/(rkDir[i0]*rkDir[i0] + rkDir[i1]*rkDir[i1]);            rfSqrDistance += fDelta*fDelta*fInvLSqr;            if(pfLParam)            {                rkPnt[i1] = -extents[i1];                *pfLParam = -(rkDir[i0]*fPmE0+rkDir[i1]*fPpE1)*fInvLSqr;            }        }        else        {            if(pfLParam)            {                fInv = 1.0f/rkDir[i0];                rkPnt[i1] -= fProd0*fInv;                *pfLParam = -fPmE0*fInv;            }        }    }    else    {        // line intersects P[i1] = e[i1]        rkPnt[i1] = extents[i1];        float fPpE0 = rkPnt[i0] + extents[i0];        fDelta = fProd1 - rkDir[i1]*fPpE0;        if(fDelta >= 0.0f)        {            fInvLSqr = 1.0f/(rkDir[i0]*rkDir[i0] + rkDir[i1]*rkDir[i1]);            rfSqrDistance += fDelta*fDelta*fInvLSqr;            if(pfLParam)            {                rkPnt[i0] = -extents[i0];                *pfLParam = -(rkDir[i0]*fPpE0+rkDir[i1]*fPmE1)*fInvLSqr;            }        }        else        {            if(pfLParam)            {                fInv = 1.0f/rkDir[i1];                rkPnt[i0] -= fProd1*fInv;                *pfLParam = -fPmE1*fInv;            }        }    }    if(rkPnt[i2] < -extents[i2])    {        fDelta = rkPnt[i2] + extents[i2];        rfSqrDistance += fDelta*fDelta;        rkPnt[i2] = -extents[i2];    }    else if ( rkPnt[i2] > extents[i2] )    {        fDelta = rkPnt[i2] - extents[i2];        rfSqrDistance += fDelta*fDelta;        rkPnt[i2] = extents[i2];    }}