protected void SolveUpdateable(EntitySolverUpdateable item, ref int activeConstraints)
{
if (item.isActiveInSolver)
{
SolverSettings subSolverSettings = item.solverSettings;
subSolverSettings.currentIterations++;
if (subSolverSettings.currentIterations <= solver.iterationLimit &&
subSolverSettings.currentIterations <= subSolverSettings.maximumIterations)
{
if (item.SolveIteration() < subSolverSettings.minimumImpulse)
{
subSolverSettings.iterationsAtZeroImpulse++;
if (subSolverSettings.iterationsAtZeroImpulse > subSolverSettings.minimumIterations)
item.isActiveInSolver = false;
else
{
activeConstraints++;
}
}
else
{
subSolverSettings.iterationsAtZeroImpulse = 0;
activeConstraints++;
}
}
else
{
item.isActiveInSolver = false;
}
}
}