Commit Graph

39 Commits

Author SHA1 Message Date
adc9e749c4 Clipper should always throw clipperExceptions, not strings. 2018-02-12 16:34:39 +01:00
a6ea01a23f Moved some math macros (sqr, lerp, clamp) to libslic3r.h
Added UNUSED macro to libslic3r.h, used it to reduce some compile warnings.

Split the Int128 class from Clipper library to a separate file,
extended Int128 with intrinsic types wherever possible for performance,
added new geometric predicates.

Added a draft of new FillRectilinear3, which should reduce overfill near the perimeters in the future.
2017-07-27 10:39:43 +02:00
40a882d01e Experimental feature, which may make the Clipper offsets run faster
due to avoiding the 128bit multiply operations:
A filtered predicate is tried to calculate SlopesEqual()
to minimize the invocation of 128bit multiply operations.
2017-07-13 15:52:19 +02:00
bd9ee88e2f Fix of https://github.com/prusa3d/Slic3r/issues/214
Dent in perimeters around a hole

Clipper Offset has been extended to remove tiny edges before the offset.
This is important as the tiny edges pose difficulty
for normal calculation, leading to various adverse effects like
kinks and dents in the offsetted contour.
2017-04-04 11:17:25 +02:00
336f86c101 Fixed a newly introduced memory leak into the Clipper library,
made all Clipper interfaces non-virtual.
2017-03-08 20:27:03 +01:00
c23c0ee7d2 Fix of https://github.com/prusa3d/Slic3r/issues/172 ? 2017-03-06 15:03:31 +01:00
a9a20003c0 Clipper memory optimization: Own memory manager for OutPt objects.
Allocate OutPt by chunks of 32, reuse the released OutPt objects.
2017-03-03 23:06:51 +01:00
f24427cd76 Another Clipper optimization. When adding a set of paths
to Clipper, allocate the edges in a single continuous vector.
2017-03-03 21:40:40 +01:00
fa4df36963 Fix: Orientation() has been declared inline, therefore not exported. 2017-03-03 20:39:04 +01:00
5580fd64b3 Clipper library:
Added some comments,
some methods were made inline, tiny methods moved to the header as inline,
dynamic allocation replaced with std:: containers,
changed some loops to the condensed C++11 syntax.
2017-03-03 20:38:53 +01:00
fddd7c620f Some optimization of memory allocation, some reduction / inlining of short functions. 2017-03-03 20:38:40 +01:00
062a6628e5 Revert "Some optimization of memory allocation, some reduction / inlining of short functions."
This reverts commit bc19e97d45.
2017-03-02 20:44:53 +01:00
473624fcd7 Revert "Clipper library:"
This reverts commit 90a415ae10.
2017-03-02 20:44:43 +01:00
cd7134e6f6 Revert "Fix: Orientation() has been declared inline, therefore not exported."
This reverts commit c2ee73d211.
2017-03-02 20:44:28 +01:00
c2ee73d211 Fix: Orientation() has been declared inline, therefore not exported. 2017-03-02 17:34:53 +01:00
90a415ae10 Clipper library:
Added some comments,
some methods were made inline, tiny methods moved to the header as inline,
dynamic allocation replaced with std:: containers,
changed some loops to the condensed C++11 syntax.
2017-03-02 17:11:46 +01:00
bc19e97d45 Some optimization of memory allocation, some reduction / inlining of short functions. 2017-03-01 14:27:08 +01:00
e1d663c0ce Function arguments passed by reference 2015-11-04 20:49:20 +01:00
c6ef26a457 std::list::empty faster than std::list::size (for C++03) 2015-11-04 20:49:19 +01:00
eb7464ace6 Style fix: const for some functions 2015-11-04 20:49:19 +01:00
f2c4a66e45 Refactoring: prefix inc/dec operators for iterators 2015-11-04 20:49:19 +01:00
edbc11477c Update to Clipper 6.2.9. Fixes #2639 2015-02-22 15:13:52 +01:00
32b8eb489c Updated Clipper to 6.2.8. This fixes several minor issues, including infill paths not being trimmed correctly. #2448 2015-02-15 16:10:04 +01:00
b646b5c98a Revert "Updated Clipper to 6.2.7"
This reverts commit e6c022a61c.
2015-01-18 01:31:10 +01:00
e6c022a61c Updated Clipper to 6.2.7 2015-01-18 01:07:23 +01:00
a78be203aa Upgrade Clipper to 6.2.1 2014-11-08 12:05:27 +01:00
2ac40f9547 Revert "Update Clipper to r468. #2028"
This reverts commit 6a6439576b.
2014-05-26 20:00:59 +02:00
6a6439576b Update Clipper to r468. #2028 2014-05-26 17:21:31 +02:00
0decbbf910 Revert "Updated Clipper to r467 but it doesn't seem to fix #2028 yet"
This reverts commit a62457d6b5.
2014-05-25 23:27:26 +02:00
a62457d6b5 Updated Clipper to r467 but it doesn't seem to fix #2028 yet 2014-05-25 22:48:58 +02:00
70ceb853f1 Update Clipper to last trunk to fix a couple Clipper bugs causing empty intersection results and failure to process polylines with coinciding endpoints. This also caused crashed in some rare circumstances 2014-05-23 23:58:43 +02:00
87eee8eea3 Remove execute permissions for clipper source files. 2014-04-27 13:19:11 +03:00
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
e9620c30b1 Update Clipper to 6.1.3a 2014-03-23 21:40:35 +01:00
bd133d9434 Update Clipper to 6.1.2 2013-12-24 12:40:46 +01:00
50c0081d25 Update Clipper to 6.0.0 2013-11-20 11:35:58 +01:00
067cc1a74a Fix rounding error in clipper.cpp
This fixes half of #1486 (test failure in t/geometry.t)
2013-11-03 01:13:23 +01:00
b6005327d6 Downgrade Clipper to 5.1.5 2013-08-26 15:57:54 +02:00
898007fc36 Port offset_ex() and offset2_ex() to XS 2013-07-16 20:09:53 +02:00