A Python port of the caryll-shapeops Javascript library to perform boolean operations and overlap removal on Bezier curves.
The shapeops.ufo module provides the same interface as the BooleanOperations package, with the four union, intersections, difference and xor operations, and support for the PointPen protocol.
TODO
import shapeops
shape1 = [[
{'x': 0, 'y': 0, 'on': True},
{'x': 100, 'y': 0, 'on': False},
{'x': 200, 'y': 100, 'on': False},
{'x': 200, 'y': 200, 'on': True},
{'x': 0, 'y': 0, 'on': True}
], ...]
shape2 = [...]
result = shapeops.boole(shapeops.ops.intersection, shape1, shape2)- Belleve Invis (@be5invis), the author of the original Javascript library.
- Mike Kamermans (@pomax), and his Bezier.js library (the
shapeops.bezierpackage is a Python port of the latter). - Frederik Berlaen (@typemytype), the author of BooleanOperations.
- Gregor Ratajc (@greginvm), maintainer of the Pyclipper bindings for Angus Johnson's Clipper library, which is used by
shapeopsto perform boolean operations on polygons.