mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-11-02 20:51:23 -07:00 
			
		
		
		
	Ported Slic3r::Print::State to XS
This commit is contained in:
		
							parent
							
								
									d2295cdf70
								
							
						
					
					
						commit
						a6a6a6888b
					
				
					 9 changed files with 124 additions and 45 deletions
				
			
		| 
						 | 
				
			
			@ -1,5 +1,6 @@
 | 
			
		|||
package Slic3r::Print::State;
 | 
			
		||||
use Moo;
 | 
			
		||||
use strict;
 | 
			
		||||
use warnings;
 | 
			
		||||
 | 
			
		||||
require Exporter;
 | 
			
		||||
our @ISA = qw(Exporter);
 | 
			
		||||
| 
						 | 
				
			
			@ -7,18 +8,6 @@ our @EXPORT_OK   = qw(STEP_INIT_EXTRUDERS STEP_SLICE STEP_PERIMETERS STEP_PREPAR
 | 
			
		|||
                    STEP_INFILL STEP_SUPPORTMATERIAL STEP_SKIRT STEP_BRIM);
 | 
			
		||||
our %EXPORT_TAGS = (steps => \@EXPORT_OK);
 | 
			
		||||
 | 
			
		||||
has '_started'  => (is => 'ro', default => sub {{}});  # { step => 1, ... }
 | 
			
		||||
has '_done'     => (is => 'ro', default => sub {{}});  # { step => 1, ... }
 | 
			
		||||
 | 
			
		||||
use constant STEP_INIT_EXTRUDERS    => 0;
 | 
			
		||||
use constant STEP_SLICE             => 1;
 | 
			
		||||
use constant STEP_PERIMETERS        => 2;
 | 
			
		||||
use constant STEP_PREPARE_INFILL    => 3;
 | 
			
		||||
use constant STEP_INFILL            => 4;
 | 
			
		||||
use constant STEP_SUPPORTMATERIAL   => 5;
 | 
			
		||||
use constant STEP_SKIRT             => 6;
 | 
			
		||||
use constant STEP_BRIM              => 7;
 | 
			
		||||
 | 
			
		||||
our %print_steps = map { $_ => 1 } (
 | 
			
		||||
    STEP_INIT_EXTRUDERS,
 | 
			
		||||
    STEP_SKIRT,
 | 
			
		||||
| 
						 | 
				
			
			@ -36,33 +25,4 @@ our %prereqs = (
 | 
			
		|||
    STEP_BRIM               => [STEP_PERIMETERS, STEP_INFILL, STEP_SKIRT],
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
sub started {
 | 
			
		||||
    my ($self, $step) = @_;
 | 
			
		||||
    return $self->_started->{$step};
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub done {
 | 
			
		||||
    my ($self, $step) = @_;
 | 
			
		||||
    return $self->_done->{$step};
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub set_started {
 | 
			
		||||
    my ($self, $step) = @_;
 | 
			
		||||
    
 | 
			
		||||
    $self->_started->{$step} = 1;
 | 
			
		||||
    delete $self->_done->{$step};
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub set_done {
 | 
			
		||||
    my ($self, $step) = @_;
 | 
			
		||||
    $self->_done->{$step} = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub invalidate {
 | 
			
		||||
    my ($self, $step) = @_;
 | 
			
		||||
    
 | 
			
		||||
    delete $self->_started->{$step};
 | 
			
		||||
    delete $self->_done->{$step};
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
1;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue