|
Orrery
A GPU-accelerated N-body gravitational simulator
|
Somewhere for a run to report itself to. More...
#include <orrery/sim/run_output.hpp>
Public Member Functions | |
| virtual void | record (const Simulation &simulation, bool is_final)=0 |
| Record the current state of simulation. | |
Protected Member Functions | |
| RunOutput (const RunOutput &)=default | |
| RunOutput (RunOutput &&)=default | |
| RunOutput & | operator= (const RunOutput &)=default |
| RunOutput & | operator= (RunOutput &&)=default |
Somewhere for a run to report itself to.
|
pure virtual |
Record the current state of simulation.
Called once before the first step and once after each step, with is_final true only on the last of those. An implementation decides for itself which of those calls it acts on.
May throw. This is called between steps rather than inside one, so the prohibition in section 4 of the implementation plan on exceptions leaving a kernel is not engaged, and a disc that has filled is something the person running the simulation has to be told about rather than something to carry on quietly without.
Implemented in orrery::sim::FileOutput.