protected override void UpdateSingleThreaded()
{
//Go through the list of all updateables which do not permit motion clamping.
//Since these do not care about CCD, just update them as if they were discrete.
//In addition, go through the remaining non-discrete objects and perform their prestep.
//This usually involves updating their angular motion, but not their linear motion.
int count = discreteUpdateables.Count + passiveUpdateables.Count + continuousUpdateables.Count;
for (int i = 0; i < count; i++)
PreUpdate(i);
//Now go through the list of all full CCD objects. These are responsible
//for determining the TOI of collision pairs, if existent.
for (int i = 0; i < continuousUpdateables.Count; i++)
UpdateTimeOfImpact(i);
//The TOI's are now computed, so we can integrate all of the CCD or allow-motionclampers
//to their new positions.
count = passiveUpdateables.Count + continuousUpdateables.Count;
for (int i = 0; i < count; i++)
UpdateContinuousItem(i);
}