Program Listing for File TimeManager.h
↰ Return to documentation for file (SPlisHSPlasH/TimeManager.h)
#ifndef __TimeManager_h__
#define __TimeManager_h__
#include "Common.h"
#include "Utilities/BinaryFileReaderWriter.h"
#include "ParameterObject.h"
namespace SPH
{
class TimeManager : public GenParam::ParameterObject
{
private:
Real time;
static TimeManager *current;
Real h;
public:
static int TIME_STEP_SIZE;
TimeManager ();
TimeManager(const TimeManager&) = delete;
TimeManager& operator=(const TimeManager&) = delete;
~TimeManager ();
virtual void initParameters();
// Singleton
static TimeManager* getCurrent ();
static void setCurrent (TimeManager* tm);
static bool hasCurrent();
Real getTime();
void setTime(Real t);
Real getTimeStepSize();
void setTimeStepSize(Real tss);
void saveState(BinaryFileWriter &binWriter);
void loadState(BinaryFileReader &binReader);
};
}
#endif