Marius Kintel
fac2340989
More correct handling of empty geometry. Should fix a few crash bugs
2014-11-27 20:40:37 -05:00
Marius Kintel
4d6db2caa7
fixes crash when intersecting 3 or more 2d objects which results in an empty polygon
2014-11-27 15:27:09 -05:00
Oskar Linde
acd6cb1a4e
Bugfix: Work around Clipper's incorrect isHole status after offset()
2014-06-06 13:06:37 +02:00
Ben Gamari
3d21e84b44
clipper-utils: Fix signed-ness warning
2014-04-28 13:37:43 -04:00
Torsten Paul
49dc984bef
Add offset() module to inset/outset polygons using Clipper ( fixes #483 ).
2014-03-30 23:41:37 +02:00
Marius Kintel
c59fa49693
Merge pull request #611 from OskarLinde/minkowski2_bug
...
Minkowski2 bug
2014-02-01 18:48:54 -08:00
Oskar Linde
1942205585
toPolygon2D() now use Clipper's cleaning algorithm
...
The old polygon simplification algorithm in toPolygon2D() was broken.
It could create self-intersecting paths which made CGAL barf and
resulted in non-manifold meshes. It has been replaced with the one
built into Clipper. I am not sure Clipper's is guaranteed to be
correct either, but it at least seems to have fewer fail cases.
2014-02-01 20:53:10 +01:00
Oskar Linde
b10e9bc5c5
Fix a problem with the 2D Minkowski implementation
...
Polygons were clipped too soon, resulting in numerical robustness errors
which could create cracks in the resulting geometry. This patch corrects
the problem by postponing Clipper's union operation until the Minkowski
insides are filled. The result is also a net reduction of the number
of Clipper operations.
2014-02-01 16:18:04 +01:00
Marius Kintel
0600d80046
Moved special handling of intersection to ClipperUtils
2014-01-27 23:25:33 -05:00
Marius Kintel
faf1e2a3a5
bugfix: 2D minkowski was slightly broken; only one child and >2 children didn't work correctly
2014-01-19 12:27:11 -05:00
Marius Kintel
2edc0c214f
Use CLipperLib's PolyTree to identify negative contours
2014-01-09 02:06:36 -05:00
Marius Kintel
5f7d81c791
Extract clipper operations to ClipperLib::apply(), added sanitized flag to Polygon2d
2014-01-09 02:06:36 -05:00
Marius Kintel
1f0705f8a0
Sanitize input polygons for filename parameter to extrude modules
2014-01-09 02:06:35 -05:00
Marius Kintel
4a8de1e53a
Upgraded ClipperLib to 6.1.2 - fixes a projection crash
2014-01-09 02:06:35 -05:00
Marius Kintel
02cd792cb3
Implemented minkowski (2D and 3D)
2014-01-09 02:06:34 -05:00
Marius Kintel
2ca39595cd
This should fix Clipper-based non-cut projection
2014-01-09 02:06:34 -05:00
Marius Kintel
af59b1983c
Implemented non-cut projection using ClipperLib. Upgraded ClipperLib to V6
2014-01-09 02:06:33 -05:00
Marius Kintel
b04d0ccc52
bugfix: ClipperLib usage was not handling polygons with internal holes properly
2014-01-09 02:06:33 -05:00
Marius Kintel
b8c15cfb8a
Preliminary large refactoring: Created GeometryEvaluator as a replacement for PolySetEvaluator. Use ClipperLib for 2D CSG (first baby steps). This design is far from perfect but sacrifice design for staying in the green. This version is broken, but can render primitives.
2014-01-09 02:06:32 -05:00