JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2
  • Score
    100M100P100Q40793F
  • License MIT

Parses .poly or .node files and returns a JSON.

Package Exports

  • poly-parse

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (poly-parse) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

poly-parse

Parses .poly files from Triangle.

A .poly file represents a PSLG, as well as some additional information. PSLG stands for Planar Straight Line Graph, a term familiar to computational geometers. By definition, a PSLG is just a list of vertices and segments. A .poly file can also contain information about holes and concavities, as well as regional attributes and constraints on the areas of triangles.

Full description of the .poly file format.

It can also parse .node files since they are a subset of .poly.

The file is parsed with Papa Parse.

demo

Install

npm install poly-parse

Example

const polyparse = require('poly-parse');

fetch('./A.poly')
  .then(result => result.text())
  .then(result => {
    console.log(polyparse(result));
  });

Output:

{
  pointlist: [[0.2, -0.7764], [0.22, -0.7732] ...],
  pointattributelist: [-0.57, -0.55, -0.51, -0.53 ...],
  pointmarkerlist: [],
  segmentlist: [[28, 0], [0, 1] ...],
  segmentmarkerlist: [],
  holelist: [[0.47, -0.5]],
  regionlist: [],
  numberofpoints: 29,
  numberofpointattributes: 1,
  numberofsegments: 29,
  numberofholes: 1,
  numberofregions: 0
}

Demo

poly-parse demo

Usage

polyparse(poly, options)

  • poly string with the content of the .poly file

  • options

    • flat (default false) flatten nested arrays i.e. [[x, y], [x, y]] into [x, y, x, y]
    • flipY (default false) multiplies y coordinates by -1
    • normalize (default false) normalizes path to its bounding box, returns points in the -1.0 ... 1.0 range
    • all the config options from Papa Parse

Returns an object with the parsed properties.

For convenience the parsed output uses the same property names as struct triangulateio defined in triangle.h from Triangle.

Indices in a .poly file can be zero-based or one-based, but the parsed result is always zero-based.

See Also

License

MIT, see LICENSE for details.