3f6360ee8f
Finish porting Print classes to XS
2014-06-10 16:01:57 +02:00
ba8148f4ad
Merge branch 'printcpp' of github.com:sapir/Slic3r into sapir-printcpp
...
Conflicts:
lib/Slic3r/GCode.pm
lib/Slic3r/Print.pm
lib/Slic3r/Print/Object.pm
lib/Slic3r/Print/Region.pm
2014-06-10 14:46:40 +02:00
3599bd0bae
Distinct extrusion width for external perimeters
2014-06-09 21:22:15 +02:00
7215e66a6a
Merge branch 'master' into visilibity
...
Conflicts:
lib/Slic3r/GCode.pm
xs/MANIFEST
2014-05-27 00:04:53 +02:00
b02e459c4b
Attempt to fix compilation issue
2014-05-26 17:13:24 +02:00
3d25b9030c
Bugfix: movement between objects in sequential printing mode was going too far away. #2013 #2007
2014-05-26 15:19:13 +02:00
19d18bdd84
Attempt to solve conflict with a3bd1b5 by adding id to PrintObject and using that as a hash key.
2014-05-25 03:00:29 +03:00
9247f21ff8
Add missing include "BoundingBox.hpp" to Polygon.xsp.
2014-05-25 00:55:13 +03:00
d2e51242d9
Really fix total_used_filament / total_extruded_volume.
2014-05-25 00:53:47 +03:00
07dd799967
Fix inherited Layer::Support id and object accessors.
2014-05-25 00:50:49 +03:00
b8b8c746d9
Make clear_regions and delete_region methods private (both Print & Layer), and remove from XSP.
2014-05-25 00:11:17 +03:00
22b05cb187
Make read-only constructor parameters - private.
2014-05-24 23:50:45 +03:00
76738dc66b
Remove some more Clone typemaps and add some whitespace.
2014-05-24 23:50:45 +03:00
db51e4693d
Return NULL values from XS as undef.
2014-05-24 23:50:45 +03:00
d06c300926
Add ::Ref classes for every missing C++ class (going by REGISTER_CLASS calls).
2014-05-24 23:50:44 +03:00
8da0bded1d
Move Print object storage to C++. (along with its subobjects)
2014-05-24 23:50:29 +03:00
a3bd1b5302
New seal_position option that replaces randomize_start, start_perimeters_at_concave_points and start_perimeters_at_non_overhang. The two latter options are now always on by default. A new "Aligned" seal position value has been added, that forces starting points to be aligned when not randomized. #1741 #925
2014-05-22 19:34:49 +02:00
f2c5e799b1
Enforce seam alignment and blend in spiral vase. #2023
2014-05-22 12:28:12 +02:00
254ab29a97
New Point::projection_onto() methods
2014-05-21 20:08:21 +02:00
ad99b2a0fd
Fixed one more regression introduced with Model refactoring. Includes regression test
2014-05-15 16:37:18 +02:00
5fe5021fd7
Implemented avoid_crossing_perimeters with VisiLibity
2014-05-13 20:06:01 +02:00
ee2c1c6127
Refactored the Slic3r::GCode logic for speeds
2014-05-13 08:34:21 +02:00
59f0e76da1
Distinct extrusion role for support material interface
2014-05-12 22:59:49 +02:00
69002b8ea2
No tests were covering randomize-start, which was not working anymore after recent ExtrusionLoop refactoring. #2028
2014-05-12 21:49:17 +02:00
27c73f5983
Some fixes after the recent Model refactoring
2014-05-10 16:59:17 +02:00
7ba08c90cf
Refactoring to Model API for making it stricter and safer
2014-05-09 14:24:35 +02:00
76a8ec3d9e
Replace to_SV_ref() and to_SV_clone_ref() with templated glue functions
2014-05-08 14:52:48 +02:00
6e207d3830
Merge branch 'sapir-modelcpp'
2014-05-08 11:13:21 +02:00
c37ef2f18b
New semantics for ExtrusionLoop objects. Early processing of perimeter overhangs for paralellizing such work and making G-code export lighter. Lots of refactoring. This should fix a number of minor bugs, including reversals of perimeter overhangs.
2014-05-08 11:07:37 +02:00
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
13af16ea24
Use Pointf for origin_translation and pass const refs whenever possible
2014-05-07 00:58:29 +02:00
54a199919b
Removed StringMap
2014-05-07 00:22:56 +02:00
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
cb1527f7ef
Refactoring: move direction math into a single function. Includes some fixes and adjustments
2014-05-02 18:48:11 +02:00
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 #2000
2014-05-02 14:08:44 +02:00
0a88492fdc
Use a more robust parallelism detection
2014-05-02 13:26:59 +02:00
c81ffc391d
Tentative fix for unreproduced compilation error reported
2014-05-02 11:51:07 +02:00
60f640f100
Remove self-intersections before supplying polygon data to polyPartition and rename triangulate2() to triangulate_pp()
2014-05-01 10:37:38 +02:00
98e40d3fe4
Store width and height in ExtrusionEntity objects for debugging purposes
2014-04-29 23:16:16 +02:00
24571612c7
Some minor changes to the newly-ported Extruder class
2014-04-28 22:02:34 +02:00
4c330b6c59
Merge pull request #1968 from sapir/extrudercpp
...
Translate Extruder class to C++
2014-04-28 21:45:53 +02:00
2720000a17
New get_trapezoids() implementation. Maybe heavier but it doesn't fail with some versions of GCC like the one provided by Boost.Polygon. #1965
2014-04-28 20:14:20 +02:00
ad03a88733
Add xsp wrapper for Pointf class.
2014-04-28 01:13:50 +03:00
e005ff32c4
Replace Extruder::config accessor with Perl wrapper, with C++ option accessors.
2014-04-28 00:49:05 +03:00
2565d80679
Replace multitude of Extruder fields with querying a PrintConfig object by id.
2014-04-27 23:43:44 +03:00
04fad70cbf
Make C++ gcode generator use C++ Extruder object directly.
2014-04-27 23:43:43 +03:00
66d23a2416
Convert Extruder object (mostly) to C++ with lots of fields.
2014-04-27 23:42:59 +03:00
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
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
8db4913b04
New option for rotating the lower part resulting from the cut so that the flat surface lies on the print bed
2014-04-25 17:50:03 +02:00