Commit Graph

341 Commits (60f640f1003d458a6fb642deed79410de0d82deb)

Author SHA1 Message Date
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 581376bf75 Rename EMC to LinuxCNC 2014-04-30 15:05:32 +02:00
Alessandro Ranellucci 98e40d3fe4 Store width and height in ExtrusionEntity objects for debugging purposes 2014-04-29 23:16:16 +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
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
Y. Sapir 87eee8eea3 Remove execute permissions for clipper source files. 2014-04-27 13:19:11 +03:00
Alessandro Ranellucci ce9cf4d964 Don't put supports under bridges and potential bridges 2014-04-26 17:19:50 +02:00
Alessandro Ranellucci 7e3024d6ad Explain that infill_every_layers can be set to arbitrarily large values in the tooltip 2014-04-25 20:29:37 +02:00
Alessandro Ranellucci 7ac0095018 Fix regression causing default extrusion width to be ignored. #1958 2014-04-25 19:39:27 +02:00
Alessandro Ranellucci 924cb2e558 Update MANIFEST. #1969 2014-04-25 19:14:03 +02:00
Alessandro Ranellucci 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
Alessandro Ranellucci 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
Alessandro Ranellucci 4f17c2b7d1 First working implementation of a GUI for cutting 2014-04-25 17:14:39 +02:00
Alessandro Ranellucci 334bc4c581 Fix cut() test 2014-04-25 13:27:45 +02:00
Alessandro Ranellucci 4f5d9ca795 Finished --cut implementation 2014-04-25 12:40:21 +02:00
Alessandro Ranellucci fe1691c151 New --cut feature 2014-04-25 10:20:30 +02:00
Alessandro Ranellucci 37c7b958d4 New ExPolygon::triangulate() method 2014-04-24 17:06:16 +02:00
Alessandro Ranellucci bb0ce3cccd New Polygon::triangulate_convex() method 2014-04-24 16:59:36 +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 6201aacf88 New coverage detection for bridges. Includes implementation of ExPolygon::get_trapezoids() 2014-04-24 13:44:39 +02:00
Alessandro Ranellucci 1fc76b73a4 Merge pull request #1953 from ledvinap/fix-clipper-1834
Apply bug fix from upstream clipper. Fixes #1834
2014-04-22 15:39:42 +02:00
Petr Ledvina c30040b691 Apply bug fix from upstream clipper
Clipper fix in commit [r463] for bug repport #92 (http://sourceforge.net/p/polyclipping/code/463/tree//trunk/cpp/clipper.cpp?diff=504b9404fd48f873331e913b:462)
is applied here.
2014-04-22 15:19:35 +02:00
Alessandro Ranellucci bc101bd93e Assume bridge angle is stored in radians in infill generation. #1917 2014-04-21 23:21:15 +02:00
Alessandro Ranellucci 7041ebdd22 Workaround for upstream module bug causing command line option parsing for multi-boolean options like retract-layer-change and wipe 2014-04-19 19:14:41 +02:00
Alessandro Ranellucci 8018eac0f0 Set min temperature to 0 2014-04-19 18:32:04 +02:00
Alessandro Ranellucci c3bb8a69db Bugfix: crash when extending an array option by 2+ positions. #1908 2014-04-19 16:38:28 +02:00
Alessandro Ranellucci f51921a11a Default extruder wasn't applied to perimeter extruder. Includes regression test. #1868 2014-04-19 11:43:41 +02:00
Alessandro Ranellucci 93a7d87fc6 Bugfix: pillars support material crashed when no overhangs were detected 2014-04-07 16:59:22 +02:00
Alessandro Ranellucci 1c020eda78 Merge pull request #1911 from sapir/speed
Rewriting the extrusion path gcode generation in C++
2014-04-07 09:38:21 +02:00
Alessandro Ranellucci d6d6a51e0d Fix for incomplete extrusion on solid surfaces 2014-04-05 10:54:24 +02:00
Alessandro Ranellucci b68c55fec0 Bugfix: the Y coordinate of Point config fields was not correctly validated and lead to a crash when entering non-numeric values. Includes regression test. #1906 2014-04-05 09:40:24 +02:00
Y. Sapir 4deeff995a Move extrusion path gcode generation to C++ for speed. 2014-04-01 21:11:43 +03:00
Alessandro Ranellucci bbebcca82c Set default support material pattern to pillars 2014-03-27 00:05:22 +01:00
Alessandro Ranellucci 071097d3f1 Fix extruder assignment and tests 2014-03-27 00:01:33 +01:00
Alessandro Ranellucci 4540350b66 Specify that extruder indices are 1-based in tooltips 2014-03-26 00:14:45 +01:00