Commit Graph

2672 Commits (028ef3a868e4ab67f8aae5c214d4736a3c899e30)

Author SHA1 Message Date
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 31113b8a78 Typo in 0a88492 2014-05-02 13:31:41 +02:00
Alessandro Ranellucci 0a88492fdc Use a more robust parallelism detection 2014-05-02 13:26:59 +02:00
Alessandro Ranellucci fce669dea0 Don't return empty halves after cutting 2014-05-02 13:13:47 +02:00
Alessandro Ranellucci fc3a73afe8 Make OpenGL::Array thread-safe, thus fixing the crash after the cut dialog is closed in threaded perl 2014-05-02 13:13:13 +02:00
Alessandro Ranellucci c81ffc391d Tentative fix for unreproduced compilation error reported 2014-05-02 11:51:07 +02:00
Alessandro Ranellucci 5f88135074 Adjust XY distance of the contact loop 2014-05-02 10:49:14 +02:00
Alessandro Ranellucci 2a3923934e Update timestamp before the Export G-code dialog is shown. #1995 2014-05-01 21:42:12 +02:00
Alessandro Ranellucci 4311f30739 Fixed one typo in BridgeDetector and some improvements to support material 2014-05-01 19:11:53 +02: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
Alessandro Ranellucci 60f640f100 Remove self-intersections before supplying polygon data to polyPartition and rename triangulate2() to triangulate_pp() 2014-05-01 10:37:38 +02:00
Alessandro Ranellucci 9734a40647 Fix Polygon::contains_point() overflowing on Windows. #1950 2014-04-30 16:55:20 +02:00
Alessandro Ranellucci 93c1ae92c9 Added failing test case for contains_point() not working on Windows. #1950 2014-04-30 16:44:25 +02:00
Alessandro Ranellucci 010b71e9d4 Improvements to avoid numerical issues in bridge detection and bridge exclusion 2014-04-30 15:16:15 +02:00
Alessandro Ranellucci 581376bf75 Rename EMC to LinuxCNC 2014-04-30 15:05:32 +02:00
Alessandro Ranellucci 4680bbdfe2 Make sure spiral vase mode is not enabled for multi-island layers. #1938 2014-04-30 12:23:07 +02:00
Alessandro Ranellucci 8ded268e7e Take into account that $layerm->perimeters also contains ExtrusionPath objects. #1991 2014-04-30 10:47:31 +02:00
Alessandro Ranellucci 1667d1826d Put continuous base flange under pillars support material 2014-04-30 01:51:19 +02:00
Alessandro Ranellucci 1d10cd3da6 Also remove bridged perimeters area from support material 2014-04-30 01:20:18 +02:00
Alessandro Ranellucci 3e3cc4171c TODO about bridges and support material 2014-04-29 23:40:52 +02:00
Alessandro Ranellucci ef2296dc8d Make sure interface and base generation honor the gap between support material and object 2014-04-29 23:29:52 +02:00
Alessandro Ranellucci ed1c6d1aaa Removed debugging line 2014-04-29 23:17:01 +02:00
Alessandro Ranellucci 98e40d3fe4 Store width and height in ExtrusionEntity objects for debugging purposes 2014-04-29 23:16:16 +02:00
Petr Ledvina 78a08e0665 Commented out test (breakpoint) line 2014-04-29 22:55:10 +02:00
Alessandro Ranellucci a31b2e6ca2 Stricter implementation of the overhang detection. Includes unit tests 2014-04-29 19:58:58 +02:00
Alessandro Ranellucci caf7b3f97e Prune bridge angles 2014-04-29 18:36:50 +02:00
Alessandro Ranellucci 7a9dec3720 One more change to multi-value placeholders: indices start from 0. #1899 2014-04-29 17:12:00 +02:00
Alessandro Ranellucci a4b6075600 Fixed regression and ambiguity about multiple-value placeholders like [first_layer_temperature_1]. Includes several unit tests covering regression. #1899 2014-04-29 17:06:31 +02:00
Alessandro Ranellucci 913ab54a2b Bugfix: gap fill was not inserted in the correct order before leaving island. Includes regression test. #1907 2014-04-29 15:25:14 +02:00
Alessandro Ranellucci 0b0ec7be37 Fixed regression causing bad loading of multi-extruder values in GUI. #1984 2014-04-28 22:31:29 +02:00
Alessandro Ranellucci f7421053cc Improvements to bridge angle detection: use coverage test for all cases (including two-sided bridges and C-shaped bridges) and check for all angles equal to directions of bridge sides 2014-04-28 22:15:40 +02:00
Alessandro Ranellucci 24571612c7 Some minor changes to the newly-ported Extruder class 2014-04-28 22:02:34 +02:00
Alessandro Ranellucci 4c330b6c59 Merge pull request #1968 from sapir/extrudercpp
Translate Extruder class to C++
2014-04-28 21:45:53 +02:00
Alessandro Ranellucci 19fdf9b184 Test triangulate2() instead of the faulty triangulate() 2014-04-28 20:19:26 +02:00
Alessandro Ranellucci 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
Alessandro Ranellucci d4e97d17d5 Use -O1 with GCC 4.7.0-4.7.2. #1965 2014-04-28 19:24:19 +02:00
Y. Sapir ad03a88733 Add xsp wrapper for Pointf class. 2014-04-28 01:13:50 +03:00
Y. Sapir e005ff32c4 Replace Extruder::config accessor with Perl wrapper, with C++ option accessors. 2014-04-28 00:49:05 +03:00
Y. Sapir 71b0b211ec Constify ConfigOptionVector::get_at. 2014-04-28 00:19:03 +03:00
Y. Sapir d824de6168 Keep pointer to PrintConfig instead of copying it. 2014-04-28 00:03:22 +03:00
Y. Sapir c2b249d059 Add REGISTER_CLASS call for Extruder class. 2014-04-27 23:53:28 +03:00
Y. Sapir 2565d80679 Replace multitude of Extruder fields with querying a PrintConfig object by id. 2014-04-27 23:43:44 +03:00
Y. Sapir b319dc9361 Correctly convert extruder_offset to Point object before passing to C++ code. 2014-04-27 23:43:43 +03:00
Y. Sapir 717d099ae1 Add XS Extruder files to manifest. 2014-04-27 23:43:43 +03:00
Y. Sapir 04fad70cbf Make C++ gcode generator use C++ Extruder object directly. 2014-04-27 23:43:43 +03:00
Y. Sapir 66d23a2416 Convert Extruder object (mostly) to C++ with lots of fields. 2014-04-27 23:42:59 +03:00
Alessandro Ranellucci 2738a304e8 Update credits. Mention Gary Hodgson, Petr Ledvinap, Y. Sapir 2014-04-27 20:04:02 +02:00
Alessandro Ranellucci 5296867a38 Merge pull request #1983 from ledvinap/feature-xs-types-final
Implement type checking for XS objects
2014-04-27 19:58:34 +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 e68b6b6f4c Merge pull request #1980 from sapir/output-dir-msg
Add dir --output msg to README, too.
2014-04-27 14:39:22 +02:00