From fe2a369225f65cb67275f7446430be7be76106f3 Mon Sep 17 00:00:00 2001 From: esther Date: Thu, 11 Apr 2024 16:27:03 +0200 Subject: [PATCH] Calculated cases for casemap --- src/main.cpp | 49 +++++++++++++++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 4f51a52..61ddc22 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -7,14 +7,24 @@ #include "gdal/gdal_priv.h" #include -std::vector produce_casemap(HeightMap* heightmap) + + + +CaseMap produce_casemap(HeightMap* heightmap, float height) { - std::vector output; int* test = (int *) CPLMalloc(sizeof(int)*heightmap->width*heightmap->height); - *(test + 4) = 13; - CaseMap casemap1(heightmap->width-1, heightmap->height-1, test); - output.push_back(casemap1); - return output; + for (int i; i<(heightmap->width-1)*(heightmap->height-1); i++) { + int y = i/(heightmap->width-1); + int x = i%(heightmap->width-1); + *(test + i) = heightmap->get_pixel(x,y+1)*(heightmap->get_pixel(x,y+1)>heightmap->height) + + heightmap->get_pixel(x+1,y+1)*(heightmap->get_pixel(x+1,y+1)>heightmap->height)*2 + + heightmap->get_pixel(x+1,y)*(heightmap->get_pixel(x+1,y)>heightmap->height)*4 + + heightmap->get_pixel(x,y)*(heightmap->get_pixel(x,y)>heightmap->height)*8; + } + + return CaseMap(heightmap->width-1, heightmap->height-1, test); + + } //(int a, int b, ) @@ -26,17 +36,20 @@ int main(int argc, const char* argv[]) std::cout << "x: " << map.width << " y: " << map.height << "\n"; std::cout << "max: " << map.max << " min: " << map.min << "\n"; - /* - for (int y = 0; y < map.height; y++) - { - for (int x = 0; x < map.width; x++) - { - std::cout << map.get_pixel(x, y) << " "; - } - std::cout << "\n"; - } - */ + + + std::cout << "\nend🤡\n"; - auto casemap = produce_casemap(&map); - std::cout << casemap[0].get_case( 4, 0); + auto casemap = produce_casemap(&map, 40.0); + + for (int y = 0; y < casemap.height; y++) + { + for (int x = 0; x < casemap.width; x++) + { + if (casemap.get_case(x, y)) { + std::cout << casemap.get_case(x, y) << " "; + } + } + // std::cout << "\n"; + } } \ No newline at end of file