diff --git a/modules/odm_dem2mesh/CMakeLists.txt.user b/modules/odm_dem2mesh/CMakeLists.txt.user index 7b27cb0f..70290431 100644 --- a/modules/odm_dem2mesh/CMakeLists.txt.user +++ b/modules/odm_dem2mesh/CMakeLists.txt.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/modules/odm_dem2mesh/src/Simplify.h b/modules/odm_dem2mesh/src/Simplify.h index 2f81f510..63d8fb5d 100644 --- a/modules/odm_dem2mesh/src/Simplify.h +++ b/modules/odm_dem2mesh/src/Simplify.h @@ -356,7 +356,7 @@ namespace Simplify int triangle_count=triangles.size(); //int iteration = 0; //loop(iteration,0,100) - for (int iteration = 0; iteration < 100; iteration ++) + for (int iteration = 0; iteration < 100; iteration ++) { if(triangle_count-deleted_triangles<=target_count)break; diff --git a/modules/odm_dem2mesh/src/main.cpp b/modules/odm_dem2mesh/src/main.cpp index 9036a896..1a91b7ad 100644 --- a/modules/odm_dem2mesh/src/main.cpp +++ b/modules/odm_dem2mesh/src/main.cpp @@ -75,8 +75,8 @@ void logArgs(cmdLineReadable* params[], Logger& logWriter){ for( int i=0 ; params[i] ; i++ ){ if( params[i]->set ){ params[i]->writeValue( str ); - if( strlen( str ) ) logWriter( "\t--%s %s\n" , params[i]->name , str ); - else logWriter( "\t--%s\n" , params[i]->name ); + if( strlen( str ) ) logWriter( "\t-%s %s\n" , params[i]->name , str ); + else logWriter( "\t-%s\n" , params[i]->name ); } } } @@ -115,8 +115,8 @@ int main(int argc, char **argv) { float ext_width = extent.max.x - extent.min.x; float ext_height = extent.max.y - extent.min.y; - unsigned long long int vertex_count = static_cast(arr_height) * - static_cast(arr_width); + unsigned long long int vertex_count = static_cast(arr_height - 2) * + static_cast(arr_width - 2); GDALRasterBand *band = dataset->GetRasterBand(1); @@ -128,6 +128,9 @@ int main(int argc, char **argv) { exit(1); } + // TODO: + // 2. Figure out bad_alloc in cmparks dataset + logWriter("Sampling...\n"); // If the DSM is really large, we only sample a subset of it @@ -137,8 +140,8 @@ int main(int argc, char **argv) { int stride = 1; while (vertex_count > INT_MAX){ stride += 1; - vertex_count = static_cast(std::ceil((arr_height / static_cast(stride))) * - std::ceil((arr_width / static_cast(stride)))); + vertex_count = static_cast(std::ceil(((arr_height - 2) / static_cast(stride))) * + std::ceil(((arr_width - 2) / static_cast(stride)))); } if (stride != 1){ @@ -146,8 +149,8 @@ int main(int argc, char **argv) { } logWriter("Total vertices before simplification: %llu\n", vertex_count); - for (int y = 0; y < arr_height; y += stride){ - for (int x = 0; x < arr_width; x += stride){ + for (int y = 1; y < arr_height - 1; y += stride){ + for (int x = 1; x < arr_width - 1; x += stride){ Simplify::Vertex v; v.p.x = extent.min.x + (static_cast(x) / static_cast(arr_width)) * ext_width; v.p.y = extent.max.y - (static_cast(y) / static_cast(arr_height)) * ext_height; @@ -157,8 +160,8 @@ int main(int argc, char **argv) { } } - unsigned int cols = static_cast(std::ceil((arr_width / static_cast(stride)))); - unsigned int rows = static_cast(std::ceil((arr_height / static_cast(stride)))); + unsigned int cols = static_cast(std::ceil(((arr_width - 2) / static_cast(stride)))); + unsigned int rows = static_cast(std::ceil(((arr_height - 2) / static_cast(stride)))); for (unsigned int y = 0; y < rows - 1; y++){ for (unsigned int x = 0; x < cols - 1; x++){