Recast  1
Game with custom magic
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
ScalableBoundTemperatureWorld.hpp
Go to the documentation of this file.
1 //
2 // Created by Oleg Morozenkov on 18.06.17.
3 //
4 
5 #ifndef RECAST_SCALABLESYNCHRONIZEDVECTORBOUNDTEMPERATUREWORLD_H
6 #define RECAST_SCALABLESYNCHRONIZEDVECTORBOUNDTEMPERATUREWORLD_H
7 
8 
15 
21  : public virtual ITemperatureWorldScalableMutable<ITemperatureWorldScalable<ITemperatureWorldBoundable<ITemperatureWorld>>>
22  , public virtual BoundTemperatureWorld
23 {
24 public:
26 
27  IntScaleParallelepiped cellScale() const noexcept override;
29 
30  void set(Coord x, Coord y, Coord z, Temperature temperature) override;
31  void amplify(Coord x, Coord y, Coord z, Temperature temperature) override;
32  void foreach(ForeachCellFn func) const override;
33 
34  Coord previousCoordX(Coord x) const noexcept override;
35  Coord previousCoordY(Coord y) const noexcept override;
36  Coord previousCoordZ(Coord z) const noexcept override;
37  Coord nextCoordX(Coord x) const noexcept override;
38  Coord nextCoordY(Coord y) const noexcept override;
39  Coord nextCoordZ(Coord z) const noexcept override;
40 
41 protected:
42  virtual Coord _findScaledAreaMinByAxis(Coord initialCoord, IntScale scale, Coord minCoord) const noexcept;
43  virtual Coord _findScaledAreaMaxByAxis(Coord initialCoord, IntScale scale, Coord maxCoord) const noexcept;
44  virtual std::pair<Coord, Coord> _findScaledAreaByAxis(Coord initialCoord, IntScale scale, Coord minCoord, Coord maxCoord) const noexcept;
45  virtual Parallelepiped _findScaledArea(Coord x, Coord y, Coord z) const noexcept;
46 
48 };
49 
50 
51 #endif //RECAST_SCALABLESYNCHRONIZEDVECTORBOUNDTEMPERATUREWORLD_H
Coord previousCoordY(Coord y) const noexceptoverride
Definition: ScalableBoundTemperatureWorld.cpp:98
Definition: Temperature.hpp:15
Coord previousCoordX(Coord x) const noexceptoverride
Definition: ScalableBoundTemperatureWorld.cpp:94
Definition: ITemperatureWorldScalableMutable.hpp:32
Definition: Coord.hpp:16
void setCellScale(IntScaleParallelepiped cellScale) override
Definition: ScalableBoundTemperatureWorld.cpp:19
Definition: Parallelepiped.hpp:17
void amplify(Coord x, Coord y, Coord z, Temperature temperature) override
Definition: ScalableBoundTemperatureWorld.cpp:36
virtual Coord _findScaledAreaMinByAxis(Coord initialCoord, IntScale scale, Coord minCoord) const noexcept
Definition: ScalableBoundTemperatureWorld.cpp:61
void set(Coord x, Coord y, Coord z, Temperature temperature) override
Definition: ScalableBoundTemperatureWorld.cpp:24
virtual Coord _findScaledAreaMaxByAxis(Coord initialCoord, IntScale scale, Coord maxCoord) const noexcept
Definition: ScalableBoundTemperatureWorld.cpp:71
Parallelepiped bounds() const noexceptoverride
Definition: BoundTemperatureWorld.cpp:109
Definition: IntScale.hpp:13
Coord nextCoordX(Coord x) const noexceptoverride
Definition: ScalableBoundTemperatureWorld.cpp:106
Coord previousCoordZ(Coord z) const noexceptoverride
Definition: ScalableBoundTemperatureWorld.cpp:102
std::function< void(Coord, Coord, Coord)> ForeachCellFn
Definition: ITemperatureWorldBoundable.hpp:23
Definition: ScalableBoundTemperatureWorld.hpp:20
Definition: IntScaleParallelepiped.hpp:16
virtual Parallelepiped _findScaledArea(Coord x, Coord y, Coord z) const noexcept
Definition: ScalableBoundTemperatureWorld.cpp:85
Coord nextCoordZ(Coord z) const noexceptoverride
Definition: ScalableBoundTemperatureWorld.cpp:114
Coord nextCoordY(Coord y) const noexceptoverride
Definition: ScalableBoundTemperatureWorld.cpp:110
ScalableBoundTemperatureWorld(Parallelepiped bounds)
Definition: ScalableBoundTemperatureWorld.cpp:10
IntScaleParallelepiped _cellScale
Definition: ScalableBoundTemperatureWorld.hpp:47
IntScaleParallelepiped cellScale() const noexceptoverride
Definition: ScalableBoundTemperatureWorld.cpp:15
virtual std::pair< Coord, Coord > _findScaledAreaByAxis(Coord initialCoord, IntScale scale, Coord minCoord, Coord maxCoord) const noexcept
Definition: ScalableBoundTemperatureWorld.cpp:81
Definition: BoundTemperatureWorld.hpp:15