Commit Graph

74 Commits

Author SHA1 Message Date
81823fe7df Reduced the content of Geometry.pm, removed unused Perl subroutines.
Reduced the use Slic3r::Geometry and use Slic3r::Geometry::Clipper
clauses to only reference used subroutines.
2017-07-19 10:45:39 +02:00
6582182e0c Adapted to the new ClipperUtils.hpp interface by @alexrj 2016-12-13 19:22:23 +01:00
695c92fb00 CLIPPER_OFFSET_SCALE was made a power of two, the scaling functions
inside ClipperUtils are now using bit shifts instead of multiplication
by doubles, which makes the scaling precise.

Removed the scale parameter from all offset functions.

Modified the safety offset to calculate offset per polygon instead
of over all polygons at once. The old way was not safe and very slow,
sometimes this meant a kiss of death for supports for example.
2016-11-28 17:33:17 +01:00
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
a93c862338 Ported traverse_pt() to XS 2013-11-23 23:21:59 +01:00
30297ee4dc Removed chained_path_items() 2013-11-23 21:47:33 +01:00
3025c77675 Use Clipper for line clipping 2013-11-21 14:15:38 +01:00
cb677c45de Don't grow horizontal shells having acute angles. #1387 2013-09-06 17:43:40 +02:00
fb763b0187 Removed dependency on Math::Clipper 2013-08-27 01:26:44 +02:00
9cf831b9c5 Ported union_pt() to XS 2013-08-26 18:37:19 +02:00
443d4e52cb Fixed everything in the XS port 2013-08-26 17:58:37 +02:00
94ca28644e Ported union() to XS 2013-08-17 12:24:04 +02:00
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
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
913f401280 Merge new-support2 2013-07-29 20:50:26 +02:00
e29aca3553 Reapply correct optimization for simplifiying fill_surfaces before performing the offset. #1325 2013-07-20 12:22:41 +02:00
0efea9e442 Ported diff() and intersection() 2013-07-17 01:21:30 +02:00
c7b6818ccf Ported offset() and offset2() 2013-07-17 00:48:29 +02:00
bf8c799685 Ported diff_ex, intersection_ex, union_ex, xor_ex 2013-07-17 00:29:09 +02:00
79db996696 Ported diff_ex() to XS 2013-07-16 20:29:15 +02:00
898007fc36 Port offset_ex() and offset2_ex() to XS 2013-07-16 20:09:53 +02:00
9458c7db97 Fix integration of XS containers 2013-07-16 17:13:01 +02:00
9b582a11ff Adopt XS containers everywhere (incomplete work) 2013-07-16 09:49:34 +02:00
ab6b3d41a7 XS interface completed, including new Line class 2013-07-15 22:57:22 +02:00
9af2a1c007 Use XS Point everywhere 2013-07-15 20:31:43 +02:00
fb7cea3cb9 Make plater work with XS data in single-thread environment 2013-07-11 19:13:43 +02:00
a1e4bda670 Have Clipper.pm only return ExPolygon::XS objects 2013-07-07 15:17:09 +02:00
8061cc6e30 Optimization in Polyline instantiation 2013-07-05 14:44:41 +02:00
c62b49d1af Optimization of extra perimeters detection 2013-05-31 14:30:07 +02:00
c43ef45064 Require the newest Math::Clipper and Boost::Geometry::Utils to avoid the huge memory leaks present in previous versions 2013-05-20 09:56:55 +02:00
ca549cd2fe Perimeters refactoring complete 2013-05-11 21:30:26 +02:00
67b24efd49 Incomplete work - still wrong order 2013-05-11 21:05:29 +02:00
6e216e2fd9 New traverse_pt() 2013-05-11 09:24:48 +02:00
7953dcfb12 Merge branch 'better-brim'
Conflicts:
	lib/Slic3r/Geometry/Clipper.pm
	lib/Slic3r/Print.pm
2013-05-11 09:19:23 +02:00
6b8894cf9a Rename ex_int_offset2 to offset2_ex 2013-05-10 13:56:29 +02:00
993fcd9182 Revert "Smarter ordering of brim loops. #687" until new Math::Clipper is out
This reverts commit 4aad2f6243.
2013-05-10 13:51:28 +02:00
5bf3f5f5e4 Make sure brim paths don't overlap 2013-05-10 13:47:40 +02:00
4aad2f6243 Smarter ordering of brim loops. #687 2013-05-09 14:52:56 +02:00
4e6c58f749 TYpo 2013-04-18 19:49:02 +02:00
01bd9040f5 Fix syntax for ex_int_offset2() 2013-04-18 17:46:13 +02:00
1187f4846d Some Clipper optimizations 2013-03-31 19:40:25 +02:00
4c41f6c462 Safer safety_offset() for ExPolygons 2013-03-26 13:57:37 +01:00
38b79c6bf7 Merge branch 'master' into grow-narrow 2013-03-16 20:09:11 +01:00
33b40eda18 Always fix self-intersecting polygons that Douglas-Peucker might return 2013-03-16 18:42:56 +01:00
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
9713b9f524 Fix narrow fills growing 2013-03-13 14:55:58 +01:00
0ddd6d9e55 Require Math::Clipper 1.17 2013-01-17 11:11:22 +01:00
68fc91d854 offset miter limit to 3 - 801 828 836 851 875 - spikes and pimples
Was set to 10 to address 801. Setting to 3 has the same effect for 801,
and avoids spike artifacts that are likely causing "spike and pimple"
problems in the referenced issues.
2013-01-13 02:50:49 -08:00
141a8d3989 Bugfix: some holes being closed incorrectly. #858 2012-12-30 17:57:30 +01:00
fc399d60e2 Raise the miter limit to avoid squaring corners too easily. #801 2012-11-20 17:43:20 +01:00