diff options
author | Alessandro Ranellucci <aar@cpan.org> | 2015-01-03 17:03:53 +0300 |
---|---|---|
committer | Alessandro Ranellucci <aar@cpan.org> | 2015-01-03 17:03:53 +0300 |
commit | d8be67c28bca470bcc0cb334d3073d122c296404 (patch) | |
tree | 7c82c9001e9985a7956b748ae8dcc46db4b8bcc9 /xs/src/libslic3r/MultiPoint.cpp | |
parent | 69da8b09997c58c3f47d1e676fe578f68cbb96e9 (diff) |
Bugfix: Douglas-Peucker used perpendicular distance instead of shortest distance, thus clipping more than it should. #2474
Diffstat (limited to 'xs/src/libslic3r/MultiPoint.cpp')
-rw-r--r-- | xs/src/libslic3r/MultiPoint.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/xs/src/libslic3r/MultiPoint.cpp b/xs/src/libslic3r/MultiPoint.cpp index 24f210a99..e4944edca 100644 --- a/xs/src/libslic3r/MultiPoint.cpp +++ b/xs/src/libslic3r/MultiPoint.cpp @@ -90,6 +90,7 @@ MultiPoint::_douglas_peucker(const Points &points, const double tolerance) size_t index = 0; Line full(points.front(), points.back()); for (Points::const_iterator it = points.begin() + 1; it != points.end(); ++it) { + // we use shortest distance, not perpendicular distance double d = it->distance_to(full); if (d > dmax) { index = it - points.begin(); |