Commit Graph

13 Commits (b319dc9361727efba91df01318ae3064e9a397c8)

Author SHA1 Message Date
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 f6897a346a Fix islands not being ordered efficiently with the logic that completes each of them before moving to the next one (which is now the default behavior). #1137 2014-04-25 19:11:17 +02:00
Alessandro Ranellucci ca4d4211c9 Refactored signatures of many C++ methods for more efficient and safer style. Includes a bugfix for Point::nearest_point() which was returning a pointer to freed memory. #1961 2014-04-24 16:40:10 +02:00
Alessandro Ranellucci 52de292a48 Fixed wrong refactoring of perimeter tree traversal. #1832 2014-03-15 02:16:04 +01:00
Alessandro Ranellucci 7f5442265e Include thin walls in general top-level perimeter sorting to get more efficient paths 2014-03-09 20:19:30 +01:00
Alessandro Ranellucci e0da81e8bf Introduce a ->count method for all collections to save time 2013-09-17 23:38:23 +02:00
Alessandro Ranellucci aef5c05c57 Update brim generation code. Includes regression test. #1440 2013-09-16 10:33:30 +02:00
Alessandro Ranellucci 907ba55aab Some minor fixes needed after the xsdata merge. #1421 2013-09-06 22:52:56 +02:00
Alessandro Ranellucci 1741301973 Fix segfault when appending an ExtrusionPath::Collection to another Collection 2013-08-31 01:23:47 +02:00
Alessandro Ranellucci d2e4bba074 Fixed memory leak in ExtrusionPath::Collection and return collection items by reference 2013-08-31 00:37:17 +02:00
Alessandro Ranellucci bd7b0e2aed Ported ExtrusionPath::Collection->chained_path 2013-08-29 11:47:59 +02:00
Alessandro Ranellucci 1b285f3f46 Thread-safe integration of ExtrusionPath::Collection 2013-07-18 22:29:12 +02:00
Alessandro Ranellucci c030e38908 Ported ExtrusionPath::Collection 2013-07-18 19:09:07 +02:00