Commit Graph

61 Commits

Author SHA1 Message Date
Alessandro Ranellucci
b1ad466189 Ported Slic3r::ExPolygon::Collection to XS 2013-07-14 00:38:01 +02:00
Alessandro Ranellucci
87a5de193d ExPolygon::XS->rotate() 2013-07-11 18:55:51 +02:00
Alessandro Ranellucci
1506907212 More incomplete work to make the plater work with XS data 2013-07-11 16:48:44 +02:00
Alessandro Ranellucci
5409c27852 Partial GUI compatibility with XS data 2013-07-07 18:43:04 +02:00
Alessandro Ranellucci
8380ca812b One more arrayref conversion 2013-07-07 17:10:22 +02:00
Alessandro Ranellucci
a1e4bda670 Have Clipper.pm only return ExPolygon::XS objects 2013-07-07 15:17:09 +02:00
Alessandro Ranellucci
f7967414e0 Store layer slices and region slices as XS data to save memory and make them shared across threads 2013-07-07 12:54:20 +02:00
Alessandro Ranellucci
8d1069766b Workaround dclone() not being thread-safe 2013-07-06 12:14:49 +02:00
Alessandro Ranellucci
72f77a3420 Use dclone() in Polyline and ExPolygon too 2013-07-05 14:46:32 +02:00
Alessandro Ranellucci
8061cc6e30 Optimization in Polyline instantiation 2013-07-05 14:44:41 +02:00
Alessandro Ranellucci
4474595629 Removed useless code 2013-06-20 19:21:35 +02:00
Alessandro Ranellucci
b414c50b68 Optimization: use Boost.Geometry for point in polygon 2013-06-20 18:48:11 +02:00
Alessandro Ranellucci
ac4a0bcdd8 Refactoring: use Slic3r::Geometry::BoundingBox objects everywhere 2013-06-16 12:21:25 +02:00
Alessandro Ranellucci
510c2092df Fix rotation and scaling in plater producing mispositioned objects in G-code after recent changes. Includes a large refactoring and the new Slic3r::Geometry::BoundingBox class. #1171 #1191 2013-06-07 23:16:02 +02:00
Alessandro Ranellucci
bc9ff47d3f New module to output SVG vertical sections of extrusion paths with real width and height. The commit includes a bugfix to the Polyline->grow() method and some simplification in the Line class which is now child of Polyline 2013-04-27 15:02:13 +02:00
Alessandro Ranellucci
c46bfc71b4 Merge branch 'master' into boost-optimizations 2013-04-18 17:48:46 +02:00
Alessandro Ranellucci
430c825918 Align rectilinear and line infill across layers (new implementation). #712 2013-04-18 17:34:21 +02:00
Alessandro Ranellucci
bf809d1fd0 Use linestring_length() from Boost 2013-03-31 19:50:22 +02:00
Alessandro Ranellucci
04d2231901 Bugfix: is_printable() wasn't discarding narrow ring-shaped top/bottom surfaces because it was only considering the contour. This caused extra shell material even in hollow prints. #1049 2013-03-30 11:22:12 +01:00
Alessandro Ranellucci
4c41f6c462 Safer safety_offset() for ExPolygons 2013-03-26 13:57:37 +01:00
Alessandro Ranellucci
33b40eda18 Always fix self-intersecting polygons that Douglas-Peucker might return 2013-03-16 18:42:56 +01:00
Alessandro Ranellucci
dc0f706789 Bugfix: simplification of support areas could lead to complex polygons with bad orientation, thus causing wrong pattern clipping. #1032 2013-03-14 14:27:08 +01:00
Alessandro Ranellucci
a016a06fa6 Merge branch 'avoid-crossing-perimeters'
Conflicts:
	lib/Slic3r/GCode.pm
2013-01-28 10:43:58 +01:00
Alessandro Ranellucci
2963e54d21 Use the faster polygon_multi_linestring_intersection() 2013-01-28 00:32:19 +01:00
Alessandro Ranellucci
4c8c725eec Add a wkt() method to ExPolygon 2013-01-28 00:02:34 +01:00
Alessandro Ranellucci
48e00a4c40 Merge branch 'master' into avoid-crossing-perimeters
Conflicts:
	lib/Slic3r/GCode.pm
	lib/Slic3r/GUI/Plater.pm
	lib/Slic3r/Print.pm
	lib/Slic3r/SVG.pm
