bubnikv
e90279c513
Ported the G-code generator from Perl to C++.
...
Removed GCode.pm
Removed the Perl bindigns for AvoidCrossingPerimeters, OozePrevention, SpiralVase, Wipe
Changed the std::set of extruder IDs to vector of IDs.
Removed some MSVC compiler warnings, removed obnoxious compiler warnings when compiling the Perl bindings.
2017-05-03 18:28:22 +02:00
bubnikv
ed2ee2f6f3
Merged support_fills with support_interface_fills.
...
When extruding supports, the support is interleaved with interface
if possible (when extruded with the same extruder).
Otherwise the base is extruded first.
2017-04-07 17:37:30 +02:00
bubnikv
483a658144
Method ExtrusionEntity::polygons_covered() and derived were split
...
into polygons_covered_by_width() and polygons_covered_by_spacing().
Bugfix of ExtrusionLoop::split_at(const Point &point),
where the split ExtrusionPaths were not initialised correctly.
2016-11-04 00:10:35 +01:00
bubnikv
7b6b609df1
ExtrusionEntity and derived classes: Documented, short methods made
...
inline for efficiency and readability, grow() renamed to polygons_covered().
2016-11-03 10:24:32 +01:00
Alessandro Ranellucci
4913e90e10
Remove any Perl related code from libslic3r
2015-12-08 00:39:54 +01:00
Alessandro Ranellucci
9a17efc480
Use GCodeWriter for path segments (refactoring)
2015-07-02 19:14:55 +02:00
Alessandro Ranellucci
b14290b9f6
Make tests happy
2015-07-02 14:29:20 +02:00
Alessandro Ranellucci
e0a3d2577c
Initial work for 3D rendering of toolpaths
2015-01-15 20:06:30 +01:00
Alessandro Ranellucci
e79aa2e81c
New --solid-infill-extruder option. Includes a refactoring of the strategy used to order layer extrusions according to their extruder and island; toolchanges and travel moves should be more optimized now. #618
2014-12-17 00:34:00 +01:00
Alessandro Ranellucci
6adc3477c9
Moved C++ code into new libslic3r directory
2014-08-03 19:42:29 +02:00
Alessandro Ranellucci
59f0e76da1
Distinct extrusion role for support material interface
2014-05-12 22:59:49 +02:00
Alessandro Ranellucci
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
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
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
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 #2000
2014-05-02 14:08:44 +02:00
Alessandro Ranellucci
98e40d3fe4
Store width and height in ExtrusionEntity objects for debugging purposes
2014-04-29 23:16:16 +02:00
Y. Sapir
04fad70cbf
Make C++ gcode generator use C++ Extruder object directly.
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
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
Y. Sapir
4deeff995a
Move extrusion path gcode generation to C++ for speed.
2014-04-01 21:11:43 +03: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
8ed738d3f7
More incomplete work for Flow/Extruder refactoring
2014-01-03 18:27:46 +01:00
Alessandro Ranellucci
518798beb3
Incomplete work for porting simplify() to XS
2013-11-21 20:25:24 +01:00
Alessandro Ranellucci
ac88fbcbb0
Ported clip_end(), length(), is_perimeter(), is_fill(), is_bridge() to XS
2013-11-21 18:03:40 +01:00
Alessandro Ranellucci
761f261a68
Ported intersect_expolygons() and subtract_expolygons() to XS
2013-11-21 17:53:50 +01:00
Alessandro Ranellucci
4dce461aaf
Minor optimizations
2013-09-13 15:19:15 +02:00
Alessandro Ranellucci
27e7c6b9f7
Finished implementation of TriangleMesh->split
2013-09-09 22:27:58 +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
c0789506e4
Return objects by reference instead of always cloning
2013-09-02 20:22:20 +02:00
Alessandro Ranellucci
dd70f6be2f
Return ExtrusionPath->polyline and ExtrusionLoop->polygon by reference
2013-08-31 00:50:03 +02:00
Alessandro Ranellucci
5d6fd7f4d9
Optimizations for better usage of XS code
2013-08-29 01:36:42 +02:00
Alessandro Ranellucci
9fb14f2119
Ported (and used) ExtrusionPath->first_point
2013-08-26 23:42:00 +02:00
Alessandro Ranellucci
9458c7db97
Fix integration of XS containers
2013-07-16 17:13:01 +02:00
Alessandro Ranellucci
9b582a11ff
Adopt XS containers everywhere (incomplete work)
2013-07-16 09:49:34 +02:00
Alessandro Ranellucci
ab6b3d41a7
XS interface completed, including new Line class
2013-07-15 22:57:22 +02:00
Alessandro Ranellucci
9af2a1c007
Use XS Point everywhere
2013-07-15 20:31:43 +02:00
Alessandro Ranellucci
d0701cdcd4
Implemented Slic3r::ExtrusionLoop
2013-07-15 16:21:09 +02:00
Alessandro Ranellucci
f612d4c64e
Ported ExtrusionPath to XS. Failing test for Surface
2013-07-15 12:14:22 +02:00