dcel.js
dcel.js is a JavaScript implementation of Doubly connected edge list.
Inspired by dcel(python), but with more features.
Example |
API
Features
- Create a
DCEL
object with points and edges. - Get internal and external faces of the DCEL.
- Get area of faces.
- Get vertices of faces (clockwise or counterclockwise).
- Get holes of faces (if there are any).
- Add, remove, split edges to the DCEL.
Import
Use dcel.js
(UMD) in your page:
<script src="dcel.js"></script>
or import as es6 module:
import DCEL from 'dcel.module.js';
You can find these files in build
folder.
Npm
dcel-js
is published on npm. You can install it with:
npm install dcel-js --save
This will allow you to import dcel.js using:
import DCEL from 'dcel-js';
or require as commonjs module:
require('dcel-js');
CDN
Usage
const dcel = new DCEL(points, edges);
const faces = dcel.internalFaces();
faces[0].vertexlist
faces[0].holes
faces[0].area
faces[0].areaExceptHoles
dcel.externalFaces();
dcel.addEdge(x1, y1, x2, y2);
dcel.removeEdge(x1, y1, x2, y2);
dcel.splitEdge(x1, y1, x2, y2, splitX, splitY);