Commit Graph

31 Commits (gcode-refactoring)

Author SHA1 Message Date
Alessandro Ranellucci 65b7d27def Draft for binary representation of G-code commands 2014-05-10 15:08:49 +02:00
Alessandro Ranellucci 54a199919b Removed StringMap 2014-05-07 00:22:56 +02:00
Y. Sapir 05b2993769 Translate Model class' storage to C++.
Some code copied from xs-model branch.

Also:
* Generate ::Ref classes programatically.
* Add separate __REGISTER_CLASS macro
    (for use where forward declaration won't work, i.e. typedefs)
2014-05-05 16:30:19 +03:00
Alessandro Ranellucci edeb0a90dd Use poly2tri for triangulation. This fixes some cases where polyPartition couldn't triangulate successfully. Reported as issue #9 in polyPartition repository. Tested with MotorHalter_0.stl cut at 1.2 2014-05-01 12:07:11 +02:00
Y. Sapir 717d099ae1 Add XS Extruder files to manifest. 2014-04-27 23:43:43 +03: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 924cb2e558 Update MANIFEST. #1969 2014-04-25 19:14:03 +02:00
Alessandro Ranellucci b71d28bd5a Fix minor error and update MANIFEST 2014-03-11 19:19:34 +01:00
Alessandro Ranellucci bc832f1a6d Updated MANIFEST with Boost files 2014-01-18 14:37:17 +01:00
Alessandro Ranellucci ea47f3b6e7 More fixes to BoundingBox 2014-01-06 19:42:31 +01:00
Alessandro Ranellucci 9c0a6a79d3 Incomplete work for porting BoundingBox to XS 2014-01-06 18:29:10 +01:00
Alessandro Ranellucci 036badf932 Ported Flow to XS 2014-01-05 13:16:13 +01:00
Alessandro Ranellucci 5b9bbe43b2 Fix MANIFEST 2013-12-23 22:48:41 +01:00
Alessandro Ranellucci ab25cc4940 Merge branch 'xs-config'
Conflicts:
	lib/Slic3r/Config.pm
	xs/MANIFEST
2013-12-22 01:41:55 +01:00
Alessandro Ranellucci 56d4da2ac7 Decoupled a generic Config implementation from the PrintConfig definitions 2013-12-21 16:15:41 +01:00
Alessandro Ranellucci 64e549a46f More work for XS Config 2013-12-20 20:54:11 +01:00
Alessandro Ranellucci 008f38cf68 More work for porting Config to XS 2013-12-20 16:37:28 +01:00
Alessandro Ranellucci a6a6a6888b Ported Slic3r::Print::State to XS 2013-12-20 01:36:42 +01:00
Alessandro Ranellucci 4d066840ba Initial work for porting Slic3r::Config to XS 2013-12-07 16:14:30 +01:00
Alessandro Ranellucci a331f4d27a Finished porting group() to XS 2013-11-23 18:15:59 +01:00
Alessandro Ranellucci de9d5403e8 Finished porting convex_hull() to XS and removed dependency on Math::ConvexHull::MonotoneChain 2013-11-22 22:48:07 +01:00
Alessandro Ranellucci ac93e15c98 New class for generating SVG from XS. Includes some minor refactoring to TriangleMesh 2013-10-13 15:59:38 +02:00
Alessandro Ranellucci ae7600ee55 Update MANIFEST 2013-09-19 16:06:57 +02:00
Alessandro Ranellucci 2280804daa Update xs/MANIFEST 2013-09-12 11:14:54 +02:00
Alessandro Ranellucci 6f1a1b546f Update MANIFEST* 2013-07-23 23:25:57 +02:00
Alessandro Ranellucci 4093280566 Remove Point.cpp 2013-07-06 16:39:22 +02:00
Alessandro Ranellucci 5a11d4df89 New Slic3r::ExPolygon::XS class 2013-07-06 16:33:49 +02:00
Alessandro Ranellucci d6713ab7d7 Update xs MANIFEST 2013-07-06 15:26:54 +02:00
Alessandro Ranellucci 77440b774d Include admesh code for STL repair 2013-06-23 18:18:38 +02:00
Alessandro Ranellucci 37105e8237 Ported get_layer_range() to C 2013-06-23 15:33:07 +02:00
Alessandro Ranellucci 9d27b5e4a7 New XS framework for C and C++ code 2013-06-22 17:16:45 +02:00