Use Slic3r::ExPolygon::Collection for Layer->slices

This commit is contained in:
Alessandro Ranellucci 2013-07-14 15:06:49 +02:00
parent 7534c1e6d9
commit 13e3a9129c
4 changed files with 21 additions and 4 deletions

View file

@ -4,7 +4,7 @@ use strict;
use warnings;
use Slic3r::XS;
use Test::More tests => 11;
use Test::More tests => 13;
use constant PI => 4 * atan2(1, 1);
@ -80,6 +80,11 @@ isa_ok $expolygon->[0][0], 'Slic3r::Point', 'Perl polygon points are blessed';
my $collection2 = Slic3r::ExPolygon::Collection->new($expolygon, $expolygon2);
is_deeply [ @$collection ], [ @$collection2 ],
'expolygon collection with XS expolygons';
$collection->clear;
is scalar(@$collection), 0, 'clear collection';
$collection->append($expolygon);
is scalar(@$collection), 1, 'append to collection';
}
__END__

View file

@ -9,6 +9,8 @@
~ExPolygonCollection();
ExPolygonCollection* clone()
%code{% const char* CLASS = "Slic3r::ExPolygon::Collection"; RETVAL = new ExPolygonCollection(*THIS); %};
void clear()
%code{% THIS->expolygons.clear(); %};
void scale(double factor);
void translate(double x, double y);
void rotate(double angle, Point* center);
@ -45,5 +47,12 @@ ExPolygonCollection::arrayref()
OUTPUT:
RETVAL
void
ExPolygonCollection::append(...)
CODE:
for (unsigned int i = 1; i < items; i++) {
THIS->expolygons.push_back(*(ExPolygon *)SvIV((SV*)SvRV( ST(i) )));
}
%}
};