1
0
mirror of https://github.com/FULU-Foundation/OrcaSlicer-bambulab.git synced 2026-07-18 09:14:27 +00:00

Merge branch 'master' into xsdata

Conflicts:
	lib/Slic3r/GCode.pm
	xs/src/Point.hpp
This commit is contained in:
Alessandro Ranellucci
2013-07-13 21:00:19 +02:00
14 changed files with 127 additions and 16 deletions
+8 -3
View File
@@ -96,9 +96,13 @@ sub change_layer {
my ($layer) = @_;
$self->layer($layer);
# avoid computing overhangs if they're not needed
$self->_layer_overhangs(
$layer->id > 0
$layer->id > 0 && ($Slic3r::Config->overhangs || $Slic3r::Config->start_perimeters_at_non_overhang)
? [ map $_->expolygon->arrayref, grep $_->surface_type == S_TYPE_BOTTOM, map @{$_->slices}, @{$layer->regions} ]
$layer->id > 0 && ($Slic3r::Config->overhangs || $Slic3r::Config->start_perimeters_at_non_overhang)
? [ map $_->expolygon, grep $_->surface_type == S_TYPE_BOTTOM, map @{$_->slices}, @{$layer->regions} ]
: []
);
if ($self->config->avoid_crossing_perimeters) {
@@ -168,8 +172,9 @@ sub extrude_loop {
@candidates = @concave;
if (!@candidates) {
# if none, look for any non-overhang vertex
@candidates = grep !Boost::Geometry::Utils::point_covered_by_multi_polygon($_, $self->_layer_overhangs),
@{$loop->polygon};
if ($Slic3r::Config->start_perimeters_at_non_overhang) {
@candidates = grep !Boost::Geometry::Utils::point_covered_by_multi_polygon($_, $self->_layer_overhangs), @{$loop->polygon};
}
if (!@candidates) {
# if none, all points are valid candidates
@candidates = @{$loop->polygon};