math/box2.h: normalize on construction, minor compilation warning fix

This commit is contained in:
tomasz.wlostowski@cern.ch 2013-09-09 16:53:33 +02:00
parent f4ec1e729e
commit 6639c2d8db
1 changed files with 7 additions and 5 deletions

View File

@ -66,7 +66,9 @@ public:
BOX2( const Vec& aPos, const Vec& aSize ) :
m_Pos( aPos ),
m_Size( aSize )
{ }
{
Normalize();
}
void SetMaximum()
{
@ -416,10 +418,10 @@ public:
{
ecoord_type x2 = m_Pos.x + m_Size.x;
ecoord_type y2 = m_Pos.y + m_Size.y;
ecoord_type xdiff = std::max( aP.x < m_Pos.x ? m_Pos.x - aP.x : m_Pos.x - x2, 0 );
ecoord_type ydiff = std::max( aP.y < m_Pos.y ? m_Pos.y - aP.y : m_Pos.y - y2, 0 );
return xdiff * xdiff + ydiff * ydiff;
}
ecoord_type xdiff = std::max(aP.x < m_Pos.x ? m_Pos.x - aP.x : m_Pos.x - x2, (ecoord_type)0);
ecoord_type ydiff = std::max(aP.y < m_Pos.y ? m_Pos.y - aP.y : m_Pos.y - y2, (ecoord_type)0);
return xdiff * xdiff + ydiff * ydiff;
}
ecoord_type Distance( const Vec& aP ) const
{