diff options
| author | Matt Kosarek <matt.kosarek@canonical.com> | 2025-12-29 09:34:00 -0500 |
|---|---|---|
| committer | Matt Kosarek <matt.kosarek@canonical.com> | 2025-12-29 09:34:00 -0500 |
| commit | bf4b3a5c35152c1292757134123b3363d0f81bf6 (patch) | |
| tree | 7796e03d309c43115596f78d553a74f911f82218 /themes/src/winter/windfield.cpp | |
| parent | 25c93a0ab9c855f75ee48df635fb5422c8eaba95 (diff) | |
Renamed PascalCase files to snake_case
Diffstat (limited to 'themes/src/winter/windfield.cpp')
| -rw-r--r-- | themes/src/winter/windfield.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/themes/src/winter/windfield.cpp b/themes/src/winter/windfield.cpp new file mode 100644 index 0000000..f6c3be3 --- /dev/null +++ b/themes/src/winter/windfield.cpp @@ -0,0 +1,28 @@ +#include "windfield.hpp" + + +template <i32 Width, i32 Height, i32 CellDimension> +void WindField<Width, Height, CellDimension>::load(f32 cellSizePixels, i32 fieldWithCells, i32 fieldHeightCells, f32 ttl, Vector2 origin) { + this->ttl = ttl; + this->origin = origin; + this->end = this->origin + Vector2(Width * CellDimension, Height * CellDimension); +} + +template <i32 Width, i32 Height, i32 CellDimension> +bool WindField<Width, Height, CellDimension>::addVector(i32 x, i32 y, Vector2& v) { + field[x][y] = v; + return false; +} + +template <i32 Width, i32 Height, i32 CellDimension> +Vector2 WindField<Width, Height, CellDimension>::getWindFactor(Vector2& v) { + if (v.x >= origin.x && v.x <= end.x + && v.y >= origin.y && v.y <= end.y) { + Vector2 positionInField = v - this->origin; + i32 cellX = static_cast<i32>(Width / positionInField.x); + i32 cellY = static_cast<i32>(Height / positionInField.y); + return field[cellX][cellY]; + } + + return Vector2(); +} |
