poly-bool

Exact polygon boolean operations


Keywords
polygon, boolean, exact, robust, intersect, union, subtract, and, or, xor, csg
License
MIT
Install
npm install poly-bool@1.0.0

Documentation

poly-bool

A robust polygon Boolean library in under 20 lines of code! (Excluding dependencies) Work with any kind of polygon, results are accurate to machine precision, and under no circumstances will valid input ever crash or produce incorrect output.

Example

var polybool = require('poly-bool')

var a = [[[-1,-1], [-1,1], [1,1], [1,-1]]]
var b = [[[0, 0], [0,2], [2,2], [2,0]]]

console.log(polybool(a, b, 'sub'))

Output

[ [ [ 1, 1 ], [ 1, 0 ], [ 2, 0 ], [ 2, 2 ], [ 0, 2 ], [ 0, 1 ] ] ]

Install

npm i poly-bool

API

require('poly-bool')(a, b, op)

Computes a Boolean set operation between a and b

  • a,b are polygons represented by lists of loops of points
  • op is the operation to apply. Possible values include 'and', 'or', 'xor', 'sub', 'rsub'

Returns A polygon encoding some boolean combination of the components of a and b

License

(c) 2015 Mikola Lysenko. MIT License