2013-06-22 15:16:45 +00:00
|
|
|
package Slic3r::XS;
|
|
|
|
use warnings;
|
|
|
|
use strict;
|
|
|
|
|
|
|
|
our $VERSION = '0.01';
|
|
|
|
|
|
|
|
use XSLoader;
|
|
|
|
XSLoader::load(__PACKAGE__, $VERSION);
|
|
|
|
|
2013-07-06 13:26:32 +00:00
|
|
|
package Slic3r::Point::XS;
|
|
|
|
use overload
|
2013-07-07 10:41:54 +00:00
|
|
|
'@{}' => sub { $_[0]->arrayref };
|
2013-06-22 15:16:45 +00:00
|
|
|
|
2013-07-06 14:33:49 +00:00
|
|
|
package Slic3r::ExPolygon::XS;
|
|
|
|
use overload
|
2013-07-07 10:41:54 +00:00
|
|
|
'@{}' => sub { $_[0]->arrayref };
|
2013-07-06 14:33:49 +00:00
|
|
|
|
2013-07-07 13:06:01 +00:00
|
|
|
sub clone { (ref $_[0])->_clone($_[0]) }
|
|
|
|
|
2013-07-11 16:55:51 +00:00
|
|
|
# to handle legacy code
|
|
|
|
sub rotate {
|
|
|
|
my $self = shift;
|
|
|
|
my ($angle, $center) = @_;
|
|
|
|
|
|
|
|
$center = Slic3r::Point::XS->new(@$center) if ref($center) ne 'Slic3r::Point::XS';
|
|
|
|
$self->_rotate($angle, $center);
|
|
|
|
}
|
|
|
|
|
2013-07-13 22:38:01 +00:00
|
|
|
package Slic3r::ExPolygon::Collection;
|
|
|
|
use overload
|
|
|
|
'@{}' => sub { $_[0]->arrayref };
|
|
|
|
|
|
|
|
sub clone { (ref $_[0])->_clone($_[0]) }
|
|
|
|
|
2013-06-22 15:16:45 +00:00
|
|
|
1;
|