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:
Diffstat (limited to 'src/libslic3r/MultiPoint.cpp')
-rw-r--r--src/libslic3r/MultiPoint.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/libslic3r/MultiPoint.cpp b/src/libslic3r/MultiPoint.cpp
index 39b07e7d8..03f7ff59c 100644
--- a/src/libslic3r/MultiPoint.cpp
+++ b/src/libslic3r/MultiPoint.cpp
@@ -18,13 +18,6 @@ void MultiPoint::scale(double factor_x, double factor_y)
}
}
-void MultiPoint::translate(double x, double y)
-{
- Vector v(x, y);
- for (Point &pt : points)
- pt += v;
-}
-
void MultiPoint::translate(const Point &v)
{
for (Point &pt : points)
@@ -140,6 +133,17 @@ bool MultiPoint::first_intersection(const Line& line, Point* intersection) const
return found;
}
+bool MultiPoint::intersections(const Line &line, Points *intersections) const
+{
+ size_t intersections_size = intersections->size();
+ for (const Line &polygon_line : this->lines()) {
+ Point intersection;
+ if (polygon_line.intersection(line, &intersection))
+ intersections->emplace_back(std::move(intersection));
+ }
+ return intersections->size() > intersections_size;
+}
+
std::vector<Point> MultiPoint::_douglas_peucker(const std::vector<Point>& pts, const double tolerance)
{
std::vector<Point> result_pts;