summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2025-02-09 20:14:51 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2025-02-09 20:14:54 +0000
commit42e16ad8ad853c6e97d7eb6718ee0f78b868be30 (patch)
tree3a91a5922b3557132da271339a665576a7ad714a /test
parentSplit GeoData mesh basics into a subclass (diff)
downloadilt-42e16ad8ad853c6e97d7eb6718ee0f78b868be30.tar.bz2
ilt-42e16ad8ad853c6e97d7eb6718ee0f78b868be30.tar.xz
ilt-42e16ad8ad853c6e97d7eb6718ee0f78b868be30.zip
Combine GeoData and Terrain class hierarchies
Diffstat (limited to 'test')
-rw-r--r--test/test-geoData.cpp10
-rw-r--r--test/test-render.cpp20
2 files changed, 15 insertions, 15 deletions
diff --git a/test/test-geoData.cpp b/test/test-geoData.cpp
index dbf5f29..4979327 100644
--- a/test/test-geoData.cpp
+++ b/test/test-geoData.cpp
@@ -244,15 +244,13 @@ BOOST_DATA_TEST_CASE(deform, loadFixtureJson<DeformTerrainData>("geoData/deform/
{
Surface surface;
surface.colorBias = RGB {0, 0, 1};
- auto gd = std::make_shared<GeoData>(GeoData::createFlat({0, 0}, {1000000, 1000000}, 100));
- BOOST_CHECK_NO_THROW(gd->setHeights(points, {.surface = &surface}));
ApplicationBase ab;
TestMainWindow tmw;
TestRenderOutput tro {{640, 480}};
struct TestTerrain : public SceneProvider {
- explicit TestTerrain(std::shared_ptr<GeoData> gd) : terrain(std::move(gd)) { }
+ explicit TestTerrain(GeoData gd) : terrain(std::move(gd)) { }
const Terrain terrain;
@@ -281,7 +279,11 @@ BOOST_DATA_TEST_CASE(deform, loadFixtureJson<DeformTerrainData>("geoData/deform/
}
};
- TestTerrain t {gd};
+ TestTerrain t {[&points, &surface]() {
+ auto gd = GeoData::createFlat({0, 0}, {1000000, 1000000}, 100);
+ BOOST_CHECK_NO_THROW(gd.setHeights(points, {.surface = &surface}));
+ return gd;
+ }()};
SceneRenderer ss {tro.size, tro.output};
std::for_each(cams.begin(), cams.end(), [&ss, &t, &tro](const auto & cam) {
ss.camera.setView(cam.first.first, glm::normalize(cam.first.second));
diff --git a/test/test-render.cpp b/test/test-render.cpp
index 3966f28..3c453bd 100644
--- a/test/test-render.cpp
+++ b/test/test-render.cpp
@@ -30,11 +30,10 @@ class TestScene : public SceneProvider {
RailVehicleClassPtr brush47rvc;
std::shared_ptr<RailVehicle> train1, train2;
RailLinks rail;
- std::shared_ptr<GeoData> gd = std::make_shared<GeoData>(GeoData::createFlat({0, 0}, {1000000, 1000000}, 1));
std::shared_ptr<Environment> env = std::make_shared<Environment>();
- Terrain terrain {gd};
- Water water {gd};
+ std::shared_ptr<Terrain> terrain = std::make_shared<Terrain>(GeoData::createFlat({0, 0}, {1000000, 1000000}, 1));
+ Water water {terrain};
public:
TestScene()
@@ -71,7 +70,7 @@ public:
void
content(const SceneShader & shader) const override
{
- terrain.render(shader);
+ terrain->render(shader);
water.render(shader);
rail.render(shader);
std::ranges::for_each(gameState->assets, [&shader](const auto & asset) {
@@ -95,7 +94,7 @@ public:
void
shadows(const ShadowMapper & shadowMapper) const override
{
- terrain.shadows(shadowMapper);
+ terrain->shadows(shadowMapper);
std::ranges::for_each(gameState->assets, [&shadowMapper](const auto & asset) {
if (const auto renderable = std::dynamic_pointer_cast<const Renderable>(asset.second)) {
renderable->shadows(shadowMapper);
@@ -167,15 +166,14 @@ BOOST_AUTO_TEST_CASE(terrain)
ss.camera.setView({310000000, 490000000, 600000}, glm::normalize(glm::vec3 {1, 1, -0.5F}));
class TestTerrain : public SceneProvider {
- std::shared_ptr<GeoData> gd
- = std::make_shared<GeoData>(GeoData::loadFromAsciiGrid(FIXTURESDIR "height/SD19.asc"));
- Terrain terrain {gd};
- Water water {gd};
+ std::shared_ptr<Terrain> terrain
+ = std::make_shared<Terrain>(GeoData::loadFromAsciiGrid(FIXTURESDIR "height/SD19.asc"));
+ Water water {terrain};
void
content(const SceneShader & shader) const override
{
- terrain.render(shader);
+ terrain->render(shader);
water.render(shader);
}
@@ -194,7 +192,7 @@ BOOST_AUTO_TEST_CASE(terrain)
void
shadows(const ShadowMapper & shadowMapper) const override
{
- terrain.shadows(shadowMapper);
+ terrain->shadows(shadowMapper);
}
};