From 4960140097417de2845d8a9bcad40db469c9dc19 Mon Sep 17 00:00:00 2001 From: Ronny Lorenz Date: Sun, 28 Apr 2019 12:43:16 +0200 Subject: [PATCH] Bump to version v1.3.3 --- Changelog.md | 54 +++++++++++++++++++++++++++++++------------ README.md | 20 ++++++++++------ package.json | 2 +- rollup.config.js | 2 +- rollup.config.test.js | 2 +- 5 files changed, 55 insertions(+), 25 deletions(-) diff --git a/Changelog.md b/Changelog.md index 5cef54c..ba83eb7 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,10 +1,22 @@ # Changelog -### v1.3.2 +Below, you'll find a list of notable changes for each version of MarchingSquares.js. + +## Version 1.3.x + +### [v1.3.3](https://github.com/RaumZeit/MarchingSquares.js/compare/v1.3.2...v1.3.3) (2019-04-28) + +- Add boolean option `noFrame=false` to allow for omitting the enclosing frame in `isoLines` implementation + + +### [v1.3.2](https://github.com/RaumZeit/MarchingSquares.js/compare/v1.3.1...v1.3.2) (2018-09-02) + - Fix frame detection for iso line/contour tracer - Add homepage field to package.json -### v1.3.1 + +### [v1.3.1](https://github.com/RaumZeit/MarchingSquares.js/compare/v1.3.0...v1.3.1) (2018-07-05) + - Fix isoLine out-of-grid tracing issue - Rename `quadTree` constructor function to `QuadTree` - Add more input sanity checks @@ -13,7 +25,8 @@ - Add iso lines example -### v1.3.0 +### [v1.3.0](https://github.com/RaumZeit/MarchingSquares.js/compare/v1.2.3...v1.3.0) (2018-06-23) + - Refactor all implementations - Add **Quad-Tree** lookup data structure for faster retrieval of relevant grid cells - Allow for array input to specify limits @@ -21,37 +34,48 @@ - Use `rollup.js` to bundle final UMD wrapped modules -### v1.2.3 -- refactor `IsoContours` implementation -- restore default behavior to return closed polygons in `IsoContours` and `IsoBands` +## Version 1.2.x + +### [v1.2.3](https://github.com/RaumZeit/MarchingSquares.js/compare/v1.2.2...v1.2.3) (2018-06-10) + +- refactor `isoContours` implementation +- restore default behavior to return closed polygons in `isoContours` and `isoBands` - Add new option flag `linearRing=true` to enable deactivation of closed polygon output -### v1.2.2 -- Refactor `IsoBands` implementation +### [v1.2.2](https://github.com/RaumZeit/MarchingSquares.js/compare/v1.2.1...v1.2.2) (2018-06-06) + +- Refactor `isoBands` implementation - Spellcheck README.md -### v1.2.1 +### [v1.2.1](https://github.com/RaumZeit/MarchingSquares.js/compare/v1.2.0...v1.2.1) (2018-05-27) + - Add npm package link to README.md -- Fix line coordinate issues in `IsoContours` implementation +- Fix line coordinate issues in `isoContours` implementation + +### [v1.2.0](https://github.com/RaumZeit/MarchingSquares.js/compare/v1.1.1...v1.2.0) (2017-03-19) -### v1.2.0 -- Use lower camelcase function names for public API +- Use lower camelcase function names `isoLines()` and `isoBands()` for public API -### v1.1.1 +## Version 1.1.x + +### [v1.1.1](https://github.com/RaumZeit/MarchingSquares.js/compare/v1.1.0...v1.1.1) (2017-03-19) + - Add package.json - Fix UMD wrappers - Add require.js example -### v1.1.0 +### [v1.1.0](https://github.com/RaumZeit/MarchingSquares.js/compare/v1.0.0...v1.1.0) (2017-03-10) + - Add example - Code cleanup - Wrap module into Universal Module Definition (UMD) for portability -### v1.0.0 +### v1.0.0 (2017-03-01) + - initial version with `IsoBands` and `IsoContours` support diff --git a/README.md b/README.md index 2b6412f..0b8215e 100644 --- a/README.md +++ b/README.md @@ -153,6 +153,11 @@ A single path is an array of coordinates where each coordinate, again, is an arr Note, that the paths resemble *linear Rings* by default, i.e. they are closed and have identical first and last coordinates. (see the `options` parameter to change the output) +Furthermore, if all values at the border of the input data are below the threshold, a rectangular frame +path with coordinates `[ 0, 0 ], [0, rows], [cols, rows], [cols, 0]`, i.e. enclosing the entire scalar +field, will be added as first element of the returned array. Here, the values of `rows` and `cols` are +the number of rows and columns of the input data, respectively. To disable this behavior, the user may +pass the `options.noFrame=true`. ### Computing Iso Bands @@ -224,13 +229,14 @@ flag is set. The `options` object may have the following fields: -| Property | Type | Description | Default value | -| ------------------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------- | -| `options.successCallback` | *function* | A function called at the end of each *iso line* / *iso band* computation. It will be passed the `path array` and the corresponding limit(s) (`threshold` or `lowerBound, bandWidth`) as first and second (third) arguments, respectively. | `null` | -| `options.verbose` | *bool* | Create `console.log()` info messages before each major step of the algorithm | `false` | -| `options.polygons` | *bool* | If `true` the function returns a list of path coordinates for individual polygons within each grid cell, if `false` returns a list of path coordinates representing the outline of connected polygons. | `false` | -| `options.linearRing` | *bool* | If `true`, the polygon paths are returned as linear rings, i.e. the first and last coordinate are identical indicating a closed path. Note, that for the `IsoLines` implementation a value of `false` reduces the output to *iso lines* that are not necessarily closed paths. | `true` | -| `options.noQuadTree` | *bool* | If `true`, Quad-Tree optimization is deactivated no matter what the input is. Otherwise, the implementations make use of Quad-Tree optimization if the input demands for *multiple* iso lines/bands. | `false` | +| Property | Type | Description | Default value | +| ------------------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------- | +| `options.successCallback` | *function* | A function called at the end of each *iso line* / *iso band* computation. It will be passed the `path array` and the corresponding limit(s) (`threshold` or `lowerBound, bandWidth`) as first and second (third) arguments, respectively. | `null` | +| `options.verbose` | *bool* | Create `console.log()` info messages before each major step of the algorithm | `false` | +| `options.polygons` | *bool* | If `true` the function returns a list of path coordinates for individual polygons within each grid cell, if `false` returns a list of path coordinates representing the outline of connected polygons. | `false` | +| `options.linearRing` | *bool* | If `true`, the polygon paths are returned as linear rings, i.e. the first and last coordinate are identical indicating a closed path. Note, that for the `IsoLines` implementation a value of `false` reduces the output to *iso lines* that are not necessarily closed paths. | `true` | +| `options.noQuadTree` | *bool* | If `true`, Quad-Tree optimization is deactivated no matter what the input is. Otherwise, the implementations make use of Quad-Tree optimization if the input demands for *multiple* iso lines/bands. | `false` | +| `options.noFrame` | *bool* | If `true`, the *iso line* / *iso contour* algorithm omits the enclosing rectangular outer frame when all data points along the boundary of the scalar field are below the threshold. Otherwise, if necessary, the enclosing frame will be included for each threshold level as the very first returned path. | `false` | ### Deprecation Warnings diff --git a/package.json b/package.json index 8eb4df4..1e00f28 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "marchingsquares", "description": "MarchingSquaresJS - An implementation of the Marching Squares algorithm featuring Isocontour and Isoband computation.", - "version": "1.3.2", + "version": "1.3.3", "author": "Ronny Lorenz ", "contributors": [ {"name": "Stefano Borghi"}, diff --git a/rollup.config.js b/rollup.config.js index f9cae49..e06105e 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,7 +1,7 @@ import { uglify } from 'rollup-plugin-uglify'; import eslint from 'rollup-plugin-eslint'; -var license = "/*!\n* MarchingSquaresJS\n* version 1.3.2\n* https://github.com/RaumZeit/MarchingSquares.js\n*\n* @license GNU Affero General Public License.\n* Copyright (c) 2015-" + (new Date()).getFullYear() + " Ronny Lorenz \n*/\n\n" +var license = "/*!\n* MarchingSquaresJS\n* version 1.3.3\n* https://github.com/RaumZeit/MarchingSquares.js\n*\n* @license GNU Affero General Public License.\n* Copyright (c) 2015-" + (new Date()).getFullYear() + " Ronny Lorenz \n*/\n\n" var uglify_options = { output: { diff --git a/rollup.config.test.js b/rollup.config.test.js index 2f08de7..5e0f55e 100644 --- a/rollup.config.test.js +++ b/rollup.config.test.js @@ -1,4 +1,4 @@ -var license = "/*!\n* MarchingSquaresJS\n* version 1.3.2\n* https://github.com/RaumZeit/MarchingSquares.js\n*\n* @license GNU Affero General Public License.\n* Copyright (c) 2015-" + (new Date()).getFullYear() + " Ronny Lorenz \n*/\n\n" +var license = "/*!\n* MarchingSquaresJS\n* version 1.3.3\n* https://github.com/RaumZeit/MarchingSquares.js\n*\n* @license GNU Affero General Public License.\n* Copyright (c) 2015-" + (new Date()).getFullYear() + " Ronny Lorenz \n*/\n\n" export default [ {