diff options
author | bubnikv <bubnikv@gmail.com> | 2018-09-19 12:02:24 +0300 |
---|---|---|
committer | bubnikv <bubnikv@gmail.com> | 2018-09-19 12:02:24 +0300 |
commit | 0558b53493a77bae44831cf87bb0f59359828ef5 (patch) | |
tree | c3e8dbdf7d91a051c12d9ebbf7606d41047fea96 /src/libslic3r/ExPolygonCollection.hpp | |
parent | 3ddaccb6410478ad02d8c0e02d6d8e6eb1785b9f (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.hpp | 41 |
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 ¢er); + 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 |