void Scene::doTicks(int numTicks) { m_time += numTicks; for (unsigned int i = 0; i < m_bodies.size(); i++) { Planet *body = &m_bodies.at(i); if (body->getIsStar()) continue; int axialPeriod = (int)body->getAxialPeriod(); float arot = (m_time % axialPeriod) / (float)axialPeriod; arot *= M_2PI; body->setAxialRotation(arot); body->calculateNewOrbitalPosition(numTicks); } }