pull/904/head
Piero Toffanin 2018-10-09 10:41:25 -04:00
rodzic c9e6640bff
commit d6811804c2
3 zmienionych plików z 15 dodań i 12 usunięć

Wyświetl plik

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.7.0, 2018-10-07T11:16:06. -->
<!-- Written by QtCreator 4.7.0, 2018-10-08T20:39:47. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>

Wyświetl plik

@ -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;

Wyświetl plik

@ -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<unsigned long long int>(arr_height) *
static_cast<unsigned long long int>(arr_width);
unsigned long long int vertex_count = static_cast<unsigned long long int>(arr_height - 2) *
static_cast<unsigned long long int>(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<int>(std::ceil((arr_height / static_cast<double>(stride))) *
std::ceil((arr_width / static_cast<double>(stride))));
vertex_count = static_cast<int>(std::ceil(((arr_height - 2) / static_cast<double>(stride))) *
std::ceil(((arr_width - 2) / static_cast<double>(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<float>(x) / static_cast<float>(arr_width)) * ext_width;
v.p.y = extent.max.y - (static_cast<float>(y) / static_cast<float>(arr_height)) * ext_height;
@ -157,8 +160,8 @@ int main(int argc, char **argv) {
}
}
unsigned int cols = static_cast<unsigned int>(std::ceil((arr_width / static_cast<double>(stride))));
unsigned int rows = static_cast<unsigned int>(std::ceil((arr_height / static_cast<double>(stride))));
unsigned int cols = static_cast<unsigned int>(std::ceil(((arr_width - 2) / static_cast<double>(stride))));
unsigned int rows = static_cast<unsigned int>(std::ceil(((arr_height - 2) / static_cast<double>(stride))));
for (unsigned int y = 0; y < rows - 1; y++){
for (unsigned int x = 0; x < cols - 1; x++){