2013-01-12 19:00:18 +01:00
Alessandro Ranellucci
116ab446e3 Show vertical projection instead of convex hull for objects with <= 2000 facets. #780 2012-11-24 00:13:04 +01:00
Alessandro Ranellucci
20e73face2 Get rid of max_print_dimension in filler objects 2012-10-30 15:09:54 +01:00
Alessandro Ranellucci
b92642459f Merge branch 'master' into dynamic-flow
Conflicts:
	lib/Slic3r/Flow.pm
	lib/Slic3r/Layer.pm
2012-10-04 15:23:19 +02:00
Alessandro Ranellucci
1cedb00f20 Merge branch 'master' into dynamic-flow
Conflicts:
	lib/Slic3r/ExPolygon.pm
2012-09-12 16:05:06 +02:00
Alessandro Ranellucci
cc8d8bd26f Merge branch 'master' into avoid-crossing-perimeters
Conflicts:
	README.markdown
	lib/Slic3r/Config.pm
	lib/Slic3r/GCode.pm
	lib/Slic3r/Print.pm
	slic3r.pl
2012-09-12 16:04:16 +02:00
Alessandro Ranellucci
896641cb7e Fixed regression causing some bridges not to be detected correctly. #629 2012-08-25 20:04:29 +02:00
Alessandro Ranellucci
0aa224ffad Dynamic extrusion width for better gap filling 2012-08-25 14:23:46 +02:00
Alessandro Ranellucci
5281b101f9 Some infill paths were still disconnected, causing unnecessary retractions 2012-08-24 18:59:23 +02:00
Alessandro Ranellucci
c98e9515ed Better implementation of the external motion planner 2012-08-23 21:10:04 +02:00
Alessandro Ranellucci
27090f83bd Make the motionplanner work again after recent changes to approximation 2012-08-23 17:02:50 +02:00
Alessandro Ranellucci
0eadc5adba Manual rebase of the avoid_crossing_perimeters feature 2012-08-23 15:42:58 +02:00
Alessandro Ranellucci
7e34244b05 Refactored configuration handling.
Slic3r::Config is now an object. Multiple partial config objects are used throughout the codebase as local repositories, then merged and serialized when necessary.
2012-07-27 21:16:11 +02:00
Mark Hindess
840752194f Speed up encloses_point calls from medial_axis code.
The points shouldn't be on hole borders so we can make the check
much quicker.  Gives over 50% speed up slicing reprap shot glass
(thing:11944) with default settings and 0.3 layer height.
2012-06-26 23:11:46 +01:00
Alessandro Ranellucci
c0c53c4397 Fill gaps. #281 2012-06-07 15:31:51 +02:00
Alessandro Ranellucci
85ef7ce665 Bugfix: many thin walls were not detected correctly. #313 2012-06-06 21:27:39 +02:00
Alessandro Ranellucci
8ba6405cc9 Bugfix: some nearly-thin walls were discarded. #261 2012-05-05 17:07:38 +02:00
Alessandro Ranellucci
96d5e513b8 Rename $Slic3r::resolution to $Slic3r::scaling_factor 2012-04-16 14:05:38 +02:00
Alessandro Ranellucci
5bfe19a8b9 Huge speed Boost (pun intended). Also fixes a problem where infill was escaping perimeters sometimes (#305). 2012-04-09 11:04:32 +02:00
Alessandro Ranellucci
be9886eac3 Bugfix: fill escapes perimeters. #139 2012-03-04 11:26:11 +01:00
Alessandro Ranellucci
c98f6734c7 Code optimization 2012-02-25 22:18:07 +01:00
Alessandro Ranellucci
044053a3f7 Bugfix: medial axis was not using new Douglas-Peucker implementation 2012-02-25 16:27:33 +01:00
Alessandro Ranellucci
a24ffee2aa New polygon_is_convex() function 2012-02-25 16:14:59 +01:00
Alessandro Ranellucci
eba7c10018 Faster support generation. Includes a new implementation of the Douglas-Peucker algorithm 2012-02-25 14:46:21 +01:00
Alessandro Ranellucci
27a6b3a851 Bugfix: fatal error when medial axis produced poor results. #178 2012-02-19 17:11:18 +01:00