Alessandro Ranellucci
6adc3477c9
Moved C++ code into new libslic3r directory
2014-08-03 19:42:29 +02:00
Alessandro Ranellucci
7215e66a6a
Merge branch 'master' into visilibity
...
Conflicts:
lib/Slic3r/GCode.pm
xs/MANIFEST
2014-05-27 00:04:53 +02:00
Alessandro Ranellucci
f2c5e799b1
Enforce seam alignment and blend in spiral vase. #2023
2014-05-22 12:28:12 +02:00
Alessandro Ranellucci
5fe5021fd7
Implemented avoid_crossing_perimeters with VisiLibity
2014-05-13 20:06:01 +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
d2d885fc53
Turn ExtrusionLoop into a collection of polylines. Includes some changes to the Polygon API to avoid returning newly allocatd objects
2014-05-07 12:02:09 +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
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
ed8a2f7330
Extend medial axis endpoints to fill the entire length. Includes fix for a minor memory leak caused by usage of old signature for Line::point_at()
2014-03-15 16:53:20 +01:00
Alessandro Ranellucci
3a3e53b59b
Fixed some obvious mistakes and applied strict type checking to SurfaceCollections too
2014-01-16 19:02:50 +01:00
Alessandro Ranellucci
a51743a8c1
Bugfix: lack of strong type checking when passing arrayref objects to XS caused random lack of infill. Now added strong type checking for all XS entities. Also fixes a potential issue with bridges caused by the same error. #1652
...
Conflicts:
lib/Slic3r/Layer/Region.pm
2014-01-12 00:54:10 +01:00
Alessandro Ranellucci
df8d889481
More unfinished work
2013-11-22 02:16:10 +01:00
Alessandro Ranellucci
761f261a68
Ported intersect_expolygons() and subtract_expolygons() to XS
2013-11-21 17:53:50 +01:00
Alessandro Ranellucci
885ab5844e
Ported regular_points() to XS and renamed it to equally_spaced_points()
2013-11-11 20:59:58 +01:00
Alessandro Ranellucci
b5aaeb9b12
More work on the clipping method for medial axis. Includes Polyline->is_valid()
2013-11-06 19:30:45 +01:00
Alessandro Ranellucci
29b83517cb
Ported point_along_segment(), Polyline::length(), Polyline::clip_end() to XS
2013-10-27 22:57:25 +01:00
Alessandro Ranellucci
4dce461aaf
Minor optimizations
2013-09-13 15:19:15 +02:00
Alessandro Ranellucci
6e22a82e7d
Conditional compilation to exclude all Perl/XS stuff from C++ code
2013-09-13 14:48:40 +02:00
Alessandro Ranellucci
a49dc603cc
Many changes and fixes to remove leaks and return objects by reference
2013-09-03 19:26:58 +02:00
Alessandro Ranellucci
275422fac7
Don't return first_point() and last_point() by reference
2013-09-02 22:33:03 +02:00
Alessandro Ranellucci
c0789506e4
Return objects by reference instead of always cloning
2013-09-02 20:22:20 +02:00
Alessandro Ranellucci
1cfdf7e955
Ported Slic3r::Polyline::Collection
2013-08-30 00:06:10 +02:00
Alessandro Ranellucci
fe061b19ad
Ported Polygon->is_counter_clockwise() and rearranged code in .cpp files
2013-07-16 21:04:14 +02:00