Program Listing for File Simulation.h
↰ Return to documentation for file (Simulation/Simulation.h)
#ifndef __Simulation_h__
#define __Simulation_h__
#include "Common/Common.h"
#include "SimulationModel.h"
#include "ParameterObject.h"
#include "TimeStep.h"
namespace PBD
{
class Simulation : public GenParam::ParameterObject
{
public:
static int GRAVITATION;
protected:
SimulationModel *m_model;
TimeStep *m_timeStep;
Vector3r m_gravitation;
virtual void initParameters();
private:
static Simulation *current;
public:
Simulation ();
Simulation(const Simulation&) = delete;
Simulation& operator=(const Simulation&) = delete;
~Simulation ();
void init();
void reset();
// Singleton
static Simulation* getCurrent ();
static void setCurrent (Simulation* tm);
static bool hasCurrent();
SimulationModel *getModel() { return m_model; }
void setModel(SimulationModel *model) { m_model = model; }
TimeStep *getTimeStep() { return m_timeStep; }
void setTimeStep(TimeStep *ts) { m_timeStep = ts; }
};
}
#endif