summaryrefslogtreecommitdiff
path: root/game/geoData.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'game/geoData.cpp')
-rw-r--r--game/geoData.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/game/geoData.cpp b/game/geoData.cpp
index d15a51b..d8caff7 100644
--- a/game/geoData.cpp
+++ b/game/geoData.cpp
@@ -66,6 +66,7 @@ GeoData::loadFromAsciiGrid(const std::filesystem::path & input)
});
}
}
+ mesh.generation++;
mesh.updateAllVertexNormals();
return mesh;
@@ -106,6 +107,7 @@ GeoData::createFlat(GlobalPosition2D lower, GlobalPosition2D upper, GlobalDistan
}
mesh.updateAllVertexNormals();
+ mesh.generation++;
return mesh;
}
@@ -589,7 +591,7 @@ GeoData::setHeights(const std::span<const GlobalPosition3D> triangleStrip, const
auto surfaceStripWalk = [this, &getTriangle, &opts](const auto & surfaceStripWalk, const auto & face) -> void {
if (!property(surface, face)) {
- property(surface, face) = &opts.surface;
+ property(surface, face) = opts.surface;
std::ranges::for_each(
ff_range(face), [this, &getTriangle, &surfaceStripWalk](const auto & adjacentFaceHandle) {
if (getTriangle(this->triangle<2>(adjacentFaceHandle).centroid())) {
@@ -601,6 +603,13 @@ GeoData::setHeights(const std::span<const GlobalPosition3D> triangleStrip, const
surfaceStripWalk(surfaceStripWalk, findPoint(strip.front().centroid()));
updateAllVertexNormals(newOrChangedVerts);
+ generation++;
+}
+
+size_t
+GeoData::getGeneration() const
+{
+ return generation;
}
void