mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-20 07:11:12 -06:00 
			
		
		
		
	Some work to reduce recursive dependencies between classes
This commit is contained in:
		
							parent
							
								
									849e714147
								
							
						
					
					
						commit
						9f41f0279e
					
				
					 5 changed files with 30 additions and 27 deletions
				
			
		|  | @ -93,13 +93,8 @@ sub change_layer { | |||
|     $self->layer($layer); | ||||
|      | ||||
|     # avoid computing islands and overhangs if they're not needed | ||||
|     if ($self->config->only_retract_when_crossing_perimeters) { | ||||
|         $self->_layer_islands([ $layer->islands ]); | ||||
|         $self->_upper_layer_islands([ $layer->upper_layer_islands ]); | ||||
|     } else { | ||||
|         $self->_layer_islands([]); | ||||
|         $self->_upper_layer_islands([]); | ||||
|     } | ||||
|     $self->_layer_islands($layer->islands); | ||||
|     $self->_upper_layer_islands($layer->upper_layer ? $layer->upper_layer->islands : []); | ||||
|     $self->_layer_overhangs_pp( | ||||
|         # clone ExPolygons because they come from Surface objects but will be used outside here | ||||
|         ($layer->id > 0 && ($layer->config->overhangs || $Slic3r::Config->start_perimeters_at_non_overhang)) | ||||
|  | @ -437,7 +432,7 @@ sub _plan { | |||
|     my $need_retract = !$self->config->only_retract_when_crossing_perimeters; | ||||
|     if (!$need_retract) { | ||||
|         $need_retract = 1; | ||||
|         foreach my $island ($self->layer->upper_layer_islands) { | ||||
|         foreach my $island (@{$self->_upper_layer_islands}) { | ||||
|             # discard the island if at any line is not enclosed in it | ||||
|             next if first { !$island->encloses_line($_, scaled_epsilon) } @travel; | ||||
|             # okay, this island encloses the full travel path | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Alessandro Ranellucci
						Alessandro Ranellucci