From 181e81413921f5f42275100b0e15129d51e1c6ae Mon Sep 17 00:00:00 2001 From: Dennis Luxen Date: Fri, 2 May 2014 11:11:28 +0200 Subject: [PATCH] fix twisted conversion, fixes #1000 --- Algorithms/DouglasPeucker.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Algorithms/DouglasPeucker.cpp b/Algorithms/DouglasPeucker.cpp index 84124b0ef..67bdbf998 100644 --- a/Algorithms/DouglasPeucker.cpp +++ b/Algorithms/DouglasPeucker.cpp @@ -60,6 +60,8 @@ static double DouglasPeuckerThresholds[19] = {262144., // z0 void DouglasPeucker::Run(std::vector &input_geometry, const unsigned zoom_level) { + + unsigned counter = 2; { BOOST_ASSERT_MSG(zoom_level < 19, "unsupported zoom level"); BOOST_ASSERT_MSG(1 < input_geometry.size(), "geometry invalid"); @@ -95,7 +97,7 @@ void DouglasPeucker::Run(std::vector &input_geometry, const // find index idx of element with max_distance for (unsigned i = pair.first + 1; i < pair.second; ++i) { - const int temp_dist = FixedPointCoordinate::ComputePerpendicularDistance( + const double temp_dist = FixedPointCoordinate::ComputePerpendicularDistance( input_geometry[i].location, input_geometry[pair.first].location, input_geometry[pair.second].location); @@ -110,6 +112,7 @@ void DouglasPeucker::Run(std::vector &input_geometry, const { // mark idx as necessary input_geometry[farthest_element_index].necessary = true; + ++counter; if (1 < (farthest_element_index - pair.first)) { recursion_stack.push(std::make_pair(pair.first, farthest_element_index));