├── .babelrc ├── .eslintrc ├── .github └── workflows │ └── nodejs.yml ├── .gitignore ├── .npmignore ├── CHANGES.md ├── FUNDING.yml ├── LICENSE ├── README.md ├── benchmark.js ├── debug ├── .gitignore ├── .vscode │ └── extensions.json ├── README.md ├── dist │ ├── assets │ │ ├── index.6df1b89a.js │ │ ├── index.b205998e.css │ │ └── vendor.f422e9bc.js │ ├── favicon.ico │ └── index.html ├── gj.js ├── index.html ├── public │ └── favicon.ico ├── src │ ├── App.vue │ └── main.js └── vite.config.js ├── package.json ├── rollup.config.js ├── src ├── Contour.js ├── Edge.js ├── IntersectionPoint.js ├── Point.js ├── debug.js ├── fillQueue.js ├── findIntersections.js └── index.js └── test ├── harness ├── in │ ├── another.geojson │ ├── diamond-hole.geojson │ ├── diamond-horizontal.geojson │ ├── diamond.geojson │ ├── four-out.geojson │ ├── hole.geojson │ ├── issue-2.geojson │ ├── issue-3.geojson │ ├── issue-6.json │ ├── issue-7.geojson │ ├── issue-8.geojson │ ├── issue-9.geojson │ ├── multi-with-hole.geojson │ ├── multi.geojson │ ├── multi2.geojson │ ├── new-test.geojson │ ├── no-intersect.json │ ├── outer-to-inner.geojson │ ├── sample-another.geojson │ ├── sample-with-hole.geojson │ ├── sample.geojson │ └── zigzag.geojson └── out │ ├── another.geojson │ ├── diamond-hole.geojson │ ├── diamond-horizontal.geojson │ ├── diamond.geojson │ ├── four-out.geojson │ ├── hole.geojson │ ├── issue-2.geojson │ ├── issue-3.geojson │ ├── issue-6.json │ ├── issue-7.geojson │ ├── issue-8.geojson │ ├── issue-9.geojson │ ├── multi-with-hole.geojson │ ├── multi.geojson │ ├── multi2.geojson │ ├── new-test.geojson │ ├── no-intersect.json │ ├── outer-to-inner.geojson │ ├── sample-another.geojson │ ├── sample-with-hole.geojson │ ├── sample.geojson │ └── zigzag.geojson └── test.js /.babelrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/.babelrc -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/.eslintrc -------------------------------------------------------------------------------- /.github/workflows/nodejs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/.github/workflows/nodejs.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | package-lock.json 5 | dist/ -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | src/ 2 | debug/ 3 | test/ 4 | FUNDING.yml 5 | benchmark.js 6 | .github -------------------------------------------------------------------------------- /CHANGES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/CHANGES.md -------------------------------------------------------------------------------- /FUNDING.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/FUNDING.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/README.md -------------------------------------------------------------------------------- /benchmark.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/benchmark.js -------------------------------------------------------------------------------- /debug/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | dist-ssr 4 | *.local -------------------------------------------------------------------------------- /debug/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["johnsoncodehk.volar"] 3 | } 4 | -------------------------------------------------------------------------------- /debug/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/debug/README.md -------------------------------------------------------------------------------- /debug/dist/assets/index.6df1b89a.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/debug/dist/assets/index.6df1b89a.js -------------------------------------------------------------------------------- /debug/dist/assets/index.b205998e.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/debug/dist/assets/index.b205998e.css -------------------------------------------------------------------------------- /debug/dist/assets/vendor.f422e9bc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/debug/dist/assets/vendor.f422e9bc.js -------------------------------------------------------------------------------- /debug/dist/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/debug/dist/favicon.ico -------------------------------------------------------------------------------- /debug/dist/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/debug/dist/index.html -------------------------------------------------------------------------------- /debug/gj.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/debug/gj.js -------------------------------------------------------------------------------- /debug/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/debug/index.html -------------------------------------------------------------------------------- /debug/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/debug/public/favicon.ico -------------------------------------------------------------------------------- /debug/src/App.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/debug/src/App.vue -------------------------------------------------------------------------------- /debug/src/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/debug/src/main.js -------------------------------------------------------------------------------- /debug/vite.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/debug/vite.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/package.json -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/rollup.config.js -------------------------------------------------------------------------------- /src/Contour.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/src/Contour.js -------------------------------------------------------------------------------- /src/Edge.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/src/Edge.js -------------------------------------------------------------------------------- /src/IntersectionPoint.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/src/IntersectionPoint.js -------------------------------------------------------------------------------- /src/Point.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/src/Point.js -------------------------------------------------------------------------------- /src/debug.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/src/debug.js -------------------------------------------------------------------------------- /src/fillQueue.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/src/fillQueue.js -------------------------------------------------------------------------------- /src/findIntersections.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/src/findIntersections.js -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/src/index.js -------------------------------------------------------------------------------- /test/harness/in/another.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/another.geojson -------------------------------------------------------------------------------- /test/harness/in/diamond-hole.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/diamond-hole.geojson -------------------------------------------------------------------------------- /test/harness/in/diamond-horizontal.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/diamond-horizontal.geojson -------------------------------------------------------------------------------- /test/harness/in/diamond.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/diamond.geojson -------------------------------------------------------------------------------- /test/harness/in/four-out.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/four-out.geojson -------------------------------------------------------------------------------- /test/harness/in/hole.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/hole.geojson -------------------------------------------------------------------------------- /test/harness/in/issue-2.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/issue-2.geojson -------------------------------------------------------------------------------- /test/harness/in/issue-3.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/issue-3.geojson -------------------------------------------------------------------------------- /test/harness/in/issue-6.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/issue-6.json -------------------------------------------------------------------------------- /test/harness/in/issue-7.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/issue-7.geojson -------------------------------------------------------------------------------- /test/harness/in/issue-8.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/issue-8.geojson -------------------------------------------------------------------------------- /test/harness/in/issue-9.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/issue-9.geojson -------------------------------------------------------------------------------- /test/harness/in/multi-with-hole.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/multi-with-hole.geojson -------------------------------------------------------------------------------- /test/harness/in/multi.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/multi.geojson -------------------------------------------------------------------------------- /test/harness/in/multi2.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/multi2.geojson -------------------------------------------------------------------------------- /test/harness/in/new-test.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/new-test.geojson -------------------------------------------------------------------------------- /test/harness/in/no-intersect.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/no-intersect.json -------------------------------------------------------------------------------- /test/harness/in/outer-to-inner.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/outer-to-inner.geojson -------------------------------------------------------------------------------- /test/harness/in/sample-another.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/sample-another.geojson -------------------------------------------------------------------------------- /test/harness/in/sample-with-hole.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/sample-with-hole.geojson -------------------------------------------------------------------------------- /test/harness/in/sample.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/sample.geojson -------------------------------------------------------------------------------- /test/harness/in/zigzag.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/in/zigzag.geojson -------------------------------------------------------------------------------- /test/harness/out/another.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/another.geojson -------------------------------------------------------------------------------- /test/harness/out/diamond-hole.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/diamond-hole.geojson -------------------------------------------------------------------------------- /test/harness/out/diamond-horizontal.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/diamond-horizontal.geojson -------------------------------------------------------------------------------- /test/harness/out/diamond.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/diamond.geojson -------------------------------------------------------------------------------- /test/harness/out/four-out.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/four-out.geojson -------------------------------------------------------------------------------- /test/harness/out/hole.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/hole.geojson -------------------------------------------------------------------------------- /test/harness/out/issue-2.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/issue-2.geojson -------------------------------------------------------------------------------- /test/harness/out/issue-3.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/issue-3.geojson -------------------------------------------------------------------------------- /test/harness/out/issue-6.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/issue-6.json -------------------------------------------------------------------------------- /test/harness/out/issue-7.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/issue-7.geojson -------------------------------------------------------------------------------- /test/harness/out/issue-8.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/issue-8.geojson -------------------------------------------------------------------------------- /test/harness/out/issue-9.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/issue-9.geojson -------------------------------------------------------------------------------- /test/harness/out/multi-with-hole.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/multi-with-hole.geojson -------------------------------------------------------------------------------- /test/harness/out/multi.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/multi.geojson -------------------------------------------------------------------------------- /test/harness/out/multi2.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/multi2.geojson -------------------------------------------------------------------------------- /test/harness/out/new-test.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/new-test.geojson -------------------------------------------------------------------------------- /test/harness/out/no-intersect.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/no-intersect.json -------------------------------------------------------------------------------- /test/harness/out/outer-to-inner.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/outer-to-inner.geojson -------------------------------------------------------------------------------- /test/harness/out/sample-another.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/sample-another.geojson -------------------------------------------------------------------------------- /test/harness/out/sample-with-hole.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/sample-with-hole.geojson -------------------------------------------------------------------------------- /test/harness/out/sample.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/sample.geojson -------------------------------------------------------------------------------- /test/harness/out/zigzag.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/harness/out/zigzag.geojson -------------------------------------------------------------------------------- /test/test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowanwins/polygon-splitter/HEAD/test/test.js --------------------------------------------------------------------------------