Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Ranellucci <aar@cpan.org>2015-01-03 17:03:53 +0300
committerAlessandro Ranellucci <aar@cpan.org>2015-01-03 17:03:53 +0300
commitd8be67c28bca470bcc0cb334d3073d122c296404 (patch)
tree7c82c9001e9985a7956b748ae8dcc46db4b8bcc9 /xs/src/libslic3r/MultiPoint.cpp
parent69da8b09997c58c3f47d1e676fe578f68cbb96e9 (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.cpp1
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();