|
| ScalingGeneratableChunkedTemperatureWorld (GeneratableChunkedTemperatureWorldTypedefs::NeedChunkFn needChunkFn, GeneratableChunkedTemperatureWorldTypedefs::MakeChunkFn makeChunkFn, Parallelepiped baseChunkSize) |
|
void | addPriorityPoint (Coord x, Coord y, Coord z) override |
|
void | removePriorityPoint (Coord x, Coord y, Coord z) override |
|
void | addChunk (std::shared_ptr< ITemperatureWorldBoundable< ITemperatureWorld >> chunk) override |
|
void | removeChunk (std::shared_ptr< ITemperatureWorldBoundable< ITemperatureWorld >> chunk) override |
|
virtual | ~ITemperatureWorld () noexcept=default |
|
| GeneratableChunkedTemperatureWorld (GeneratableChunkedTemperatureWorldTypedefs::NeedChunkFn needChunkFn, GeneratableChunkedTemperatureWorldTypedefs::MakeChunkFn makeChunkFn) |
|
bool | hasOrIsGeneratableChunk (Coord x, Coord y, Coord z) const noexceptoverride |
|
std::shared_ptr
< ITemperatureWorldBoundable
< ITemperatureWorld > > | getOrGenerateChunk (Coord x, Coord y, Coord z) override |
|
void | onChunkAdd (OnChunkEventFn func) override |
|
void | onChunkRemove (OnChunkEventFn func) override |
|
| ChunkedTemperatureWorld () |
|
bool | hasChunk (Coord x, Coord y, Coord z) const noexceptoverride |
|
std::shared_ptr
< ITemperatureWorldBoundable
< ITemperatureWorld > > | getChunk (Coord x, Coord y, Coord z) const override |
|
void | foreachChunk (ForeachChunkFn func) const override |
|
bool | has (Coord x, Coord y, Coord z) const noexceptoverride |
|
Temperature | get (Coord x, Coord y, Coord z) const override |
|
void | set (Coord x, Coord y, Coord z, Temperature temperature) override |
|
void | amplify (Coord x, Coord y, Coord z, Temperature temperature) override |
|
Coord | previousCoordX (Coord x) const noexceptoverride |
|
Coord | previousCoordY (Coord y) const noexceptoverride |
|
Coord | previousCoordZ (Coord z) const noexceptoverride |
|
Coord | nextCoordX (Coord x) const noexceptoverride |
|
Coord | nextCoordY (Coord y) const noexceptoverride |
|
Coord | nextCoordZ (Coord z) const noexceptoverride |
|
Implementation of temperature world divided by chunks. It's backed by std::list
. It will create new chunk if client accesses temperature of point in non-existing chunk. Also it will automatically upscale cell size in far chunks for optimization.