Detect membranes (solid parts generating both a bottom and a top surface on the same layers) and don't infill twice. #28

This commit is contained in:
Alessandro Ranellucci 2011-11-12 11:05:32 +01:00
parent c5d5e4d244
commit a13e4c6fb5
2 changed files with 19 additions and 7 deletions

View file

@ -50,12 +50,15 @@ sub union_ex {
}
sub intersection_ex {
my ($subject, $clip) = @_;
my ($subject, $clip, $jointype) = @_;
$jointype = PFT_NONZERO unless defined $jointype;
$clipper->clear;
$clipper->add_subject_polygons($subject);
$clipper->add_clip_polygons($clip);
return $clipper->ex_execute(CT_INTERSECTION, PFT_NONZERO, PFT_NONZERO);
return [
map Slic3r::ExPolygon->new($_),
@{ $clipper->ex_execute(CT_INTERSECTION, $jointype, $jointype) },
];
}
1;