Exclude support from bridged areas

This commit is contained in:
Alessandro Ranellucci 2014-04-26 16:07:43 +02:00
parent 7e3024d6ad
commit 148c773319
4 changed files with 33 additions and 4 deletions

View file

@ -157,7 +157,7 @@ sub coverage {
my ($self, $angle) = @_;
if (!defined $angle) {
return [] if !defined($angle = $self->detect_angle);
return [] if !defined($angle = $self->angle);
}
# Clone our expolygon and rotate it so that we work with vertical lines.
@ -181,6 +181,9 @@ sub coverage {
my @polylines = map $_->as_polyline, @{$trapezoid->lines};
my @supported = @{intersection_pl(\@polylines, [map @$_, @$anchors])};
# not nice, we need a more robust non-numeric check
@supported = grep $_->length >= $self->extrusion_width, @supported;
if (@supported >= 2) {
push @covered, $trapezoid;
}