Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
flatten-offset
Advanced tools
This package implements algorithm of equidistant offset of polygon. It relies on the FlattenJS library and its polygon model, which is multi polygon comprised from a number of islands and holes, see this interactive notebook for more details.
Algorithm is based on the idea of morphological offset, when each edge of the polygon is mapped to its offset, and then boolean operation performed between original contour and offset edges. When offset value is positive, offset edges are united with original contour, when negative - they are subtracted from original contour.
You have to install flatten-offset package together with FlattenJS library, in order to use its polygon creation methods.
npm install --save flatten-js flatten-offset
The package expose single method offset, which is added to Flatten.Polygon prototype. So we can use it in the way:
let offsetPolygon = polygon.offset(offset_value)
When using umd minified package:
let {offset} = Offset;
let offsetPolygon = offset(polygon, offset_value)
Example:
let Flatten = require('flatten-js');
require('flatten-offset');
let {segment, point, Polygon} = Flatten;
// Create polygon
let shapes = [
segment(point(200,100), point(200,300)),
segment(point(200,300), point(440,300)),
segment(point(440,300), point(300,200)),
segment(point(300,200), point(440,150)),
segment(point(440,150), point(500,150)),
segment(point(500,150), point(640,200)),
segment(point(640,200), point(500,300)),
segment(point(500,300), point(740,300)),
segment(point(740,300), point(740,100)),
segment(point(740,100), point(200,100))
];
let polygon = new Polygon();
polygon.addFace(shapes);
// Apply polygon offset
let offsetPolygon = polygon.offset(20);
See Offset Polygon interactive notebook to explore this algorithm in work.
FAQs
Offset polygon
The npm package flatten-offset receives a total of 0 weekly downloads. As such, flatten-offset popularity was classified as not popular.
We found that flatten-offset demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.