Commit Graph

140 Commits (visilibity)

Author SHA1 Message Date
Alessandro Ranellucci 5fe5021fd7 Implemented avoid_crossing_perimeters with VisiLibity 2014-05-13 20:06:01 +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
Alessandro Ranellucci 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
Alessandro Ranellucci cb1527f7ef Refactoring: move direction math into a single function. Includes some fixes and adjustments 2014-05-02 18:48:11 +02:00
Alessandro Ranellucci 0a88492fdc Use a more robust parallelism detection 2014-05-02 13:26:59 +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 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 334bc4c581 Fix cut() test 2014-04-25 13:27:45 +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 6201aacf88 New coverage detection for bridges. Includes implementation of ExPolygon::get_trapezoids() 2014-04-24 13:44:39 +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 c3bb8a69db Bugfix: crash when extending an array option by 2+ positions. #1908 2014-04-19 16:38:28 +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
Alessandro Ranellucci 071097d3f1 Fix extruder assignment and tests 2014-03-27 00:01:33 +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 4c6f9703df Fix bad deserialization of extruder_offset = 0x0 2014-03-24 14:16:37 +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 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 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 eadffe4a9e Merge branch 'master' into boost-medialaxis
Conflicts:
	lib/Slic3r/Layer/Region.pm
	xs/src/ExPolygon.cpp
	xs/src/Point.cpp
	xs/src/Point.hpp
	xs/src/TriangleMesh.cpp
	xs/t/01_trianglemesh.t
2014-03-02 22:36:20 +01:00
Alessandro Ranellucci 3d483722c6 Perform additional checks before merging solid surfaces (i.e. take flow and fill pattern into account) 2014-02-10 13:19:44 +01:00
Alessandro Ranellucci 90194ee581 Fix overflow in Point::ccw() affecting convex hull generation. Includes regression test 2014-01-17 14:49:51 +01:00
Alessandro Ranellucci 0d7f0705f0 Fix overflow in distance_to(Line*). It was affecting Douglas-Peucker causing massive loss of geometry. Includes regression test and a couple wkt() implementations 2014-01-17 14:22:37 +01:00
Alessandro Ranellucci 86f91bb3c4 New TriangleMeshSlicer::cut() method 2014-01-16 11:25:26 +01:00
Alessandro Ranellucci 519ed91c68 Refactored mesh slicing code into a new TriangleMeshSlicer class 2014-01-15 20:31:38 +01:00
Alessandro Ranellucci b0a7baa454 Add a (failing) test for slicing at the same height of a horizontal surface attached to a volume. In this case, the loop isn't completed. #1672 2014-01-13 00:06:16 +01:00
Alessandro Ranellucci 15ef762e43 Fix failing XS test 2014-01-10 17:07:47 +01:00
Alessandro Ranellucci 170a7d24de Fix failing XS test 2014-01-10 17:07:18 +01:00
Alessandro Ranellucci bf91f3096a Incomplete work for using Boost.Polygon to compute medial axis 2014-01-09 17:26:39 +01:00
Alessandro Ranellucci b17d06f9d1 Finished porting BoundingBox to XS 2014-01-07 12:48:09 +01:00
Alessandro Ranellucci 9c0a6a79d3 Incomplete work for porting BoundingBox to XS 2014-01-06 18:29:10 +01:00
Alessandro Ranellucci 3e93a14912 New support material pattern: pillars! 2014-01-05 16:51:16 +01:00
Alessandro Ranellucci 036badf932 Ported Flow to XS 2014-01-05 13:16:13 +01:00
Alessandro Ranellucci 07b9b12475 Make tests pass 2014-01-05 00:36:33 +01:00
Alessandro Ranellucci 8ed738d3f7 More incomplete work for Flow/Extruder refactoring 2014-01-03 18:27:46 +01:00
Alessandro Ranellucci e2f1040a76 More work 2014-01-02 10:44:54 +01:00
Alessandro Ranellucci 83326845dd More incomplete work 2013-12-31 14:33:03 +01:00
Alessandro Ranellucci bd133d9434 Update Clipper to 6.1.2 2013-12-24 12:40:46 +01:00
Alessandro Ranellucci c5ead0f2a6 Fixes to Config and plater; also refactored the arrange() code 2013-12-24 00:30:51 +01:00
Alessandro Ranellucci 4515d90052 Finished porting Config and option definition to XS 2013-12-22 00:39:03 +01:00
Alessandro Ranellucci 9836e963a5 Incomplete work for adapting the application to the new XS-based Config 2013-12-21 21:06:45 +01:00
Alessandro Ranellucci e0c0a42a8b Expose static PrintConfig objects to Perl and test apply() 2013-12-21 16:32:11 +01:00
Alessandro Ranellucci 56d4da2ac7 Decoupled a generic Config implementation from the PrintConfig definitions 2013-12-21 16:15:41 +01:00
Alessandro Ranellucci 872e9bf810 Support for more array config types 2013-12-21 14:27:58 +01:00
Alessandro Ranellucci bb5bbe191f Support enum config options 2013-12-21 10:46:43 +01:00
Alessandro Ranellucci f274287b0e Support bool options in XS 2013-12-20 21:32:18 +01:00