Recast  1
Game with custom magic
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
BoundTemperatureWorldInjector.hpp
Go to the documentation of this file.
1 //
2 // Created by Oleg Morozenkov on 20.06.17.
3 //
4 
5 #ifndef RECAST_BOUNDTEMPERATUREWORLDINJECTOR_H
6 #define RECAST_BOUNDTEMPERATUREWORLDINJECTOR_H
7 
8 #include <memory>
15 
22 public:
24 
30  bool hasWorldBounds() const noexcept;
31 
38 
44  void setWorldBounds(Parallelepiped worldBounds);
45 
51  bool hasTemperatureExchangeCoefficient() const noexcept;
52 
59  double temperatureExchangeCoefficient() const;
60 
67  void setTemperatureExchangeCoefficient(double temperatureExchangeCoefficient);
68 
74  bool hasMinUpdateDelta() const noexcept;
75 
82  std::chrono::milliseconds minUpdateDelta() const;
83 
90  void setMinUpdateDelta(std::chrono::milliseconds minUpdateDelta);
91 
97  std::shared_ptr<ITemperatureWorldBoundable<ITemperatureWorld>> world();
98 
104  std::shared_ptr<IUpdater> updater();
105 
111  std::shared_ptr<ITimerBlockable<ITimer>> timer();
112 
113 protected:
114  void _makeWorld();
115  void _makeUpdater();
116  void _makeTimer();
117 
118  std::unique_ptr<Parallelepiped> _worldBounds;
119  std::unique_ptr<double> _temperatureExchangeCoefficient;
120  std::unique_ptr<std::chrono::milliseconds> _minUpdateDelta;
121 
122  std::shared_ptr<ITemperatureWorldBoundable<ITemperatureWorld>> _world;
123  std::shared_ptr<IUpdater> _updater;
124  std::shared_ptr<ITimerBlockable<ITimer>> _timer;
125 };
126 
127 
128 #endif //RECAST_BOUNDTEMPERATUREWORLDINJECTOR_H
void setTemperatureExchangeCoefficient(double temperatureExchangeCoefficient)
Definition: BoundTemperatureWorldInjector.cpp:38
std::shared_ptr< IUpdater > updater()
Definition: BoundTemperatureWorldInjector.cpp:61
std::chrono::milliseconds minUpdateDelta() const
Definition: BoundTemperatureWorldInjector.cpp:46
double temperatureExchangeCoefficient() const
Definition: BoundTemperatureWorldInjector.cpp:34
bool hasWorldBounds() const noexcept
Definition: BoundTemperatureWorldInjector.cpp:18
Definition: Parallelepiped.hpp:17
void setWorldBounds(Parallelepiped worldBounds)
Definition: BoundTemperatureWorldInjector.cpp:26
void setMinUpdateDelta(std::chrono::milliseconds minUpdateDelta)
Definition: BoundTemperatureWorldInjector.cpp:50
std::unique_ptr< Parallelepiped > _worldBounds
Definition: BoundTemperatureWorldInjector.hpp:118
void _makeWorld()
Definition: BoundTemperatureWorldInjector.cpp:75
bool hasTemperatureExchangeCoefficient() const noexcept
Definition: BoundTemperatureWorldInjector.cpp:30
std::shared_ptr< ITimerBlockable< ITimer > > timer()
Definition: BoundTemperatureWorldInjector.cpp:68
std::shared_ptr< IUpdater > _updater
Definition: BoundTemperatureWorldInjector.hpp:123
std::unique_ptr< double > _temperatureExchangeCoefficient
Definition: BoundTemperatureWorldInjector.hpp:119
std::unique_ptr< std::chrono::milliseconds > _minUpdateDelta
Definition: BoundTemperatureWorldInjector.hpp:120
void _makeUpdater()
Definition: BoundTemperatureWorldInjector.cpp:81
std::shared_ptr< ITemperatureWorldBoundable< ITemperatureWorld > > world()
Definition: BoundTemperatureWorldInjector.cpp:54
std::shared_ptr< ITemperatureWorldBoundable< ITemperatureWorld > > _world
Definition: BoundTemperatureWorldInjector.hpp:122
Definition: BoundTemperatureWorldInjector.hpp:21
BoundTemperatureWorldInjector()
Definition: BoundTemperatureWorldInjector.cpp:13
bool hasMinUpdateDelta() const noexcept
Definition: BoundTemperatureWorldInjector.cpp:42
void _makeTimer()
Definition: BoundTemperatureWorldInjector.cpp:87
std::shared_ptr< ITimerBlockable< ITimer > > _timer
Definition: BoundTemperatureWorldInjector.hpp:124
Parallelepiped worldBounds() const
Definition: BoundTemperatureWorldInjector.cpp:22