Commit graph

18 commits

Author SHA1 Message Date
bubnikv
6217622865 Hopefully a fix of https://github.com/prusa3d/Slic3r/issues/11
Replaced eval { die } construct with a bool return value indicating
success or failure of an automatic arrangement of parts on the print bed.

Don't know exactly what is happening here, but throwing a "die" inside
a XS function and then catching it inside an eval {} block is suspcious.
2016-11-04 15:03:51 +01:00
Alessandro Ranellucci
4913e90e10 Remove any Perl related code from libslic3r 2015-12-08 00:39:54 +01:00
Alessandro Ranellucci
1bebe6097b Make test happy 2015-12-02 19:39:16 +01:00
Alessandro Ranellucci
ed75219215 Ported mode Model methods to XS 2015-12-02 18:06:18 +01:00
Alessandro Ranellucci
d6d7880507 Ported Slic3r::Geometry::arrange() to C++/XS 2015-04-29 19:19:07 +02:00
Alessandro Ranellucci
5eb3bc52ef Ported ModelObject::rotate() and ModelObject::flip() to XS, as well as axes constants 2015-04-16 21:22:04 +02:00
Alessandro Ranellucci
e2b1b52679 Added a new Slic3r::Geometry::simplify_polygons() function 2015-01-30 18:33:20 +01:00
Alessandro Ranellucci
8791f5a493 Cleanup of some method signatures and of XS return types 2015-01-19 18:53:04 +01:00
Alessandro Ranellucci
379cde30e2 Ported Slic3r::BridgeDetector to XS 2014-11-15 22:41:22 +01:00
Alessandro Ranellucci
6adc3477c9 Moved C++ code into new libslic3r directory 2014-08-03 19:42:29 +02:00
Alessandro Ranellucci
76a8ec3d9e Replace to_SV_ref() and to_SV_clone_ref() with templated glue functions 2014-05-08 14:52:48 +02:00
Alessandro Ranellucci
cb1527f7ef Refactoring: move direction math into a single function. Includes some fixes and adjustments 2014-05-02 18:48:11 +02:00
Petr Ledvina
028ef3a868 Add missing perlglue.hpp to xsp files
perlglue was missing in some xsp files. If file ordering ib XS.c is changed, header file could be missing. Maybe solves 
2014-05-02 14:08:44 +02:00
Petr Ledvina
115aa6885f Implement type checking for XS objects
Type handling is mainly done using templates.
Template Slic3r::ClassTraits is used to store info about exported types (perl class name). Currently only perl class name and refference name is used.
Template values are initialized by REGISTER_CLASS macro. This macro is used in .cpp file of class ( it needs to be used exactly for each type).

Ref<type> class is used to return value as perl reference. Operator overloading is used to make c++ and XSpp happy, only pointer value should be possible to return.

Clone<type> class is used to return copy of value ( using new and copy constructor). Copy is created on assigment, this should be probably improved (memory leak on multiple assignments).
It is overloaded to be able to return type, type* and type&.

Typechecking in ExtrusionEntityCollection updated to check all passed types.
2014-04-27 19:38:56 +02:00
Alessandro Ranellucci
0e8a0ef1ca Refactoring. Use Model class for representing the plate in GUI 2013-12-12 20:19:33 +01:00
Alessandro Ranellucci
3a5e4931cc Move Geometry.cpp to Slic3r::Geometry namespace 2013-11-23 21:54:56 +01:00
Alessandro Ranellucci
0516aac715 Ported chained_path() to XS 2013-11-23 21:39:05 +01:00
Alessandro Ranellucci
5309e3ef22 More files for convex_hull 2013-11-22 22:38:30 +01:00