Finished porting group() to XS

This commit is contained in:
Alessandro Ranellucci 2013-11-23 18:15:59 +01:00
parent 67a7e4f769
commit a331f4d27a
11 changed files with 68 additions and 41 deletions

View file

@ -458,7 +458,7 @@ sub process_external_surfaces {
# intersect the grown surfaces with the actual fill boundaries
my @new_surfaces = ();
foreach my $group (Slic3r::Surface->group(@top, @bottom)) {
foreach my $group (@{Slic3r::Surface::Collection->new(@top, @bottom)->group}) {
push @new_surfaces,
map $group->[0]->clone(expolygon => $_),
@{intersection_ex(
@ -470,7 +470,7 @@ sub process_external_surfaces {
# subtract the new top surfaces from the other non-top surfaces and re-add them
my @other = grep $_->surface_type != S_TYPE_TOP && $_->surface_type != S_TYPE_BOTTOM, @surfaces;
foreach my $group (Slic3r::Surface->group(@other)) {
foreach my $group (@{Slic3r::Surface::Collection->new(@other)->group}) {
push @new_surfaces, map $group->[0]->clone(expolygon => $_), @{diff_ex(
[ map $_->p, @$group ],
[ map $_->p, @new_surfaces ],