Fix regression introduced with f2e1fe5241

degen-loop-screen
Alessandro Ranellucci 2012-02-21 20:16:03 +01:00
parent 9ac92facdd
commit c3fc6ee66b
4 changed files with 10 additions and 13 deletions

View File

@ -77,7 +77,10 @@ sub extrude {
sub extrude_loop {
my $self = shift;
my ($loop, $description) = @_;
# extrude all loops ccw
$loop->polygon->make_counter_clockwise;
# find the point of the loop that is closest to the current extruder position
my $start_at = $loop->nearest_point_to($self->last_pos);

View File

@ -115,7 +115,6 @@ sub make_perimeter {
}
foreach my $hole (@holes) {
$hole->reverse;
push @{ $layer->perimeters }, Slic3r::ExtrusionLoop->new(polygon => $hole, role => 'perimeter');
}

View File

@ -30,11 +30,6 @@ sub clone {
return (ref $self)->new(map $_->clone, @$self);
}
sub reverse {
my $self = shift;
@$self = CORE::reverse @$self;
}
sub lines {
my $self = shift;
return map Slic3r::Line->new($_), polygon_lines($self);
@ -135,7 +130,7 @@ sub is_printable {
# for a distance equal to half of the extrusion width;
# if no offset is possible, then polyline is not printable
my $p = $self->clone;
@$p = CORE::reverse @$p if !Math::Clipper::is_counter_clockwise($p);
$p->make_counter_clockwise;
my $offsets = Math::Clipper::offset([$p], -(scale $Slic3r::flow_spacing / 2), $Slic3r::resolution * 100000, JT_MITER, 2);
return @$offsets ? 1 : 0;
}

View File

@ -61,24 +61,24 @@ sub simplify {
bless $_, 'Slic3r::Point' for @$self;
}
sub reverse_points {
sub reverse {
my $self = shift;
@$self = reverse @$self;
@$self = CORE::reverse @$self;
}
sub is_counter_clockwise {
my $self = shift;
return Math::Clipper::is_counter_clockwise($self->p);
return Math::Clipper::is_counter_clockwise($self);
}
sub make_counter_clockwise {
my $self = shift;
$self->reverse_points if !$self->is_counter_clockwise;
$self->reverse if !$self->is_counter_clockwise;
}
sub make_clockwise {
my $self = shift;
$self->reverse_points if $self->is_counter_clockwise;
$self->reverse if $self->is_counter_clockwise;
}
sub nearest_point_to {