mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-11-02 20:51:23 -07:00 
			
		
		
		
	Bugfix: a wrong optimization caused some top-level perimeters not to be sorted using the nearest-neighbor search. #2322
This commit is contained in:
		
							parent
							
								
									af446dc7d4
								
							
						
					
					
						commit
						d47e12f05c
					
				
					 1 changed files with 6 additions and 10 deletions
				
			
		| 
						 | 
				
			
			@ -350,16 +350,12 @@ sub make_perimeters {
 | 
			
		|||
        
 | 
			
		||||
        # use a nearest neighbor search to order these children
 | 
			
		||||
        # TODO: supply second argument to chained_path() too?
 | 
			
		||||
        # Optimization: since islands are going to be sorted by slice anyway in the 
 | 
			
		||||
        # G-code export process, we skip chained_path here
 | 
			
		||||
        my ($sorted_collection, @orig_indices);
 | 
			
		||||
        if ($is_contour && $depth == 0) {
 | 
			
		||||
            $sorted_collection = $collection;
 | 
			
		||||
            @orig_indices = (0..$#$sorted_collection);
 | 
			
		||||
        } else {
 | 
			
		||||
            $sorted_collection = $collection->chained_path_indices(0);
 | 
			
		||||
            @orig_indices = @{$sorted_collection->orig_indices};
 | 
			
		||||
        }
 | 
			
		||||
        # (We used to skip this chiained_path() when $is_contour &&
 | 
			
		||||
        # $depth == 0 because slices are ordered at G_code export 
 | 
			
		||||
        # time, but multiple top-level perimeters might belong to
 | 
			
		||||
        # the same slice actually, so that was a broken optimization.)
 | 
			
		||||
        my $sorted_collection = $collection->chained_path_indices(0);
 | 
			
		||||
        my @orig_indices = @{$sorted_collection->orig_indices};
 | 
			
		||||
        
 | 
			
		||||
        my @loops = ();
 | 
			
		||||
        foreach my $loop (@$sorted_collection) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue