diff options
author | Alessandro Ranellucci <aar@cpan.org> | 2011-10-12 16:54:49 +0400 |
---|---|---|
committer | Alessandro Ranellucci <aar@cpan.org> | 2011-10-12 16:54:49 +0400 |
commit | e410410dc72f6c99c6fba2b783ca79442fe78c5a (patch) | |
tree | cf4293bd513c08dfd84312046c01469d65bd3212 /lib/Slic3r/ExtrusionPath.pm | |
parent | 774717c8bb265e8eb8b1d86f0ea4c612bc0bd680 (diff) |
Refactoring. Point objects are now plain arrayrefs. Slicing is 30% faster.
Diffstat (limited to 'lib/Slic3r/ExtrusionPath.pm')
-rw-r--r-- | lib/Slic3r/ExtrusionPath.pm | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/lib/Slic3r/ExtrusionPath.pm b/lib/Slic3r/ExtrusionPath.pm index 6bacc1119..3358cf887 100644 --- a/lib/Slic3r/ExtrusionPath.pm +++ b/lib/Slic3r/ExtrusionPath.pm @@ -18,17 +18,15 @@ sub clip_end { next; } - my $new_point = Slic3r::Geometry::point_along_segment($last_point->p, $self->points->[-1]->p, $distance); - push @{$self->points}, Slic3r::Point->cast($new_point); + my $new_point = Slic3r::Geometry::point_along_segment($last_point, $self->points->[-1], $distance); + push @{$self->points}, Slic3r::Point->new($new_point); $distance = 0; } } sub endpoints { my $self = shift; - my ($as_arrayref) = @_; - my @points = ($self->points->[0], $self->points->[-1]); - return $as_arrayref ? map($_->p, @points) : @points; + return ($self->points->[0], $self->points->[-1]); } sub reverse { |