Fix error in contains_point() port
This commit is contained in:
parent
3aef663f7f
commit
5f2b2c90b6
2 changed files with 4 additions and 4 deletions
|
@ -59,10 +59,10 @@ use Slic3r::Test;
|
||||||
if ($self->F == $config->external_perimeter_speed*60) {
|
if ($self->F == $config->external_perimeter_speed*60) {
|
||||||
my $move_dest = Slic3r::Point->new_scale(@$info{qw(new_X new_Y)});
|
my $move_dest = Slic3r::Point->new_scale(@$info{qw(new_X new_Y)});
|
||||||
$external_loops{$self->Z}++;
|
$external_loops{$self->Z}++;
|
||||||
|
my $loop_contains_point = Slic3r::Polygon->new_scale(@$cur_loop)->contains_point($move_dest);
|
||||||
$has_outwards_move = 1
|
$has_outwards_move = 1
|
||||||
if !Slic3r::Polygon->new_scale(@$cur_loop)->contains_point($move_dest)
|
if (!$loop_contains_point && $external_loops{$self->Z} == 2) # contour should include destination
|
||||||
? ($external_loops{$self->Z} == 2) # contour should include destination
|
|| ($loop_contains_point && $external_loops{$self->Z} == 1); # hole should not
|
||||||
: ($external_loops{$self->Z} == 1); # hole should not
|
|
||||||
}
|
}
|
||||||
$cur_loop = undef;
|
$cur_loop = undef;
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,7 +114,7 @@ bool
|
||||||
Polygon::contains_point(const Point* point) const
|
Polygon::contains_point(const Point* point) const
|
||||||
{
|
{
|
||||||
// http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html
|
// http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html
|
||||||
bool result;
|
bool result = false;
|
||||||
Points::const_iterator i = this->points.begin();
|
Points::const_iterator i = this->points.begin();
|
||||||
Points::const_iterator j = this->points.end() - 1;
|
Points::const_iterator j = this->points.end() - 1;
|
||||||
for (; i != this->points.end(); j = i++) {
|
for (; i != this->points.end(); j = i++) {
|
||||||
|
|
Loading…
Reference in a new issue