Slic3r/xs/src/ExPolygon.hpp

37 lines
701 B
C++
Raw Normal View History

2013-07-06 18:33:49 +04:00
#ifndef slic3r_ExPolygon_hpp_
#define slic3r_ExPolygon_hpp_
2013-07-14 17:53:53 +04:00
#include "Polygon.hpp"
2013-07-15 22:31:43 +04:00
#include <vector>
2013-07-06 18:33:49 +04:00
namespace Slic3r {
2013-07-06 18:33:49 +04:00
class ExPolygon
{
public:
Polygon contour;
Polygons holes;
2013-11-21 18:12:06 +04:00
operator Polygons() const;
void scale(double factor);
void translate(double x, double y);
void rotate(double angle, Point* center);
double area() const;
bool is_valid() const;
2013-11-21 18:12:06 +04:00
bool contains_line(Line* line) const;
#ifdef SLIC3RXS
void from_SV(SV* poly_sv);
void from_SV_check(SV* poly_sv);
SV* to_AV();
SV* to_SV_ref();
SV* to_SV_clone_ref() const;
SV* to_SV_pureperl() const;
#endif
2013-07-06 18:33:49 +04:00
};
2013-07-14 17:53:53 +04:00
typedef std::vector<ExPolygon> ExPolygons;
2013-07-11 20:55:51 +04:00
}
2013-07-06 18:33:49 +04:00
#endif