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:
authorbubnikv <bubnikv@gmail.com>2018-09-19 12:02:24 +0300
committerbubnikv <bubnikv@gmail.com>2018-09-19 12:02:24 +0300
commit0558b53493a77bae44831cf87bb0f59359828ef5 (patch)
treec3e8dbdf7d91a051c12d9ebbf7606d41047fea96 /src/libslic3r/ExPolygonCollection.hpp
parent3ddaccb6410478ad02d8c0e02d6d8e6eb1785b9f (diff)
WIP: Moved sources int src/, separated most of the source code from Perl.
The XS was left only for the unit / integration tests, and it links libslic3r only. No wxWidgets are allowed to be used from Perl starting from now.
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