Ensure there's no numerical error when searching for concave points

This commit is contained in:
Alessandro Ranellucci 2013-06-23 00:20:52 +02:00
parent 1e3ce9b8c4
commit 5c7b447f07

View File

@ -7,7 +7,7 @@ use parent 'Slic3r::Polyline';
use Slic3r::Geometry qw(polygon_lines polygon_remove_parallel_continuous_edges use Slic3r::Geometry qw(polygon_lines polygon_remove_parallel_continuous_edges
polygon_remove_acute_vertices polygon_segment_having_point point_in_polygon polygon_remove_acute_vertices polygon_segment_having_point point_in_polygon
PI X1 X2 Y1 Y2); PI X1 X2 Y1 Y2 epsilon);
use Slic3r::Geometry::Clipper qw(JT_MITER); use Slic3r::Geometry::Clipper qw(JT_MITER);
sub lines { sub lines {
@ -159,7 +159,7 @@ sub concave_points {
my $self = shift; my $self = shift;
return map $self->[$_], return map $self->[$_],
grep Slic3r::Geometry::angle3points(@$self[$_, $_-1, $_+1]) < PI, grep Slic3r::Geometry::angle3points(@$self[$_, $_-1, $_+1]) < PI - epsilon,
-1 .. ($#$self-1); -1 .. ($#$self-1);
} }