mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-31 04:31:15 -06:00 
			
		
		
		
	
		
			
				
	
	
		
			34 lines
		
	
	
	
		
			773 B
		
	
	
	
		
			Perl
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
	
		
			773 B
		
	
	
	
		
			Perl
		
	
	
	
	
	
| package Slic3r::ExtrusionLoop;
 | |
| use Moo;
 | |
| 
 | |
| use XXX;
 | |
| 
 | |
| extends 'Slic3r::Polyline::Closed';
 | |
| 
 | |
| # perimeter/fill/solid-fill/bridge/skirt
 | |
| has 'role'         => (is => 'rw', required => 1);
 | |
| 
 | |
| sub split_at {
 | |
|     my $self = shift;
 | |
|     my ($point) = @_;
 | |
|     
 | |
|     $point = Slic3r::Point->new($point);
 | |
|     
 | |
|     # find index of point
 | |
|     my $i = -1;
 | |
|     for (my $n = 0; $n <= $#{$self->points}; $n++) {
 | |
|         if ($point->id eq $self->points->[$n]->id) {
 | |
|             $i = $n;
 | |
|             last;
 | |
|         }
 | |
|     }
 | |
|     die "Point not found" if $i == -1;
 | |
|     
 | |
|     my @new_points = ();
 | |
|     push @new_points, @{$self->points}[$i .. $#{$self->points}];
 | |
|     push @new_points, @{$self->points}[0 .. $i];
 | |
|     
 | |
|     return Slic3r::ExtrusionPath->new(points => [@new_points], role => $self->role);
 | |
| }
 | |
| 
 | |
| 1;
 | 
