Recast  1
Game with custom magic
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
ScalingGeneratableChunkedTemperatureWorld.hpp
Go to the documentation of this file.
1 //
2 // Created by Oleg Morozenkov on 14.06.17.
3 //
4 
5 #ifndef RECAST_SCALABLESYNCHRONIZEDLISTCHUNKEDTEMPERATUREWORLD_H
6 #define RECAST_SCALABLESYNCHRONIZEDLISTCHUNKEDTEMPERATUREWORLD_H
7 
8 
16 
23  : public virtual ITemperatureWorldPointPrioritizable<ITemperatureWorldChunkableObservable<ITemperatureWorldChunkableGeneratable<ITemperatureWorldChunkableMutable<ITemperatureWorldChunkable<ITemperatureWorld>>>>>
24  , public virtual GeneratableChunkedTemperatureWorld
25 {
26 public:
30  Parallelepiped baseChunkSize);
31 
32  void addPriorityPoint(Coord x, Coord y, Coord z) override;
33  void removePriorityPoint(Coord x, Coord y, Coord z) override;
34 
35  void addChunk(std::shared_ptr<ITemperatureWorldBoundable<ITemperatureWorld>> chunk) override;
36  void removeChunk(std::shared_ptr<ITemperatureWorldBoundable<ITemperatureWorld>> chunk) override;
37 
38 protected:
39  virtual void _updateScales();
40  virtual void _updateScale(std::shared_ptr<ITemperatureWorldBoundable<ITemperatureWorld>>& chunk);
41 
43  std::list<Point> _priorityPoints;
44 };
45 
46 
47 #endif //RECAST_SCALABLESYNCHRONIZEDLISTCHUNKEDTEMPERATUREWORLD_H
std::function< std::shared_ptr< ITemperatureWorldBoundable< ITemperatureWorld >>(Coord, Coord, Coord)> MakeChunkFn
Definition: GeneratableChunkedTemperatureWorldTypedefs.hpp:15
Definition: GeneratableChunkedTemperatureWorld.hpp:18
virtual void _updateScales()
Definition: ScalingGeneratableChunkedTemperatureWorld.cpp:45
ScalingGeneratableChunkedTemperatureWorld(GeneratableChunkedTemperatureWorldTypedefs::NeedChunkFn needChunkFn, GeneratableChunkedTemperatureWorldTypedefs::MakeChunkFn makeChunkFn, Parallelepiped baseChunkSize)
Definition: ScalingGeneratableChunkedTemperatureWorld.cpp:14
Definition: Coord.hpp:16
void addChunk(std::shared_ptr< ITemperatureWorldBoundable< ITemperatureWorld >> chunk) override
Definition: ScalingGeneratableChunkedTemperatureWorld.cpp:32
Parallelepiped _baseChunkSize
Definition: ScalingGeneratableChunkedTemperatureWorld.hpp:42
Definition: ScalingGeneratableChunkedTemperatureWorld.hpp:22
Definition: Parallelepiped.hpp:17
std::function< bool(Coord, Coord, Coord)> NeedChunkFn
Definition: GeneratableChunkedTemperatureWorldTypedefs.hpp:14
virtual void _updateScale(std::shared_ptr< ITemperatureWorldBoundable< ITemperatureWorld >> &chunk)
Definition: ScalingGeneratableChunkedTemperatureWorld.cpp:55
void addPriorityPoint(Coord x, Coord y, Coord z) override
Definition: ScalingGeneratableChunkedTemperatureWorld.cpp:22
Definition: ITemperatureWorldPointPrioritizable.hpp:41
std::list< Point > _priorityPoints
Definition: ScalingGeneratableChunkedTemperatureWorld.hpp:43
void removePriorityPoint(Coord x, Coord y, Coord z) override
Definition: ScalingGeneratableChunkedTemperatureWorld.cpp:27
void removeChunk(std::shared_ptr< ITemperatureWorldBoundable< ITemperatureWorld >> chunk) override
Definition: ScalingGeneratableChunkedTemperatureWorld.cpp:39