| 612 | } |
| 613 | |
| 614 | void SimulatorBase::cleanup() |
| 615 | { |
| 616 | if (m_useGUI) |
| 617 | m_gui->cleanup(); |
| 618 | |
| 619 | #ifdef USE_EMBEDDED_PYTHON |
| 620 | delete m_scriptObject; |
| 621 | if (Embedded::hasCurrent()) |
| 622 | delete Embedded::getCurrent(); |
| 623 | #endif |
| 624 | |
| 625 | delete SceneConfiguration::getCurrent(); |
| 626 | delete Simulation::getCurrent(); |
| 627 | |
| 628 | delete m_boundarySimulator; |
| 629 | cleanupExporters(); |
| 630 | |
| 631 | // print stats before loggers are deleted |
| 632 | Utilities::Timing::printAverageTimes(); |
| 633 | Utilities::Timing::printTimeSums(); |
| 634 | |
| 635 | Utilities::Counting::printAverageCounts(); |
| 636 | Utilities::Counting::printCounterSums(); |
| 637 | |
| 638 | auto& sinks = Utilities::logger.getSinks(); |
| 639 | while (sinks.size() != 0) |
| 640 | Utilities::logger.removeSink(sinks[0]); |
| 641 | } |
| 642 | |
| 643 | void SimulatorBase::readParameters() |
| 644 | { |