Add xsp wrapper for Pointf class.

This commit is contained in:
Y. Sapir 2014-04-28 01:13:50 +03:00
parent e005ff32c4
commit ad03a88733
3 changed files with 17 additions and 1 deletions

View file

@ -587,7 +587,7 @@ sub _G0_G1 {
if ($point) { if ($point) {
$gcode .= sprintf " X%.3f Y%.3f", $gcode .= sprintf " X%.3f Y%.3f",
($point->x * &Slic3r::SCALING_FACTOR) + $self->shift_x - $self->extruder->extruder_offset->[X], ($point->x * &Slic3r::SCALING_FACTOR) + $self->shift_x - $self->extruder->extruder_offset->[X],
($point->y * &Slic3r::SCALING_FACTOR) + $self->shift_y - $self->extruder->extruder_offset->[Y]; #** ($point->y * &Slic3r::SCALING_FACTOR) + $self->shift_y - $self->extruder->extruder_offset->[Y]; #**
$self->last_pos($point->clone); $self->last_pos($point->clone);
} }

View file

@ -28,6 +28,11 @@ our @ISA = 'Slic3r::Point';
sub DESTROY {} sub DESTROY {}
package Slic3r::Pointf;
use overload
'@{}' => sub { [ $_[0]->x, $_[0]->y ] }, #,
'fallback' => 1;
package Slic3r::Pointf3; package Slic3r::Pointf3;
use overload use overload
'@{}' => sub { [ $_[0]->x, $_[0]->y, $_[0]->z ] }, #, '@{}' => sub { [ $_[0]->x, $_[0]->y, $_[0]->z ] }, #,

View file

@ -56,6 +56,17 @@ Point::coincides_with(point_sv)
}; };
%name{Slic3r::Pointf} class Pointf {
Pointf(double _x = 0, double _y = 0);
~Pointf();
Clone<Pointf> clone()
%code{% RETVAL = THIS; %};
double x()
%code{% RETVAL = THIS->x; %};
double y()
%code{% RETVAL = THIS->y; %};
};
%name{Slic3r::Pointf3} class Pointf3 { %name{Slic3r::Pointf3} class Pointf3 {
Pointf3(double _x = 0, double _y = 0, double _z = 0); Pointf3(double _x = 0, double _y = 0, double _z = 0);
~Pointf3(); ~Pointf3();