Browse Source

Renamed ExtrusionPath->depth_layers to height

Alessandro Ranellucci 12 years ago
parent
commit
f35cdef2aa
5 changed files with 16 additions and 16 deletions
  1. 12 12
      lib/Slic3r/ExtrusionPath.pm
  2. 1 1
      lib/Slic3r/Fill.pm
  3. 1 1
      lib/Slic3r/GCode.pm
  4. 1 1
      lib/Slic3r/Layer/Region.pm
  5. 1 1
      lib/Slic3r/Print/Object.pm

+ 12 - 12
lib/Slic3r/ExtrusionPath.pm

@@ -18,8 +18,8 @@ has 'polyline' => (
     handles     => [qw(merge_continuous_lines lines length reverse)],
 );
 
-# depth_layers is the vertical thickness of the extrusion expressed in layers
-has 'depth_layers' => (is => 'ro', default => sub {1});
+# height is the vertical thickness of the extrusion expressed in mm
+has 'height'       => (is => 'ro');
 has 'flow_spacing' => (is => 'rw');
 has 'role'         => (is => 'rw', required => 1);
 
@@ -34,7 +34,7 @@ use constant EXTR_ROLE_BRIDGE                       => 7;
 use constant EXTR_ROLE_SKIRT                        => 8;
 use constant EXTR_ROLE_SUPPORTMATERIAL              => 9;
 
-use constant PACK_FMT => 'cfca*';
+use constant PACK_FMT => 'ffca*';
 
 # class or object method
 sub pack {
@@ -42,11 +42,11 @@ sub pack {
     my %args = @_;
     
     if (ref $self) {
-        %args = map { $_ => $self->$_ } qw(depth_layers flow_spacing role polyline);
+        %args = map { $_ => $self->$_ } qw(height flow_spacing role polyline);
     }
     
     my $o = \ pack PACK_FMT,
-        $args{depth_layers} || 1,
+        $args{height}       // -1,
         $args{flow_spacing} || -1,
         $args{role}         // (die "Missing mandatory attribute 'role'"), #/
         $args{polyline}->serialize;
@@ -93,7 +93,7 @@ sub clip_with_expolygon {
     foreach my $polyline ($self->polyline->clip_with_expolygon($expolygon)) {
         push @paths, (ref $self)->new(
             polyline        => $polyline,
-            depth_layers    => $self->depth_layers,
+            height          => $self->height,
             flow_spacing    => $self->flow_spacing,
             role            => $self->role,
         );
@@ -137,7 +137,7 @@ sub split_at_acute_angles {
             push @paths, (ref $self)->new(
                 polyline        => Slic3r::Polyline->new(\@p),
                 role            => $self->role,
-                depth_layers    => $self->depth_layers,
+                height          => $self->height,
              );
             @p = ($p3);
             push @p, grep $_, shift @points or last;
@@ -148,7 +148,7 @@ sub split_at_acute_angles {
     push @paths, (ref $self)->new(
         polyline        => Slic3r::Polyline->new(\@p),
         role            => $self->role,
-        depth_layers    => $self->depth_layers,
+        height          => $self->height,
     ) if @p > 1;
     
     return @paths;
@@ -246,7 +246,7 @@ sub detect_arcs {
             push @paths, (ref $self)->new(
                 polyline        => Slic3r::Polyline->new(@points[0..$i]),
                 role            => $self->role,
-                depth_layers    => $self->depth_layers,
+                height          => $self->height,
             ) if $i > 0;
             
             # add our arc
@@ -265,7 +265,7 @@ sub detect_arcs {
     push @paths, (ref $self)->new(
         polyline        => Slic3r::Polyline->new(\@points),
         role            => $self->role,
-        depth_layers    => $self->depth_layers,
+        height          => $self->height,
     ) if @points > 1;
     
     return @paths;
@@ -275,11 +275,11 @@ package Slic3r::ExtrusionPath::Packed;
 sub unpack {
     my $self = shift;
     
-    my ($depth_layers, $flow_spacing, $role, $polyline_s)
+    my ($height, $flow_spacing, $role, $polyline_s)
         = unpack Slic3r::ExtrusionPath::PACK_FMT, $$self;
     
     return Slic3r::ExtrusionPath->new(
-        depth_layers    => $depth_layers,
+        height          => ($height == -1) ? undef : $height,
         flow_spacing    => ($flow_spacing == -1) ? undef : $flow_spacing,
         role            => $role,
         polyline        => Slic3r::Polyline->deserialize($polyline_s),

+ 1 - 1
lib/Slic3r/Fill.pm

@@ -169,7 +169,7 @@ sub make_fill {
                         : $is_solid
                             ? ($surface->surface_type == S_TYPE_TOP ? EXTR_ROLE_TOPSOLIDFILL : EXTR_ROLE_SOLIDFILL)
                             : EXTR_ROLE_FILL),
-                    depth_layers => $surface->depth_layers,
+                    height => $surface->depth_layers * $Slic3r::Config->layer_height,
                     flow_spacing => $params->{flow_spacing} || (warn "Warning: no flow_spacing was returned by the infill engine, please report this to the developer\n"),
                 ), @paths,
             ],

+ 1 - 1
lib/Slic3r/GCode.pm

@@ -149,7 +149,7 @@ sub extrude_path {
         $area = ($s**2) * PI/4;
     } else {
         my $s = $path->flow_spacing || ($self->layer ? $self->layer->flow->spacing : $Slic3r::flow->spacing);
-        my $h = $path->depth_layers * $self->layer->height;
+        my $h = $path->height // $self->layer->height;
         $area = $self->extruder->mm3_per_mm($s, $h);
     }
     

+ 1 - 1
lib/Slic3r/Layer/Region.pm

@@ -279,7 +279,7 @@ sub make_perimeters {
                             map Slic3r::ExtrusionPath->pack(
                                 polyline        => Slic3r::Polyline->new(@$_),
                                 role            => EXTR_ROLE_SOLIDFILL,
-                                depth_layers    => 1,
+                                height          => $self->height,
                                 flow_spacing    => $params->{flow_spacing},
                             ), @paths;
                     }

+ 1 - 1
lib/Slic3r/Print/Object.pm

@@ -579,7 +579,7 @@ sub generate_support_material {
                     map Slic3r::ExtrusionPath->new(
                         polyline        => Slic3r::Polyline->new(@$_),
                         role            => EXTR_ROLE_SUPPORTMATERIAL,
-                        depth_layers    => 1,
+                        height          => undef,
                         flow_spacing    => $params->{flow_spacing},
                     ), @paths;
             }