{"_id":"greiner-hormann","_rev":"20-14de9e1eae81dced4d887c56f8a0ae09","name":"greiner-hormann","dist-tags":{"beta":"1.1.0","latest":"1.5.0"},"versions":{"1.1.0":{"name":"greiner-hormann","version":"1.1.0","keywords":["polygon","clipping","intersection","leaflet","greiner","hormann"],"author":{"name":"Alexander Milevski","email":"info@w8r.name"},"license":"MIT","_id":"greiner-hormann@1.1.0","maintainers":[{"name":"w8r","email":"info@w8r.name"}],"homepage":"https://github.com/w8r/GreinerHormann","bugs":{"url":"https://github.com/w8r/GreinerHormann/issues"},"dist":{"shasum":"318edd5eb02bd5a93bfd16d22e390a97ab07f6d3","tarball":"https://registry.npmjs.org/greiner-hormann/-/greiner-hormann-1.1.0.tgz","integrity":"sha512-wpxsm6SRUsWgnGZFwBH1Wje9dBCIMQDEq13wO3w7DJ9eAezIk9lJ8QHGfjcN9DvH3eZYut5cXOmMmpjujV5RKw==","signatures":[{"sig":"MEUCIHDYYYYEQISmkVpffVprd6NexTJP7z+ynZ4K0IMK1SaIAiEAp5M7vy4AP88q91Z1Y05VO54j0Vb3LdwK4KUtCnYEwzo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/greiner-hormann.js","_from":".","_shasum":"318edd5eb02bd5a93bfd16d22e390a97ab07f6d3","gitHead":"3911d53c38cd73c46b395be6231c29602a44a0b9","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"w8r","email":"info@w8r.name"},"repository":{"url":"https://github.com/w8r/GreinerHormann.git","type":"git"},"_npmVersion":"2.1.3","description":"Greiner-Hormann clipping algorithm","directories":{},"_nodeVersion":"0.10.31","devDependencies":{"grunt":"^0.4.5","leaflet":"^0.7.3","leaflet-draw":"^0.2.3","grunt-contrib-copy":"^0.5.0","grunt-contrib-less":"^0.11.4","grunt-contrib-watch":"^0.6.1","grunt-contrib-concat":"^0.5.0","grunt-contrib-connect":"^0.8.0"}},"1.2.0":{"name":"greiner-hormann","version":"1.2.0","keywords":["polygon","clipping","intersection","leaflet","greiner","hormann"],"author":{"name":"Alexander Milevski","email":"info@w8r.name"},"license":"MIT","_id":"greiner-hormann@1.2.0","maintainers":[{"name":"w8r","email":"info@w8r.name"}],"homepage":"https://github.com/w8r/GreinerHormann","bugs":{"url":"https://github.com/w8r/GreinerHormann/issues"},"dist":{"shasum":"862361c843c1ab8384be94955d2179f1355299c3","tarball":"https://registry.npmjs.org/greiner-hormann/-/greiner-hormann-1.2.0.tgz","integrity":"sha512-Fe1FZUaKKRPNEj+JW4UD150TVjKKshMhSOtN4LT/18pySGSFOlLhUdsAnFodAgEVheblRRLtk1p0L/PgRtiAhw==","signatures":[{"sig":"MEUCIDTNnNMVa8EzkLIhCQHjTSbC9Ymk2x9mgwPoDo7lB2nrAiEAt4m2/RfnBaPiq65ZDujTODz4VoQaHO5fRXdR/B9yh80=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/greiner-hormann.js","_from":".","_shasum":"862361c843c1ab8384be94955d2179f1355299c3","gitHead":"563d15415c03c3db80f8f2a38e62dc17981fc987","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"w8r","email":"info@w8r.name"},"repository":{"url":"https://github.com/w8r/GreinerHormann.git","type":"git"},"_npmVersion":"2.1.3","description":"Greiner-Hormann clipping algorithm","directories":{},"_nodeVersion":"0.10.31","devDependencies":{"grunt":"^0.4.5","leaflet":"^0.7.3","leaflet-draw":"^0.2.3","grunt-contrib-copy":"^0.5.0","grunt-contrib-less":"^0.11.4","grunt-contrib-watch":"^0.6.1","grunt-contrib-concat":"^0.5.0","grunt-contrib-connect":"^0.8.0"}},"1.3.0":{"name":"greiner-hormann","version":"1.3.0","keywords":["polygon","clipping","intersection","leaflet","greiner","hormann"],"author":{"name":"Alexander Milevski","email":"info@w8r.name"},"license":"MIT","_id":"greiner-hormann@1.3.0","maintainers":[{"name":"w8r","email":"info@w8r.name"}],"homepage":"https://github.com/w8r/GreinerHormann","bugs":{"url":"https://github.com/w8r/GreinerHormann/issues"},"dist":{"shasum":"9e6275bd50461e466eb4abd4364c0eee258b0c4f","tarball":"https://registry.npmjs.org/greiner-hormann/-/greiner-hormann-1.3.0.tgz","integrity":"sha512-QwMTl6YEU+sVwd6KnBYfT4ek4CWIULJYl6gcjnUOVF1oJDSTFfhCgQI2MUMhEaEmhqzAfgeq5gku/sLdJlk10A==","signatures":[{"sig":"MEYCIQDfOAhQmLHg1tnHVQsmZ8ajpJgN6bn5mOCkrX2HeXA68wIhAKpezztUDW114wzGjKKlMYEdo53lWdmZLIUIrOSJqySD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"src/greiner-hormann.js","_from":".","_shasum":"9e6275bd50461e466eb4abd4364c0eee258b0c4f","gitHead":"68205a30e3f0666072d1be10ede77c1c2dd23259","scripts":{"test":"node test/suite.js","start":"npm run watch & serve","watch":"watchify test/js/test.js -o test/js/bundle.js -dv"},"_npmUser":{"name":"w8r","email":"info@w8r.name"},"repository":{"url":"https://github.com/w8r/GreinerHormann.git","type":"git"},"_npmVersion":"2.1.3","description":"Greiner-Hormann clipping algorithm","directories":{},"_nodeVersion":"0.10.31","devDependencies":{"catw":"^0.2.0","serve":"^1.4.0","leaflet":"^0.7.3","watchify":"^2.1.1","leaflet-draw":"^0.2.3"}},"1.3.1":{"name":"greiner-hormann","version":"1.3.1","keywords":["polygon","clipping","intersection","leaflet","greiner","hormann"],"author":{"name":"Alexander Milevski","email":"info@w8r.name"},"license":"MIT","_id":"greiner-hormann@1.3.1","maintainers":[{"name":"w8r","email":"info@w8r.name"}],"homepage":"https://github.com/w8r/GreinerHormann","bugs":{"url":"https://github.com/w8r/GreinerHormann/issues"},"dist":{"shasum":"83574e7137eee782e3a78c2a1034be1b5143ba68","tarball":"https://registry.npmjs.org/greiner-hormann/-/greiner-hormann-1.3.1.tgz","integrity":"sha512-f3K/qu+HpGsPdpE1qquCitKjQayzGLzL1muWlbRaP8rF90puZ95ck2gynr51tcsAL5w+GYR6ppern4DOcFLU/A==","signatures":[{"sig":"MEYCIQDd0iAab35pJqOeBiAWbT7CEbyp61+/YBBPRM96W/b0vAIhAJN6U8kKdaFGbl2eQ6AchqI2QBQSi8hJhnDEjrUPb4uA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"src/greiner-hormann.js","_from":".","_shasum":"83574e7137eee782e3a78c2a1034be1b5143ba68","gitHead":"13329deba5aa9221cfcb5697653e2746cf74bc92","scripts":{"test":"node test/suite.js","start":"npm run watch & serve","watch":"watchify test/js/test.js -o test/js/bundle.js -dv"},"_npmUser":{"name":"w8r","email":"info@w8r.name"},"repository":{"url":"git+https://github.com/w8r/GreinerHormann.git","type":"git"},"_npmVersion":"3.10.3","description":"Greiner-Hormann clipping algorithm","directories":{},"_nodeVersion":"6.3.0","devDependencies":{"catw":"^0.2.0","serve":"^1.4.0","leaflet":"^0.7.3","watchify":"^2.1.1","leaflet-draw":"^0.2.3"},"_npmOperationalInternal":{"tmp":"tmp/greiner-hormann-1.3.1.tgz_1471869950777_0.9274994633160532","host":"packages-16-east.internal.npmjs.com"}},"1.3.2":{"name":"greiner-hormann","version":"1.3.2","keywords":["polygon","clipping","intersection","leaflet","greiner","hormann"],"author":{"name":"Alexander Milevski","email":"info@w8r.name"},"license":"MIT","_id":"greiner-hormann@1.3.2","maintainers":[{"name":"w8r","email":"info@w8r.name"}],"homepage":"https://github.com/w8r/GreinerHormann","bugs":{"url":"https://github.com/w8r/GreinerHormann/issues"},"dist":{"shasum":"b2d1ec6692fe64f0dbe06ebce0b8969b564d2915","tarball":"https://registry.npmjs.org/greiner-hormann/-/greiner-hormann-1.3.2.tgz","integrity":"sha512-CfStk8xntwIrlAIkqmBf8pKZbNdvucLJz5EmxzAtUOUgEj24Sn5ipXVs5/YIOPz/OQllIkYyvBR/OffIeWLB0Q==","signatures":[{"sig":"MEQCICZC6zFMsDp7gIOqlQFfBIbYxy/eb19TBlOdmXY/E/x1AiBvFM5+XgYJwSaome5I4qo26SBe45h6XK1G65YpNvtv2w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"src/greiner-hormann.js","gitHead":"e538be9e884f802b426d3b88dcf4b93c90fe5dfa","scripts":{"test":"node test/suite.js","start":"npm run watch & serve","watch":"watchify test/js/test.js -o test/js/bundle.js -dv"},"_npmUser":{"name":"w8r","email":"info@w8r.name"},"repository":{"url":"git+https://github.com/w8r/GreinerHormann.git","type":"git"},"_npmVersion":"5.3.0","description":"Greiner-Hormann clipping algorithm","directories":{},"_nodeVersion":"8.0.0","devDependencies":{"catw":"^1.0.1","serve":"^6.0.6","leaflet":"^0.7.3","watchify":"^3.9.0","leaflet-draw":"^0.2.3"},"_npmOperationalInternal":{"tmp":"tmp/greiner-hormann-1.3.2.tgz_1502701159621_0.011923427926376462","host":"s3://npm-registry-packages"}},"1.3.3":{"name":"greiner-hormann","version":"1.3.3","keywords":["polygon","clipping","intersection","leaflet","greiner","hormann"],"author":{"name":"Alexander Milevski","email":"info@w8r.name"},"license":"MIT","_id":"greiner-hormann@1.3.3","maintainers":[{"name":"w8r","email":"info@w8r.name"}],"homepage":"https://github.com/w8r/GreinerHormann","bugs":{"url":"https://github.com/w8r/GreinerHormann/issues"},"dist":{"shasum":"b11cb05814e40b3d13f601a588543b203e50b851","tarball":"https://registry.npmjs.org/greiner-hormann/-/greiner-hormann-1.3.3.tgz","integrity":"sha512-D563bh5gen1tHEkbqaPQj1AK4U4Kj+YmGUkAMHXjZctl2fv452iUaTO2ctO6/IQP33ZFOezGcXdIPm+d+Svx1Q==","signatures":[{"sig":"MEUCIEj3ii8LhqkjbX5JrM5xWGsw39qVT1fbxfQDHuXd82jrAiEA9ZkQajcxMXpKovDYh0hQ/rbVLGuXtmxW1H90xwT3HSI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"src/greiner-hormann.js","gitHead":"bf90be60e9091f5164171e32d57e18ad5dcba8ec","scripts":{"test":"node test/suite.js","start":"npm run watch & serve","watch":"watchify test/js/test.js -o test/js/bundle.js -dv"},"_npmUser":{"name":"w8r","email":"info@w8r.name"},"repository":{"url":"git+https://github.com/w8r/GreinerHormann.git","type":"git"},"_npmVersion":"5.3.0","description":"Greiner-Hormann clipping algorithm","directories":{},"_nodeVersion":"8.0.0","devDependencies":{"catw":"^1.0.1","serve":"^6.0.6","leaflet":"^0.7.3","watchify":"^3.9.0","leaflet-draw":"^0.2.3"},"_npmOperationalInternal":{"tmp":"tmp/greiner-hormann-1.3.3.tgz_1506084868300_0.5504134704824537","host":"s3://npm-registry-packages"}},"1.3.4":{"name":"greiner-hormann","version":"1.3.4","keywords":["polygon","clipping","intersection","leaflet","greiner","hormann"],"author":{"name":"Alexander Milevski","email":"info@w8r.name"},"license":"MIT","_id":"greiner-hormann@1.3.4","maintainers":[{"name":"w8r","email":"info@w8r.name"}],"homepage":"https://github.com/w8r/GreinerHormann","bugs":{"url":"https://github.com/w8r/GreinerHormann/issues"},"dist":{"shasum":"b7e8fcc02211fe44c76cac4720ca96eac9dfe1fd","tarball":"https://registry.npmjs.org/greiner-hormann/-/greiner-hormann-1.3.4.tgz","integrity":"sha512-gTWJi/FhaxLy4uGo0qx29vCGcABIhIK4RbysWGtc6HwHfy+ozCaQKQs82G32pXStFJEF1AHl+EIBDkbKq6673A==","signatures":[{"sig":"MEUCIQCPh9T8VohLSzOYrFiFl12oe5ooiexgBxScSpxxa6hKBgIgPDiQ8z3y9xWvCHas2d/84qjpkTg/14okMy15wffir2g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"src/greiner-hormann.js","gitHead":"c179f843c1e1dc9c1fc8287aea2ed260b07649fb","scripts":{"test":"node test/suite.js","start":"npm run watch & serve","watch":"watchify test/js/test.js -o test/js/bundle.js -dv"},"_npmUser":{"name":"w8r","email":"info@w8r.name"},"repository":{"url":"git+https://github.com/w8r/GreinerHormann.git","type":"git"},"_npmVersion":"5.3.0","description":"Greiner-Hormann clipping algorithm","directories":{},"_nodeVersion":"8.0.0","devDependencies":{"catw":"^1.0.1","serve":"^6.0.6","leaflet":"^0.7.3","watchify":"^3.9.0","leaflet-draw":"^0.2.3"},"_npmOperationalInternal":{"tmp":"tmp/greiner-hormann-1.3.4.tgz_1506085748847_0.48568829614669085","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"greiner-hormann","version":"1.4.0","keywords":["polygon","clipping","intersection","leaflet","greiner","hormann"],"author":{"name":"Alexander Milevski","email":"info@w8r.name"},"license":"MIT","_id":"greiner-hormann@1.4.0","maintainers":[{"name":"w8r","email":"info@w8r.name"}],"homepage":"https://github.com/w8r/GreinerHormann","bugs":{"url":"https://github.com/w8r/GreinerHormann/issues"},"dist":{"shasum":"c83305b6a5dd07e6a85f139a6a1ebbc2042d42e8","tarball":"https://registry.npmjs.org/greiner-hormann/-/greiner-hormann-1.4.0.tgz","fileCount":28,"integrity":"sha512-CJtmzZD6hc+I+gntJ/+SxA5iHBultuo22itBT+SE3vKmDff/o5DPgreB2skmondHbAQIsnjV7qqYs06vTh0Hdg==","signatures":[{"sig":"MEYCIQCngp0PmJqCu6NV0x0A/YrLdfN+Rc83/HjrXozX3edDZgIhAJ8JJHFFKIvu2ex/sl0h1zzUhaK4dfDMReYmOytgJ05w","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":188032,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbjwnMCRA9TVsSAnZWagAAjEIP/2uDKYKxGLjSBBccRi5c\n2hSb8ofpN0aBiXBPMXChGpXeYPJFIlqyoP3eVKUlGPCHyy1nVsicE1nwKE7C\nWgxbG6kVpMC9HBuPdPkHGksKxAkm9P5RjILHDG/nn9uQ5E7aHaA3gQFNDlDk\nN/UI0v2g+c9RWYJQgEejVh4PM+9tjfPMHmcJIWZ/qu2VaDyHfR1xItOjNkJe\n6Zb3uommSAAxocl2BSoGryvNPJR0S5p9j9MfOGMs8otRLNQrf1PNWog9/XQl\nXRVIgZOh1t5TZ5ewiZhjK5HZdjUdQlCiql9ICnHupI9JsvYlBGo5puJj4WDm\ncirYN3zW7RLuxzKfGt/HBJ1zUOOApq+xPA29ygR9/RgW+2FS6OCcPb5qNSxV\ntpcD+RNd8cYsi7lqrDmXp7dD20V1PUrwEqueihNxOlC2IKuPz/1Jlvwxbw4k\nCwnN+KDF1z7HEXgxgAd+hx1lOYm7dJnm6hjlxPUWfdMDjOhr5fTFQ8+O4mZr\n9LigCRbML2GKxYTBbsIOUuMcGOq+z7nxLz4459oLyPQJmYjvzN1FUi3/JJY+\nPbW5ZUY+lwi6+vlOQ1vszQ2pPgE0Adcpx50Gs23nVLv6TAS4T7XZMrPAMPz1\nIn+JG0141MFBbe4jSwwhaDtgleRpR3i3RinZ/5Xfn/mY4O4cEgDtI5tK75bS\n/4+x\r\n=mGXo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/greiner-hormann.js","gitHead":"de898fa14da6d9fcab25d358aa1a6f2069e5c288","scripts":{"test":"node -r reify test/suite.js","build":"rollup -c","start":"npm run watch & serve","watch":"rollup -cw"},"_npmUser":{"name":"w8r","email":"info@w8r.name"},"repository":{"url":"git+https://github.com/w8r/GreinerHormann.git","type":"git"},"_npmVersion":"5.6.0","description":"Greiner-Hormann clipping algorithm","directories":{},"_nodeVersion":"8.11.4","_hasShrinkwrap":false,"devDependencies":{"catw":"^1.0.1","reify":"^0.17.3","serve":"^10.0.0","rollup":"^0.65.0","leaflet":"^0.7.3","leaflet-draw":"^0.2.3","rollup-plugin-buble":"^0.19.2","rollup-plugin-terser":"^2.0.2","rollup-plugin-commonjs":"^9.1.6","rollup-plugin-node-resolve":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/greiner-hormann_1.4.0_1536100811839_0.7027405194647307","host":"s3://npm-registry-packages"}},"1.4.1":{"name":"greiner-hormann","version":"1.4.1","keywords":["polygon","clipping","intersection","leaflet","greiner","hormann"],"author":{"name":"Alexander Milevski","email":"info@w8r.name"},"license":"MIT","_id":"greiner-hormann@1.4.1","maintainers":[{"name":"w8r","email":"info@w8r.name"}],"homepage":"https://github.com/w8r/GreinerHormann","bugs":{"url":"https://github.com/w8r/GreinerHormann/issues"},"dist":{"shasum":"0c2e52e98657f6ee345072134fc4119be53bf491","tarball":"https://registry.npmjs.org/greiner-hormann/-/greiner-hormann-1.4.1.tgz","fileCount":28,"integrity":"sha512-TN0p6knjYqaMs/llEjatU7ymo6olRztVFYFrqNx/3M3N0t+doUTaADKJFC/gKGwhtgKrrw8dP6c5ZXhw5k428g==","signatures":[{"sig":"MEUCIDvKlBBrfC9E7vrSmBmT7XYx2JGEtGTOQYb+GZ6B9hzwAiEAvC22aOUxMPmiBbI3g5h6ec+MONUIH67SqKhSQXZ0JH4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":188033,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbjw6YCRA9TVsSAnZWagAAQcUP/i7K6kjmYsM7npoQoqdm\n79OEWzmYF6VfgtN9nm28F0kCJVvSVjuvqNtge6mFAPMDzZYc/9w4l8C7bxDV\njd1w6aFPRSYsKu6UStwtmoJrbhR7yle3E1L06Q7blGj9K1V7ll5/NgHpBkCx\nUTV+kmG0IqoCkNTmFYvhVujjyIlVjQoKnbJ5MIIB+B8q8I5q3EFDo/ZuTpsl\nTVcgbeAyEZsMYRwLlz8yw30bWhXBGuwp2vP2x4pbLQz/+l+sSJHHjpHt/1/W\na399xJMZfMvqfQInvs8/FhASbspAt6vOvmsqekUKyhYzudnPAkiU5QU9q3iD\n9kjCquGnVb0s/nmo2i9doYyGSL1TtVbqOUC74chn9GlUlZBdPIzb7HqfKtG1\nvnCMwHLEaFeVUJxeSskuYEffVpW+IZGgKiYog7ruXuQAVHu/xw/V1ORjRcJp\nK3uSaFA0BQ8e6L3e9tovjf4YKoxMunzUEchWkUIjGTx2ZpXktnyMa8CbTuzB\nP/TrYdGEeNurffgHA4J/4aDF4/Sezl7JJn1alACAvy1DjV4X73VyY1hSmzGO\nzP44SjOf9BOl5n2dcABv8bslGW5BYLf6KW6S3heiPoRi2kpSE2jHyWRzjZoj\nGEw7weeWYm4unzHCqB9S+P3NpbEZX4reqAkiHxDEs6a1SGVH8I8a4/MitcVN\nrCWL\r\n=uAyI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/greiner-hormann.js","gitHead":"482ad429d8a0a24909f923a74047bcc329c3a61d","scripts":{"test":"node -r reify test/suite.js","build":"rollup -c","start":"npm run watch & serve","watch":"rollup -cw"},"_npmUser":{"name":"w8r","email":"info@w8r.name"},"repository":{"url":"git+https://github.com/w8r/GreinerHormann.git","type":"git"},"_npmVersion":"5.6.0","description":"Greiner-Hormann clipping algorithm","directories":{},"_nodeVersion":"8.11.4","_hasShrinkwrap":false,"devDependencies":{"catw":"^1.0.1","reify":"^0.17.3","serve":"^10.0.0","rollup":"^0.65.0","leaflet":"^0.7.3","leaflet-draw":"^0.2.3","rollup-plugin-buble":"^0.19.2","rollup-plugin-terser":"^2.0.2","rollup-plugin-commonjs":"^9.1.6","rollup-plugin-node-resolve":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/greiner-hormann_1.4.1_1536102039412_0.7808861739120831","host":"s3://npm-registry-packages"}},"1.4.2":{"name":"greiner-hormann","version":"1.4.2","keywords":["polygon","clipping","intersection","leaflet","greiner","hormann"],"author":{"name":"Alexander Milevski","email":"info@w8r.name"},"license":"MIT","_id":"greiner-hormann@1.4.2","maintainers":[{"name":"w8r","email":"info@w8r.name"}],"homepage":"https://github.com/w8r/GreinerHormann","bugs":{"url":"https://github.com/w8r/GreinerHormann/issues"},"dist":{"shasum":"12486ff68700994609fe8eb5df5561e93a787520","tarball":"https://registry.npmjs.org/greiner-hormann/-/greiner-hormann-1.4.2.tgz","fileCount":30,"integrity":"sha512-5O8TM9kVj7NjLfhLjYeaCWQzsVZfTgDrKL2+S82eqIXELIKQDAmZaiT6uCCql1ZcbHUw+L+hYhObRwTmxkgudg==","signatures":[{"sig":"MEQCIDllMGs27rZF4BC/6k3XYClam3SY2bZtm9GEo/PnF6TFAiAp8EzKrJ4RLGBHPeIXuAXwDM4UOxpHHw+TKbFvVTRhLQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":189147,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgt1hWCRA9TVsSAnZWagAAzGsP/3i72JWh0PLZFOBkvKjr\nJ5K1ykxSwQklfx9ct/I16Z5c9HnORHfhRFGJVT6Grb2v1toEIoPCAXebEItk\n4um/WC3sb8pmzqM1WGwJvLPDkykXQQhi1kVjjip6426zrdWuZ4OQ2MVbZLFy\n5ONkvbRnSbfWFFr37iLfRh5Ns9+ul2izzqxaBGInJ9jBXeCwn9vdbK9zMnNS\nJB+3i/XolO5zptfqy6zbz3nbnmATFhMfdrv+Jq1YOMIXTgcLLETv5ObWFufP\nW3pKMBZ9g+Lwq1Ur+u3DIdbtyHyiZNHHmwITXVQbO1gOtLtsJEF6Xg5bYxdX\nVukb1846b8CL5BzwNXnqiWp8O7yDkGNW80ZkvkD0OYsbSyczyx4XHICgVX4Q\n3F40dHwoKNSuAls5/VOiLzkBiyRbkDiF6Wj/q/CijlzV9WCZlwK8FHmhPjJx\n5lSIvXa02s5umGpfTJiPYGhyCsxAk6nfrAAirFMLHWh19pgIPc2b5EumGMtM\njAJ6saTH13dnDWxdWCZ2DRtH8j3iBFc6CRiHyt3Qh+n6vXhD0y1SEHEP6RWl\nTglAuHO7qy151Cdm0/nMpEVSw170OPrPEoW5gSQ6hScVSde+J8v7dlwTrDy2\nMF3kqfaixeZSpB9/9qFLETUcBM6GPjaWrIDSep/SEQv/EW70xdxEuL9S5neO\n7tcO\r\n=U4QJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/greiner-hormann.js","gitHead":"03aaf10c7a14a395056938dc735fe2bac3daad1c","scripts":{"test":"node -r reify test/suite.js","build":"rollup -c","start":"npm run watch & serve","watch":"rollup -cw"},"_npmUser":{"name":"w8r","email":"info@w8r.name"},"repository":{"url":"git+https://github.com/w8r/GreinerHormann.git","type":"git"},"_npmVersion":"6.14.12","description":"Greiner-Hormann clipping algorithm","directories":{},"_nodeVersion":"12.22.1","_hasShrinkwrap":false,"devDependencies":{"reify":"^0.17.3","serve":"^11.3.2","rollup":"^0.65.0","leaflet":"^0.7.3","leaflet-draw":"^0.2.3","rollup-plugin-buble":"^0.19.2","rollup-plugin-terser":"^2.0.2","rollup-plugin-commonjs":"^9.1.6","rollup-plugin-node-resolve":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/greiner-hormann_1.4.2_1622628437955_0.9746263989626642","host":"s3://npm-registry-packages"}},"1.5.0":{"name":"greiner-hormann","version":"1.5.0","description":"Greiner-Hormann clipping algorithm","main":"dist/index.umd.js","module":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.js"},"./leaflet":{"types":"./dist/leaflet.d.ts","import":"./dist/leaflet.js","require":"./dist/leaflet.umd.js"}},"scripts":{"build":"vite build && vite build --config vite.config.leaflet.ts && tsc --emitDeclarationOnly","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit","deploy":"gh-pages -d demo"},"repository":{"type":"git","url":"git+https://github.com/w8r/GreinerHormann.git"},"keywords":["polygon","clipping","intersection","leaflet","greiner","hormann"],"author":{"name":"Alexander Milevski","email":"info@w8r.name"},"license":"MIT","bugs":{"url":"https://github.com/w8r/GreinerHormann/issues"},"homepage":"https://github.com/w8r/GreinerHormann","devDependencies":{"@types/node":"^25.0.9","gh-pages":"^6.3.0","leaflet":"^0.7.3","leaflet-draw":"^0.2.3","typescript":"^5.9.3","vite":"^7.3.1","vitest":"^4.0.17"},"gitHead":"acd7318b96fcbbe7efd04f42432a214887ac9bb3","_id":"greiner-hormann@1.5.0","_nodeVersion":"20.19.6","_npmVersion":"11.7.0","dist":{"integrity":"sha512-rwyQOZd+JW/Vd5axkV6xrgKtKbEFcVdkhbIdAH9RDgnVNFgNdB9XhF2eCL8JuBX88fvt9FKLT2JR+dFr+LXvBQ==","shasum":"4d787a78634fb3b775756c5da76499a903d28a1d","tarball":"https://registry.npmjs.org/greiner-hormann/-/greiner-hormann-1.5.0.tgz","fileCount":25,"unpackedSize":127347,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/greiner-hormann@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEIcaCLTHNebtPTnA0oW9V/P8Tlys1o87U6cunohDSWiAiBZTJCRqhVlgk5KcvAKO9pkAyCA/iGf8k77VRMa9h78oQ=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c1c6bd0f-2c16-4bb8-90c5-e7abdd2aa5e7"}},"directories":{},"maintainers":[{"name":"w8r","email":"info@w8r.name"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/greiner-hormann_1.5.0_1768842917414_0.38060423367350715"},"_hasShrinkwrap":false}},"time":{"created":"2014-10-29T13:08:34.160Z","modified":"2026-01-19T17:15:17.818Z","1.1.0":"2014-10-29T13:08:34.160Z","1.2.0":"2014-11-12T14:03:22.625Z","1.3.0":"2014-11-13T23:46:27.373Z","1.3.1":"2016-08-22T12:45:52.457Z","1.3.2":"2017-08-14T08:59:20.551Z","1.3.3":"2017-09-22T12:54:29.648Z","1.3.4":"2017-09-22T13:09:09.801Z","1.4.0":"2018-09-04T22:40:11.995Z","1.4.1":"2018-09-04T23:00:39.582Z","1.4.2":"2021-06-02T10:07:18.070Z","1.5.0":"2026-01-19T17:15:17.540Z"},"bugs":{"url":"https://github.com/w8r/GreinerHormann/issues"},"author":{"name":"Alexander Milevski","email":"info@w8r.name"},"license":"MIT","homepage":"https://github.com/w8r/GreinerHormann","keywords":["polygon","clipping","intersection","leaflet","greiner","hormann"],"repository":{"type":"git","url":"git+https://github.com/w8r/GreinerHormann.git"},"description":"Greiner-Hormann clipping algorithm","maintainers":[{"name":"w8r","email":"info@w8r.name"}],"readme":"[![License](http://img.shields.io/badge/license-MIT-brightgreen.svg)](http://opensource.org/licenses/MIT)\n\n# Greiner-Hormann polygon clipping\n\n * Does AND, OR, difference (intersection, union, difference, if you're human)\n * Plays nicely with [Leaflet](http://github.com/leaflet/leaflet/), comes with an adaptor for it\n * Handles non-convex polygons and multiple clipping areas\n * ~4kb compressed, no dependencies\n * Written in TypeScript with full type definitions\n\n[Demo and documentation](http://w8r.github.io/GreinerHormann/)\n\n**Note:** If you are looking for something more powerful, take a look at the [Martinez polygon clipping](https://github.com/w8r/martinez) implementation.\n\n## Install\n\n```bash\nnpm install greiner-hormann\n```\n\n## Usage\n\n### ES Modules (Recommended)\n\n```typescript\nimport { intersection, union, diff } from 'greiner-hormann';\n\nconst polygon1 = [\n  [0, 0],\n  [100, 0],\n  [100, 100],\n  [0, 100],\n  [0, 0]\n];\n\nconst polygon2 = [\n  [50, 50],\n  [150, 50],\n  [150, 150],\n  [50, 150],\n  [50, 50]\n];\n\n// Calculate intersection\nconst result = intersection(polygon1, polygon2);\n\n// Calculate union\nconst combined = union(polygon1, polygon2);\n\n// Calculate difference\nconst difference = diff(polygon1, polygon2);\n```\n\n### CommonJS\n\n```javascript\nconst { intersection, union, diff } = require('greiner-hormann');\n\nconst result = intersection(polygon1, polygon2);\n```\n\n### Browser (UMD)\n\n```html\n<script src=\"path/to/greiner-hormann.umd.js\"></script>\n<script>\n  const result = greinerHormann.intersection(polygon1, polygon2);\n</script>\n```\n\n## Leaflet Integration\n\nThe library includes a Leaflet adaptor that works directly with Leaflet polygon objects:\n\n```typescript\nimport { intersection, union, diff } from 'greiner-hormann/leaflet';\nimport L from 'leaflet';\n\n// Create Leaflet polygons\nconst polygon1 = L.polygon([\n  [51.509, -0.08],\n  [51.503, -0.06],\n  [51.51, -0.047]\n]);\n\nconst polygon2 = L.polygon([\n  [51.508, -0.075],\n  [51.502, -0.055],\n  [51.515, -0.05]\n]);\n\n// Calculate intersection with Leaflet polygons\nconst result = intersection(polygon1, polygon2);\n\n// Add result to map\nif (result) {\n  if (Array.isArray(result[0])) {\n    // Single polygon result\n    L.polygon(result, { color: 'red' }).addTo(map);\n  } else {\n    // Multiple polygons result\n    result.forEach(poly => {\n      L.polygon(poly, { color: 'red' }).addTo(map);\n    });\n  }\n}\n```\n\n### Named Imports for Leaflet\n\nYou can use named imports to avoid conflicts with the main library:\n\n```typescript\nimport { intersection, union, diff } from 'greiner-hormann';\nimport { \n  intersection as leafletIntersection, \n  union as leafletUnion, \n  diff as leafletDiff \n} from 'greiner-hormann/leaflet';\n\n// Use with coordinate arrays\nconst coordResult = intersection(coordPolygon1, coordPolygon2);\n\n// Use with Leaflet polygons\nconst leafletResult = leafletIntersection(leafletPolygon1, leafletPolygon2);\n```\n\n## Coordinate Format\n\nInput and output can be `{x: number, y: number}` objects or `[x, y]` arrays. The library will output points in the same format you provide:\n\n```typescript\n// Array format\nconst arrayPolygon = [\n  [0, 0],\n  [100, 0],\n  [100, 100],\n  [0, 100]\n];\n\n// Object format\nconst objectPolygon = [\n  { x: 0, y: 0 },\n  { x: 100, y: 0 },\n  { x: 100, y: 100 },\n  { x: 0, y: 100 }\n];\n\n// Both work - output format matches input format\nconst result1 = intersection(arrayPolygon, arrayPolygon);   // Returns arrays\nconst result2 = intersection(objectPolygon, objectPolygon); // Returns objects\n```\n\n## TypeScript Support\n\nThe library is written in TypeScript and includes full type definitions:\n\n```typescript\nimport { intersection, union, diff } from 'greiner-hormann';\n\ntype Point = [number, number] | { x: number; y: number };\ntype Polygon = Point[];\n\nconst polygon1: Polygon = [[0, 0], [10, 0], [10, 10], [0, 10]];\nconst polygon2: Polygon = [[5, 5], [15, 5], [15, 15], [5, 15]];\n\nconst result: Polygon[] | null = intersection(polygon1, polygon2);\n```\n\n## API\n\n### `intersection(polygon1, polygon2)`\n\nReturns the intersection of two polygons, or `null` if they don't intersect.\n\n### `union(polygon1, polygon2)`\n\nReturns the union of two polygons.\n\n### `diff(polygon1, polygon2)`\n\nReturns the difference of two polygons (polygon1 - polygon2).\n\n","readmeFilename":"README.md","users":{"ahashem":true,"ynakajima":true}}