dcel-js

0.1.0 • Public • Published

dcel.js

NPM Package

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

// points [[x1, y1], [x2, y2], ...]
// edges [[start1, end1], [start2, end2]...] starts and ends are indices of points
const dcel = new DCEL(points, edges);

// get internal faces
const faces = dcel.internalFaces();

// get vertices
faces[0].vertexlist

// get holes
faces[0].holes

// get area
faces[0].area

// get area except holes
faces[0].areaExceptHoles

// get external faces
dcel.externalFaces();

// modify edges
dcel.addEdge(x1, y1, x2, y2);
dcel.removeEdge(x1, y1, x2, y2);
dcel.splitEdge(x1, y1, x2, y2, splitX, splitY);

Readme

Keywords

Package Sidebar

Install

npm i dcel-js

Weekly Downloads

1

Version

0.1.0

License

MIT

Unpacked Size

120 kB

Total Files

10

Last publish

Collaborators

  • shawn0326