mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-11-02 20:51:23 -07:00
Ported Slic3r::ExPolygon::Collection to XS
This commit is contained in:
parent
7f4dc4e248
commit
b1ad466189
10 changed files with 173 additions and 68 deletions
|
|
@ -8,6 +8,8 @@
|
|||
%name{Slic3r::ExPolygon::XS} class ExPolygon {
|
||||
%name{_clone} ExPolygon(ExPolygon& self);
|
||||
~ExPolygon();
|
||||
SV* arrayref()
|
||||
%code{% RETVAL = expolygon2perl(*THIS); %};
|
||||
void scale(double factor);
|
||||
void translate(double x, double y);
|
||||
void _rotate(double angle, Point* center);
|
||||
|
|
@ -26,20 +28,6 @@ ExPolygon::new(...)
|
|||
OUTPUT:
|
||||
RETVAL
|
||||
|
||||
SV*
|
||||
ExPolygon::arrayref()
|
||||
CODE:
|
||||
AV* av = newAV();
|
||||
av_fill(av, THIS->holes.size()); // -1 +1
|
||||
av_store(av, 0, polygon2perl(THIS->contour));
|
||||
int i = 0;
|
||||
for (Polygons::iterator it = THIS->holes.begin(); it != THIS->holes.end(); ++it) {
|
||||
av_store(av, ++i, polygon2perl(*it));
|
||||
}
|
||||
RETVAL = sv_bless(newRV_noinc((SV*)av), gv_stashpv("Slic3r::ExPolygon", GV_ADD));
|
||||
OUTPUT:
|
||||
RETVAL
|
||||
|
||||
%}
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue