Commit Graph

163 Commits

Author SHA1 Message Date
Alessandro Ranellucci
d6d6a51e0d Fix for incomplete extrusion on solid surfaces 2014-04-05 10:54:24 +02:00
Alessandro Ranellucci
b961849c38 Bugfix: crashing when concentric infill produced very narrow loops. #1740
Conflicts:

	lib/Slic3r/Fill/Concentric.pm
2014-02-10 16:05:40 +01:00
Alessandro Ranellucci
a51743a8c1 Bugfix: lack of strong type checking when passing arrayref objects to XS caused random lack of infill. Now added strong type checking for all XS entities. Also fixes a potential issue with bridges caused by the same error. #1652
Conflicts:

	lib/Slic3r/Layer/Region.pm
2014-01-12 00:54:10 +01:00
Alessandro Ranellucci
c99b9d91db Fix bug in regression infill causing bad clipping at very low layer heights. Includes regression test. #1669
Conflicts:

	lib/Slic3r/Fill/Rectilinear.pm
2014-01-11 21:34:26 +01:00
Alessandro Ranellucci
b17d06f9d1 Finished porting BoundingBox to XS 2014-01-07 12:48:09 +01:00
Alessandro Ranellucci
a2cbb261cb More work for refactoring Flow/Extruder 2014-01-03 20:02:00 +01:00
Alessandro Ranellucci
8ed738d3f7 More incomplete work for Flow/Extruder refactoring 2014-01-03 18:27:46 +01:00
Alessandro Ranellucci
1a690589a8 Satisfy test suite 2013-12-24 12:03:30 +01:00
Alessandro Ranellucci
1157a7f859 Remove package variable $Slic3r::Config 2013-12-24 11:29:31 +01:00
Alessandro Ranellucci
57fd6ad563 Removed dependency on ->object from Region.pm 2013-11-26 18:46:48 +01:00
Alessandro Ranellucci
a93c862338 Ported traverse_pt() to XS 2013-11-23 23:21:59 +01:00
Alessandro Ranellucci
3aef663f7f Removed clip_with_polygon() and clip_with_expolygon() 2013-11-21 18:16:03 +01:00
Alessandro Ranellucci
5f81292f3f Ported encloses_point() to XS and renamed to contains_point() 2013-11-21 16:21:42 +01:00
Alessandro Ranellucci
bd62de7653 Renamed encloses_line() to contains_line() and implemented it using diff_pl() 2013-11-21 14:35:28 +01:00
Alessandro Ranellucci
3025c77675 Use Clipper for line clipping 2013-11-21 14:15:38 +01:00
Alessandro Ranellucci
e6b59aef4e Fix planepath fill patterns for very small regions. #1463 2013-10-13 16:07:14 +02:00
Alessandro Ranellucci
ac5e713323 Fix segfault when calling chained_path() on an ExtrusionPathCollection using no_sort. Includes regression test 2013-09-28 15:30:10 +02:00
Alessandro Ranellucci
5f54d0eb90 Fix concentric infill and add regression test. #1432 2013-09-12 11:14:54 +02:00
Alessandro Ranellucci
67aefdccc7 Fixed --avoid-crossing-perimeters and --support-material after the xsdata merge 2013-09-04 00:10:53 +02:00
Alessandro Ranellucci
c0789506e4 Return objects by reference instead of always cloning 2013-09-02 20:22:20 +02:00
Alessandro Ranellucci
1cfdf7e955 Ported Slic3r::Polyline::Collection 2013-08-30 00:06:10 +02:00
Alessandro Ranellucci
5d6fd7f4d9 Optimizations for better usage of XS code 2013-08-29 01:36:42 +02:00
Alessandro Ranellucci
fb763b0187 Removed dependency on Math::Clipper 2013-08-27 01:26:44 +02:00
Alessandro Ranellucci
b11b595c97 Ported nearest_point() and nearest_point_index() 2013-08-27 00:52:20 +02:00
Alessandro Ranellucci
9cf831b9c5 Ported union_pt() to XS 2013-08-26 18:37:19 +02:00
Alessandro Ranellucci
fa07c512b4 Merge branch 'master' into xsdata
Conflicts:
	lib/Slic3r/Layer/Region.pm
	lib/Slic3r/Print.pm
	lib/Slic3r/Print/Object.pm
2013-08-16 09:09:56 +02:00
Alessandro Ranellucci
36596bf569 Bugfix: alignment code for rectilinear infill caused lack of infill (regression in 948b43f). #1387 2013-08-12 20:27:25 +02:00
Alessandro Ranellucci
b38cc2c244 Merge branch 'master' into xsdata
Conflicts:
	lib/Slic3r.pm
	lib/Slic3r/ExPolygon.pm
	lib/Slic3r/Fill.pm
	lib/Slic3r/Fill/Rectilinear.pm
	lib/Slic3r/GCode.pm
	lib/Slic3r/GUI/Plater.pm
	lib/Slic3r/Geometry/Clipper.pm
	lib/Slic3r/Layer/Region.pm
	lib/Slic3r/Print.pm
	lib/Slic3r/Print/Object.pm
	lib/Slic3r/TriangleMesh.pm
	t/shells.t
	xs/MANIFEST
2013-08-08 02:10:34 +02:00
Alessandro Ranellucci
80676f358a Keep edge lines in rectilinear infill even when the sides are not perfectly straight 2013-07-29 13:36:22 +02:00
Alessandro Ranellucci
948b43fe0d Don't try to align rectilinear infill if solid, otherwise there will be a gap at one side 2013-07-29 11:05:04 +02:00
Alessandro Ranellucci
c7b6818ccf Ported offset() and offset2() 2013-07-17 00:48:29 +02:00
Alessandro Ranellucci
898007fc36 Port offset_ex() and offset2_ex() to XS 2013-07-16 20:09:53 +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
f612d4c64e Ported ExtrusionPath to XS. Failing test for Surface 2013-07-15 12:14:22 +02:00
Alessandro Ranellucci
a1e4bda670 Have Clipper.pm only return ExPolygon::XS objects 2013-07-07 15:17:09 +02:00
Alessandro Ranellucci
8061cc6e30 Optimization in Polyline instantiation 2013-07-05 14:44:41 +02:00
Alessandro Ranellucci
cd1a39397b Optimize concentric loops 2013-06-23 00:50:44 +02:00
Alessandro Ranellucci
78f1527ab7 Compensate perimeter/infill overlap for concentric infill 2013-06-23 00:37:04 +02:00
Alessandro Ranellucci
45611d6742 Fix connection algorithm for rectilinear infill as sometimes it wasn't connecting segments correctly 2013-06-16 18:05:56 +02:00
Alessandro Ranellucci
32aafd2eb9 Temporary workaround until Boost::Geometry::Utils 0.14 is available 2013-06-16 15:11:39 +02:00
Alessandro Ranellucci
258842b845 New logic for connecting honeycomb loops 2013-06-16 13:31:10 +02:00
Alessandro Ranellucci
9ff85898b1 New logic for connecting honeycomb paths 2013-06-16 13:26:57 +02:00
Alessandro Ranellucci
961586fe8f Rewrite honeycomb infill so that it only generates the pattern for the bounding box of the region instead of the full print, so reduce complexity of the clipping routine 2013-06-16 13:13:52 +02:00
Alessandro Ranellucci
ac4a0bcdd8 Refactoring: use Slic3r::Geometry::BoundingBox objects everywhere 2013-06-16 12:21:25 +02:00
Alessandro Ranellucci
8d9d023dd7 Merge branch 'honeycomb-clipping' 2013-06-15 18:10:16 +02:00
Alessandro Ranellucci
627debf284 Scale bounding_box by sqrt(2) in honeycomb too to ensure it will cover the object even after rotation, like we already did for Rectilinear 2013-05-19 11:25:41 +02:00
Alessandro Ranellucci
08a0bbd7f0 Optimization: split meshes automatically when avoid_crossing_perimeters is enabled, so that we reduce the complexity of the MotionPlanner graphs. This commit includes a very large refactoring of the Model class which is now responsible for duplication and arrangement 2013-05-18 16:48:26 +02:00