![]() |
Recast
1
Game with custom magic
|
#include <BoundTemperatureWorld.hpp>
Public Member Functions | |
BoundTemperatureWorld (Parallelepiped bounds) | |
BoundTemperatureWorld (const BoundTemperatureWorld &other) | |
BoundTemperatureWorld (BoundTemperatureWorld &&other) | |
BoundTemperatureWorld & | operator= (BoundTemperatureWorld other) |
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 |
void | foreach (ForeachCellFn func) const override |
void | foreachCellOnEdge (Edge edge, ForeachCellFn func) const override |
Parallelepiped | bounds () const noexceptoverride |
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 |
![]() | |
virtual | ~ITemperatureWorld () noexcept=default |
Protected Member Functions | |
virtual size_t | _getIndexInData (Coord x, Coord y, Coord z) const |
Protected Attributes | |
Parallelepiped | _bounds |
std::vector< Temperature > | _data |
Friends | |
void | swap (BoundTemperatureWorld &first, BoundTemperatureWorld &second) |
Additional Inherited Members | |
![]() | |
using | ForeachCellFn = std::function< void(Coord, Coord, Coord)> |
Implementation of temperature world with bounds. It's backed by std::vector
.
BoundTemperatureWorld::BoundTemperatureWorld | ( | Parallelepiped | bounds | ) |
BoundTemperatureWorld::BoundTemperatureWorld | ( | const BoundTemperatureWorld & | other | ) |
BoundTemperatureWorld::BoundTemperatureWorld | ( | BoundTemperatureWorld && | other | ) |
|
overridevirtual |
Adds or substracts temperature value from existing temperature value at the point.
x | X coordinate. |
y | Y coordinate. |
z | Z coordinate. |
temperature | Temperature difference. |
Implements ITemperatureWorld.
Reimplemented in ScalableBoundTemperatureWorld.
|
overridevirtualnoexcept |
Implements ITemperatureWorldBoundableMixin.
|
overridevirtual |
Loops over each point.
func | Function to execute at each point. |
Implements ITemperatureWorldBoundableMixin.
Reimplemented in ScalableBoundTemperatureWorld.
|
overridevirtual |
Loops over each point on specified edge.
edge | Edge. |
func | Function to execute at each point. |
Implements ITemperatureWorldBoundableMixin.
|
overridevirtual |
Returns temperature at the point.
x | X coordinate. |
y | Y coordinate. |
z | Z coordinate. |
Implements ITemperatureWorld.
Tells whether temperature at the point is accessible. This method doesn't throw exceptions.
x | X coordinate. |
y | Y coordinate. |
z | Z coordinate. |
Implements ITemperatureWorld.
x | Current coordinate by x axis. |
Implements ITemperatureWorld.
Reimplemented in ScalableBoundTemperatureWorld.
y | Current coordinate by y axis. |
Implements ITemperatureWorld.
Reimplemented in ScalableBoundTemperatureWorld.
z | Current coordinate by z axis. |
Implements ITemperatureWorld.
Reimplemented in ScalableBoundTemperatureWorld.
BoundTemperatureWorld & BoundTemperatureWorld::operator= | ( | BoundTemperatureWorld | other | ) |
x | Current coordinate by x axis. |
Implements ITemperatureWorld.
Reimplemented in ScalableBoundTemperatureWorld.
y | Current coordinate by y axis. |
Implements ITemperatureWorld.
Reimplemented in ScalableBoundTemperatureWorld.
z | Current coordinate by z axis. |
Implements ITemperatureWorld.
Reimplemented in ScalableBoundTemperatureWorld.
|
overridevirtual |
Sets temperature at the point.
x | X coordinate. |
y | Y coordinate. |
z | Z coordinate. |
temperature | Temperature to set. |
Implements ITemperatureWorld.
Reimplemented in ScalableBoundTemperatureWorld.
|
friend |
|
protected |
|
protected |