Commit Graph

322 Commits

Author SHA1 Message Date
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
Alessandro Ranellucci
0ff33f47f1 Fix the extruder override logic. All role-based extruder options now default to 0, meaning no override is defined and the default (inherited) extruder is used. The default extruder option does not use the shortcut logic anymore (it was thus moved to be a CLI-specific logic) 2014-03-26 00:08:15 +01:00
Alessandro Ranellucci
432a87e73d New option for forcing the generation of interface shells. #1847 2014-03-25 01:11:28 +01:00
Alessandro Ranellucci
91799a9e58 Rephrase the tooltip for start G-code to make its position more clear. #1822 2014-03-24 22:06:35 +01:00
Alessandro Ranellucci
9fa2a17136 Better tooltip for top_solid_infill_speed. #1752 2014-03-24 14:25:12 +01:00
Alessandro Ranellucci
4c6f9703df Fix bad deserialization of extruder_offset = 0x0 2014-03-24 14:16:37 +01:00
Alessandro Ranellucci
7a58457add Prevent GUI from crashing when invalid values were written in numeric fields. Includes basic validation. #1709 2014-03-24 01:07:30 +01:00
Alessandro Ranellucci
e9620c30b1 Update Clipper to 6.1.3a 2014-03-23 21:40:35 +01:00
Alessandro Ranellucci
d02b64b31b Bugfix: binary STL export produced corrupt results on Windows. #1814 2014-03-23 19:17:56 +01:00
Alessandro Ranellucci
9f8b5f80d1 Add 0% to fill_density combobox 2014-03-23 16:57:12 +01:00
Alessandro Ranellucci
d75417601e Make the override panel prettier and prevent the default extruder setting from being deleted since it can't be readded manually 2014-03-23 15:18:08 +01:00
Alessandro Ranellucci
21e6de0e59 Only expand shortcut options in StaticConfig objects. This way we can keep a default extruder value in the parts panel 2014-03-22 20:12:54 +01:00
Alessandro Ranellucci
b5b735c988 ComboBox for fill density values 2014-03-22 17:01:48 +01:00
Alessandro Ranellucci
7421a7bf63 Turn fill_density into percentage 2014-03-22 16:23:33 +01: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
52de292a48 Fixed wrong refactoring of perimeter tree traversal. #1832 2014-03-15 02:16:04 +01:00
Alessandro Ranellucci
b71d28bd5a Fix minor error and update MANIFEST 2014-03-11 19:19:34 +01: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
2a73ab988f Recursive pruning. Some more unit tests 2014-03-09 17:46:02 +01:00
Alessandro Ranellucci
33da6adc3c Better pruning 2014-03-08 11:36:48 +01:00