diff options
Diffstat (limited to 'xs/src/libslic3r/ExPolygonCollection.hpp')
-rw-r--r-- | xs/src/libslic3r/ExPolygonCollection.hpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/xs/src/libslic3r/ExPolygonCollection.hpp b/xs/src/libslic3r/ExPolygonCollection.hpp new file mode 100644 index 000000000..f6a27284f --- /dev/null +++ b/xs/src/libslic3r/ExPolygonCollection.hpp @@ -0,0 +1,32 @@ +#ifndef slic3r_ExPolygonCollection_hpp_ +#define slic3r_ExPolygonCollection_hpp_ + +#include <myinit.h> +#include "ExPolygon.hpp" + +namespace Slic3r { + +class ExPolygonCollection; +typedef std::vector<ExPolygonCollection> ExPolygonCollections; + +class ExPolygonCollection +{ + public: + ExPolygons expolygons; + + ExPolygonCollection() {}; + 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); + bool contains_point(const Point &point) const; + void simplify(double tolerance); + void convex_hull(Polygon* hull) const; +}; + +} + +#endif |