double m_res = 0.0; int numIter = 0; do{ Vector3d negGradient = -m_rbf->evalGrad(pEigen); //negGradient.normalize(); pEigen += (m_step * negGradient); m_res = abs(m_rbf->eval(pEigen)); numIter++; }while (m_res > m_eps && numIter < 50);