diff --git a/Sofa/Component/Mass/src/sofa/component/mass/MeshMatrixMass.inl b/Sofa/Component/Mass/src/sofa/component/mass/MeshMatrixMass.inl index aa3fa6f348a..32317b5a4f7 100644 --- a/Sofa/Component/Mass/src/sofa/component/mass/MeshMatrixMass.inl +++ b/Sofa/Component/Mass/src/sofa/component/mass/MeshMatrixMass.inl @@ -2100,23 +2100,23 @@ SReal MeshMatrixMass::getKineticEnergy( const core: helper::ReadAccessor< DataVecDeriv > v = vv; - const unsigned int nbEdges=l_topology->getNbEdges(); - unsigned int v0,v1; + const sofa::Size nbEdges = l_topology->getNbEdges(); SReal e = 0; + const auto lumpingCoef = isLumped() ? m_massLumpingCoeff : static_cast(1.0); - for (unsigned int i=0; igetEdge(i)[0]; - v1 = l_topology->getEdge(i)[1]; - - e += 2 * dot(v[v0], v[v1])*edgeMass[i]; - + for (unsigned int i = 0; i < nbEdges; ++i) + { + const auto& [v0, v1] = l_topology->getEdge(i).array(); + e += 2 * dot(v[v0], v[v1]) * edgeMass[i]; + } } return e/2;