Compare commits

...

3 Commits

  1. 3
      CMakeLists.txt
  2. 5
      src/FPS.cpp
  3. 4
      src/Simulation.cpp

@ -7,12 +7,9 @@ set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
find_package(Qt6 COMPONENTS OpenGLWidgets REQUIRED)
find_package(Eigen3 REQUIRED)
find_package(OpenMP REQUIRED)
file(GLOB_RECURSE SOURCE_FILES src/**.cpp)
add_executable(Pendulum WIN32 ${SOURCE_FILES} icons/icons.qrc)
include_directories(${EIGEN3_INCLUDE_DIR})
target_link_libraries(Pendulum Qt6::OpenGLWidgets OpenMP::OpenMP_CXX)

@ -25,7 +25,10 @@ void FPS::setUpdateInterval(int milli) {
}
void FPS::updateCurrent() {
current = framesSinceUpdate * 1000 * 1000 * 1000 / timeSinceUpdate.count();
if (timeSinceUpdate.count() == 0)
current = 0;
else
current = framesSinceUpdate * 1000 * 1000 * 1000 / (timeSinceUpdate.count());
framesSinceUpdate = 0;
timeSinceUpdate = nanoseconds(0);
}

@ -34,9 +34,9 @@ void Simulation::update() {
h /= substeps;
#pragma omp parallel for
for (const auto & pendulum : pendula)
for (int i = 0; i < pendula.size(); i++) // NOLINT(*-loop-convert) // no ranged based for msvc
for (int k = 0; k < substeps; k++)
pendulum->update(h, gravity);
pendula[i]->update(h, gravity);
}
void Simulation::clearPendula() {

Loading…
Cancel
Save