bool Ellipsoid::SweepAgainst( const CollisionMesh& m, const Vector& v, const AABB& SweepAABB, CollisionInfo* const pInfo /*= NULL*/ ) const { CollisionInfo Info; CollisionInfo MinInfo; if( pInfo ) { Info.CopyInParametersFrom( *pInfo ); } for( uint i = 0; i < m.m_NumTris; ++i ) { if( SweepAgainst( m.m_Tris[i], v, SweepAABB, &Info ) ) { if( Info.m_HitT < MinInfo.m_HitT || !MinInfo.m_Collision ) { MinInfo = Info; } } } if( MinInfo.m_Collision ) { if( pInfo ) { pInfo->CopyOutParametersFrom( MinInfo ); } return true; } return false; }