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/ExPolygonCollection.hpp')
-rw-r--r--src/libslic3r/ExPolygonCollection.hpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/libslic3r/ExPolygonCollection.hpp b/src/libslic3r/ExPolygonCollection.hpp
new file mode 100644
index 000000000..4c181cd6a
--- /dev/null
+++ b/src/libslic3r/ExPolygonCollection.hpp
@@ -0,0 +1,41 @@
+#ifndef slic3r_ExPolygonCollection_hpp_
+#define slic3r_ExPolygonCollection_hpp_
+
+#include "libslic3r.h"
+#include "ExPolygon.hpp"
+#include "Line.hpp"
+#include "Polyline.hpp"
+
+namespace Slic3r {
+
+class ExPolygonCollection;
+typedef std::vector<ExPolygonCollection> ExPolygonCollections;
+
+class ExPolygonCollection
+{
+ public:
+ ExPolygons expolygons;
+
+ ExPolygonCollection() {};
+ ExPolygonCollection(const ExPolygon &expolygon);
+ ExPolygonCollection(const ExPolygons &expolygons) : expolygons(expolygons) {};
+ operator Points() const;
+ operator Polygons() const;
+ operator ExPolygons&();
+ void scale(double factor);
+ void translate(double x, double y);
+ void rotate(double angle, const Point &center);
+ template <class T> bool contains(const T &item) const;
+ bool contains_b(const Point &point) const;
+ void simplify(double tolerance);
+ Polygon convex_hull() const;
+ Lines lines() const;
+ Polygons contours() const;
+ void append(const ExPolygons &expolygons);
+};
+
+extern BoundingBox get_extents(const ExPolygonCollection &expolygon);
+
+}
+
+#endif