Catalog npm
PACKAGE EXPLORERView in registry

2d-polygon-boolean

npm

perform boolean operations on arbitrary polygons in 2d

2dclippinggeometrymathpolygon
Versions collected2
Direct dependencies6From release 1.0.1
Last observed20 Oct, 19:10 UTC

README

Current package documentation

polygon.clip

Implementation of the Greiner-Kai "efficient clipping of arbitrary polygons" paper

install

npm install 2d-polygon-boolean

use

signature

var polygons = polygonBoolean(array1, array2, mode)

Where mode is the string and (intersect), or (union), not (cut)

polygons is an array of arrays of arrays

e.g

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

example


var polygonBoolean = require('2d-polygon-boolean');

var subject = [
  [0, 0],
  [100, 0],
  [100, 100],
  [0, 100]
];

var clip = [
  [90, 90],
  [110, 90],
  [110, 110],
  [90, 110],
  [90, 90]
];


var union = polygonBoolean(subject, clip, 'or');
console.log('union results', union);

/*
union results [ [ [ 100, 90 ],
    [ 100, 0 ],
    [ 0, 0 ],
    [ 0, 100 ],
    [ 90, 100 ],
    [ 90, 110 ],
    [ 110, 110 ],
    [ 110, 90 ] ] ]
*/

var cut = polygonBoolean(subject, clip, 'not');
console.log('cut results', cut);

/*
cut results [ [ [ 100, 90 ],
    [ 100, 0 ],
    [ 0, 0 ],
    [ 0, 100 ],
    [ 90, 100 ],
    [ 90, 90 ] ] ]
*/

var intersect = polygonBoolean(subject, clip, 'and');
console.log('intersect results', intersect);

/*
intersect results [ [ [ 100, 90 ], [ 100, 100 ], [ 90, 100 ], [ 90, 90 ] ] ]
*/

license

MIT

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 2

Collected releases
VersionPublishedDirect dependenciesOpen version
1.0.1Registry latest5 Jun 20156
1.0.018 Dec 20144

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
tmpvar/polygon.clip.js

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 19:10 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:b96b2375a053c4e2c1e932d6456c9b9ef26de2e4c43e31ba51d6bf5a2ccb7551