@deck.gl/aggregation-layers 8.6.0 → 8.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/es5/aggregation-layer.js +109 -163
- package/dist/es5/aggregation-layer.js.map +1 -1
- package/dist/es5/contour-layer/contour-layer.js +240 -260
- package/dist/es5/contour-layer/contour-layer.js.map +1 -1
- package/dist/es5/contour-layer/contour-utils.js +65 -86
- package/dist/es5/contour-layer/contour-utils.js.map +1 -1
- package/dist/es5/contour-layer/marching-squares-codes.js +181 -106
- package/dist/es5/contour-layer/marching-squares-codes.js.map +1 -1
- package/dist/es5/contour-layer/marching-squares.js +56 -59
- package/dist/es5/contour-layer/marching-squares.js.map +1 -1
- package/dist/es5/cpu-grid-layer/cpu-grid-layer.js +85 -121
- package/dist/es5/cpu-grid-layer/cpu-grid-layer.js.map +1 -1
- package/dist/es5/cpu-grid-layer/grid-aggregator.js +93 -119
- package/dist/es5/cpu-grid-layer/grid-aggregator.js.map +1 -1
- package/dist/es5/gpu-grid-layer/gpu-grid-cell-layer.js +131 -167
- package/dist/es5/gpu-grid-layer/gpu-grid-cell-layer.js.map +1 -1
- package/dist/es5/gpu-grid-layer/gpu-grid-layer.js +319 -322
- package/dist/es5/gpu-grid-layer/gpu-grid-layer.js.map +1 -1
- package/dist/es5/grid-aggregation-layer.js +202 -230
- package/dist/es5/grid-aggregation-layer.js.map +1 -1
- package/dist/es5/grid-layer/grid-layer.js +61 -91
- package/dist/es5/grid-layer/grid-layer.js.map +1 -1
- package/dist/es5/heatmap-layer/heatmap-layer-utils.js +24 -59
- package/dist/es5/heatmap-layer/heatmap-layer-utils.js.map +1 -1
- package/dist/es5/heatmap-layer/heatmap-layer.js +515 -533
- package/dist/es5/heatmap-layer/heatmap-layer.js.map +1 -1
- package/dist/es5/heatmap-layer/triangle-layer.js +64 -91
- package/dist/es5/heatmap-layer/triangle-layer.js.map +1 -1
- package/dist/es5/hexagon-layer/hexagon-aggregator.js +59 -77
- package/dist/es5/hexagon-layer/hexagon-aggregator.js.map +1 -1
- package/dist/es5/hexagon-layer/hexagon-layer.js +121 -164
- package/dist/es5/hexagon-layer/hexagon-layer.js.map +1 -1
- package/dist/es5/index.js +12 -12
- package/dist/es5/screen-grid-layer/screen-grid-cell-layer.js +168 -193
- package/dist/es5/screen-grid-layer/screen-grid-cell-layer.js.map +1 -1
- package/dist/es5/screen-grid-layer/screen-grid-layer.js +235 -250
- package/dist/es5/screen-grid-layer/screen-grid-layer.js.map +1 -1
- package/dist/es5/utils/aggregation-operation-utils.js +16 -31
- package/dist/es5/utils/aggregation-operation-utils.js.map +1 -1
- package/dist/es5/utils/bin-sorter.js +118 -198
- package/dist/es5/utils/bin-sorter.js.map +1 -1
- package/dist/es5/utils/color-utils.js +8 -10
- package/dist/es5/utils/color-utils.js.map +1 -1
- package/dist/es5/utils/cpu-aggregator.js +323 -342
- package/dist/es5/utils/cpu-aggregator.js.map +1 -1
- package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.js +20 -18
- package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.js.map +1 -1
- package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator.js +545 -545
- package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator.js.map +1 -1
- package/dist/es5/utils/grid-aggregation-utils.js +50 -44
- package/dist/es5/utils/grid-aggregation-utils.js.map +1 -1
- package/dist/es5/utils/prop-utils.js +2 -2
- package/dist/es5/utils/prop-utils.js.map +1 -1
- package/dist/es5/utils/resource-utils.js +32 -39
- package/dist/es5/utils/resource-utils.js.map +1 -1
- package/dist/es5/utils/scale-utils.js +36 -66
- package/dist/es5/utils/scale-utils.js.map +1 -1
- package/package.json +2 -2
|
@@ -7,104 +7,83 @@ exports.generateContours = generateContours;
|
|
|
7
7
|
|
|
8
8
|
var _marchingSquares = require("./marching-squares");
|
|
9
9
|
|
|
10
|
-
function
|
|
10
|
+
function generateContours({
|
|
11
|
+
thresholdData,
|
|
12
|
+
colors,
|
|
13
|
+
cellWeights,
|
|
14
|
+
gridSize,
|
|
15
|
+
gridOrigin,
|
|
16
|
+
cellSize
|
|
17
|
+
}) {
|
|
18
|
+
const contourSegments = [];
|
|
19
|
+
const contourPolygons = [];
|
|
20
|
+
const width = gridSize[0];
|
|
21
|
+
const height = gridSize[1];
|
|
22
|
+
let segmentIndex = 0;
|
|
23
|
+
let polygonIndex = 0;
|
|
11
24
|
|
|
12
|
-
|
|
25
|
+
for (const data of thresholdData) {
|
|
26
|
+
const {
|
|
27
|
+
contour
|
|
28
|
+
} = data;
|
|
29
|
+
const {
|
|
30
|
+
threshold
|
|
31
|
+
} = contour;
|
|
13
32
|
|
|
14
|
-
|
|
33
|
+
for (let x = -1; x < width; x++) {
|
|
34
|
+
for (let y = -1; y < height; y++) {
|
|
35
|
+
const {
|
|
36
|
+
code,
|
|
37
|
+
meanCode
|
|
38
|
+
} = (0, _marchingSquares.getCode)({
|
|
39
|
+
cellWeights,
|
|
40
|
+
threshold,
|
|
41
|
+
x,
|
|
42
|
+
y,
|
|
43
|
+
width,
|
|
44
|
+
height
|
|
45
|
+
});
|
|
46
|
+
const opts = {
|
|
47
|
+
gridOrigin,
|
|
48
|
+
cellSize,
|
|
49
|
+
x,
|
|
50
|
+
y,
|
|
51
|
+
width,
|
|
52
|
+
height,
|
|
53
|
+
code,
|
|
54
|
+
meanCode,
|
|
55
|
+
thresholdData: data
|
|
56
|
+
};
|
|
15
57
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
cellWeights = _ref.cellWeights,
|
|
20
|
-
gridSize = _ref.gridSize,
|
|
21
|
-
gridOrigin = _ref.gridOrigin,
|
|
22
|
-
cellSize = _ref.cellSize;
|
|
23
|
-
var contourSegments = [];
|
|
24
|
-
var contourPolygons = [];
|
|
25
|
-
var width = gridSize[0];
|
|
26
|
-
var height = gridSize[1];
|
|
27
|
-
var segmentIndex = 0;
|
|
28
|
-
var polygonIndex = 0;
|
|
58
|
+
if (Array.isArray(threshold)) {
|
|
59
|
+
opts.type = _marchingSquares.CONTOUR_TYPE.ISO_BANDS;
|
|
60
|
+
const polygons = (0, _marchingSquares.getVertices)(opts);
|
|
29
61
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
for (var x = -1; x < width; x++) {
|
|
40
|
-
for (var y = -1; y < height; y++) {
|
|
41
|
-
var _getCode = (0, _marchingSquares.getCode)({
|
|
42
|
-
cellWeights: cellWeights,
|
|
43
|
-
threshold: threshold,
|
|
44
|
-
x: x,
|
|
45
|
-
y: y,
|
|
46
|
-
width: width,
|
|
47
|
-
height: height
|
|
48
|
-
}),
|
|
49
|
-
code = _getCode.code,
|
|
50
|
-
meanCode = _getCode.meanCode;
|
|
51
|
-
|
|
52
|
-
var opts = {
|
|
53
|
-
gridOrigin: gridOrigin,
|
|
54
|
-
cellSize: cellSize,
|
|
55
|
-
x: x,
|
|
56
|
-
y: y,
|
|
57
|
-
width: width,
|
|
58
|
-
height: height,
|
|
59
|
-
code: code,
|
|
60
|
-
meanCode: meanCode,
|
|
61
|
-
thresholdData: data
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
if (Array.isArray(threshold)) {
|
|
65
|
-
opts.type = _marchingSquares.CONTOUR_TYPE.ISO_BANDS;
|
|
66
|
-
var polygons = (0, _marchingSquares.getVertices)(opts);
|
|
67
|
-
|
|
68
|
-
var _iterator2 = _createForOfIteratorHelper(polygons),
|
|
69
|
-
_step2;
|
|
70
|
-
|
|
71
|
-
try {
|
|
72
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
73
|
-
var polygon = _step2.value;
|
|
74
|
-
contourPolygons[polygonIndex++] = {
|
|
75
|
-
vertices: polygon,
|
|
76
|
-
contour: contour
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
} catch (err) {
|
|
80
|
-
_iterator2.e(err);
|
|
81
|
-
} finally {
|
|
82
|
-
_iterator2.f();
|
|
83
|
-
}
|
|
84
|
-
} else {
|
|
85
|
-
opts.type = _marchingSquares.CONTOUR_TYPE.ISO_LINES;
|
|
86
|
-
var vertices = (0, _marchingSquares.getVertices)(opts);
|
|
62
|
+
for (const polygon of polygons) {
|
|
63
|
+
contourPolygons[polygonIndex++] = {
|
|
64
|
+
vertices: polygon,
|
|
65
|
+
contour
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
} else {
|
|
69
|
+
opts.type = _marchingSquares.CONTOUR_TYPE.ISO_LINES;
|
|
70
|
+
const vertices = (0, _marchingSquares.getVertices)(opts);
|
|
87
71
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
72
|
+
for (let i = 0; i < vertices.length; i += 2) {
|
|
73
|
+
contourSegments[segmentIndex++] = {
|
|
74
|
+
start: vertices[i],
|
|
75
|
+
end: vertices[i + 1],
|
|
76
|
+
contour
|
|
77
|
+
};
|
|
95
78
|
}
|
|
96
79
|
}
|
|
97
80
|
}
|
|
98
81
|
}
|
|
99
|
-
} catch (err) {
|
|
100
|
-
_iterator.e(err);
|
|
101
|
-
} finally {
|
|
102
|
-
_iterator.f();
|
|
103
82
|
}
|
|
104
83
|
|
|
105
84
|
return {
|
|
106
|
-
contourSegments
|
|
107
|
-
contourPolygons
|
|
85
|
+
contourSegments,
|
|
86
|
+
contourPolygons
|
|
108
87
|
};
|
|
109
88
|
}
|
|
110
89
|
//# sourceMappingURL=contour-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/contour-layer/contour-utils.js"],"names":["generateContours","thresholdData","colors","cellWeights","gridSize","gridOrigin","cellSize","contourSegments","contourPolygons","width","height","segmentIndex","polygonIndex","data","contour","threshold","x","y","code","meanCode","opts","Array","isArray","type","CONTOUR_TYPE","ISO_BANDS","polygons","polygon","vertices","ISO_LINES","i","length","start","end"],"mappings":";;;;;;;AAAA
|
|
1
|
+
{"version":3,"sources":["../../../src/contour-layer/contour-utils.js"],"names":["generateContours","thresholdData","colors","cellWeights","gridSize","gridOrigin","cellSize","contourSegments","contourPolygons","width","height","segmentIndex","polygonIndex","data","contour","threshold","x","y","code","meanCode","opts","Array","isArray","type","CONTOUR_TYPE","ISO_BANDS","polygons","polygon","vertices","ISO_LINES","i","length","start","end"],"mappings":";;;;;;;AAAA;;AAIO,SAASA,gBAAT,CAA0B;AAC/BC,EAAAA,aAD+B;AAE/BC,EAAAA,MAF+B;AAG/BC,EAAAA,WAH+B;AAI/BC,EAAAA,QAJ+B;AAK/BC,EAAAA,UAL+B;AAM/BC,EAAAA;AAN+B,CAA1B,EAOJ;AACD,QAAMC,eAAe,GAAG,EAAxB;AACA,QAAMC,eAAe,GAAG,EAAxB;AACA,QAAMC,KAAK,GAAGL,QAAQ,CAAC,CAAD,CAAtB;AACA,QAAMM,MAAM,GAAGN,QAAQ,CAAC,CAAD,CAAvB;AACA,MAAIO,YAAY,GAAG,CAAnB;AACA,MAAIC,YAAY,GAAG,CAAnB;;AAEA,OAAK,MAAMC,IAAX,IAAmBZ,aAAnB,EAAkC;AAChC,UAAM;AAACa,MAAAA;AAAD,QAAYD,IAAlB;AACA,UAAM;AAACE,MAAAA;AAAD,QAAcD,OAApB;;AACA,SAAK,IAAIE,CAAC,GAAG,CAAC,CAAd,EAAiBA,CAAC,GAAGP,KAArB,EAA4BO,CAAC,EAA7B,EAAiC;AAC/B,WAAK,IAAIC,CAAC,GAAG,CAAC,CAAd,EAAiBA,CAAC,GAAGP,MAArB,EAA6BO,CAAC,EAA9B,EAAkC;AAEhC,cAAM;AAACC,UAAAA,IAAD;AAAOC,UAAAA;AAAP,YAAmB,8BAAQ;AAC/BhB,UAAAA,WAD+B;AAE/BY,UAAAA,SAF+B;AAG/BC,UAAAA,CAH+B;AAI/BC,UAAAA,CAJ+B;AAK/BR,UAAAA,KAL+B;AAM/BC,UAAAA;AAN+B,SAAR,CAAzB;AAQA,cAAMU,IAAI,GAAG;AACXf,UAAAA,UADW;AAEXC,UAAAA,QAFW;AAGXU,UAAAA,CAHW;AAIXC,UAAAA,CAJW;AAKXR,UAAAA,KALW;AAMXC,UAAAA,MANW;AAOXQ,UAAAA,IAPW;AAQXC,UAAAA,QARW;AASXlB,UAAAA,aAAa,EAAEY;AATJ,SAAb;;AAWA,YAAIQ,KAAK,CAACC,OAAN,CAAcP,SAAd,CAAJ,EAA8B;AAC5BK,UAAAA,IAAI,CAACG,IAAL,GAAYC,8BAAaC,SAAzB;AACA,gBAAMC,QAAQ,GAAG,kCAAYN,IAAZ,CAAjB;;AACA,eAAK,MAAMO,OAAX,IAAsBD,QAAtB,EAAgC;AAC9BlB,YAAAA,eAAe,CAACI,YAAY,EAAb,CAAf,GAAkC;AAChCgB,cAAAA,QAAQ,EAAED,OADsB;AAEhCb,cAAAA;AAFgC,aAAlC;AAID;AACF,SATD,MASO;AAELM,UAAAA,IAAI,CAACG,IAAL,GAAYC,8BAAaK,SAAzB;AACA,gBAAMD,QAAQ,GAAG,kCAAYR,IAAZ,CAAjB;;AACA,eAAK,IAAIU,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,QAAQ,CAACG,MAA7B,EAAqCD,CAAC,IAAI,CAA1C,EAA6C;AAC3CvB,YAAAA,eAAe,CAACI,YAAY,EAAb,CAAf,GAAkC;AAChCqB,cAAAA,KAAK,EAAEJ,QAAQ,CAACE,CAAD,CADiB;AAEhCG,cAAAA,GAAG,EAAEL,QAAQ,CAACE,CAAC,GAAG,CAAL,CAFmB;AAGhChB,cAAAA;AAHgC,aAAlC;AAKD;AACF;AACF;AACF;AACF;;AACD,SAAO;AAACP,IAAAA,eAAD;AAAkBC,IAAAA;AAAlB,GAAP;AACD","sourcesContent":["import {getCode, getVertices, CONTOUR_TYPE} from './marching-squares';\n\n// Given all the cell weights, generates contours for each threshold.\n/* eslint-disable max-depth */\nexport function generateContours({\n thresholdData,\n colors,\n cellWeights,\n gridSize,\n gridOrigin,\n cellSize\n}) {\n const contourSegments = [];\n const contourPolygons = [];\n const width = gridSize[0];\n const height = gridSize[1];\n let segmentIndex = 0;\n let polygonIndex = 0;\n\n for (const data of thresholdData) {\n const {contour} = data;\n const {threshold} = contour;\n for (let x = -1; x < width; x++) {\n for (let y = -1; y < height; y++) {\n // Get the MarchingSquares code based on neighbor cell weights.\n const {code, meanCode} = getCode({\n cellWeights,\n threshold,\n x,\n y,\n width,\n height\n });\n const opts = {\n gridOrigin,\n cellSize,\n x,\n y,\n width,\n height,\n code,\n meanCode,\n thresholdData: data\n };\n if (Array.isArray(threshold)) {\n opts.type = CONTOUR_TYPE.ISO_BANDS;\n const polygons = getVertices(opts);\n for (const polygon of polygons) {\n contourPolygons[polygonIndex++] = {\n vertices: polygon,\n contour\n };\n }\n } else {\n // Get the intersection vertices based on MarchingSquares code.\n opts.type = CONTOUR_TYPE.ISO_LINES;\n const vertices = getVertices(opts);\n for (let i = 0; i < vertices.length; i += 2) {\n contourSegments[segmentIndex++] = {\n start: vertices[i],\n end: vertices[i + 1],\n contour\n };\n }\n }\n }\n }\n }\n return {contourSegments, contourPolygons};\n}\n/* eslint-enable max-depth */\n"],"file":"contour-utils.js"}
|
|
@@ -1,19 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.ISOBANDS_CODE_OFFSET_MAP = exports.ISOLINES_CODE_OFFSET_MAP = void 0;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var _ISOBANDS_CODE_OFFSET;
|
|
13
|
-
|
|
14
|
-
var HALF = 0.5;
|
|
15
|
-
var ONE6TH = 1 / 6;
|
|
16
|
-
var OFFSET = {
|
|
7
|
+
const HALF = 0.5;
|
|
8
|
+
const ONE6TH = 1 / 6;
|
|
9
|
+
const OFFSET = {
|
|
17
10
|
N: [0, HALF],
|
|
18
11
|
E: [HALF, 0],
|
|
19
12
|
S: [0, -HALF],
|
|
@@ -23,45 +16,45 @@ var OFFSET = {
|
|
|
23
16
|
SE: [HALF, -HALF],
|
|
24
17
|
SW: [-HALF, -HALF]
|
|
25
18
|
};
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
19
|
+
const SW_TRIANGLE = [OFFSET.W, OFFSET.SW, OFFSET.S];
|
|
20
|
+
const SE_TRIANGLE = [OFFSET.S, OFFSET.SE, OFFSET.E];
|
|
21
|
+
const NE_TRIANGLE = [OFFSET.E, OFFSET.NE, OFFSET.N];
|
|
22
|
+
const NW_TRIANGLE = [OFFSET.NW, OFFSET.W, OFFSET.N];
|
|
23
|
+
const SW_TRAPEZOID = [[-HALF, ONE6TH], [-HALF, -ONE6TH], [-ONE6TH, -HALF], [ONE6TH, -HALF]];
|
|
24
|
+
const SE_TRAPEZOID = [[-ONE6TH, -HALF], [ONE6TH, -HALF], [HALF, -ONE6TH], [HALF, ONE6TH]];
|
|
25
|
+
const NE_TRAPEZOID = [[HALF, -ONE6TH], [HALF, ONE6TH], [ONE6TH, HALF], [-ONE6TH, HALF]];
|
|
26
|
+
const NW_TRAPEZOID = [[-HALF, ONE6TH], [-HALF, -ONE6TH], [ONE6TH, HALF], [-ONE6TH, HALF]];
|
|
27
|
+
const S_RECTANGLE = [OFFSET.W, OFFSET.SW, OFFSET.SE, OFFSET.E];
|
|
28
|
+
const E_RECTANGLE = [OFFSET.S, OFFSET.SE, OFFSET.NE, OFFSET.N];
|
|
29
|
+
const N_RECTANGLE = [OFFSET.NW, OFFSET.W, OFFSET.E, OFFSET.NE];
|
|
30
|
+
const W_RECTANGLE = [OFFSET.NW, OFFSET.SW, OFFSET.S, OFFSET.N];
|
|
31
|
+
const EW_RECTANGEL = [[-HALF, ONE6TH], [-HALF, -ONE6TH], [HALF, -ONE6TH], [HALF, ONE6TH]];
|
|
32
|
+
const SN_RECTANGEL = [[-ONE6TH, -HALF], [ONE6TH, -HALF], [ONE6TH, HALF], [-ONE6TH, HALF]];
|
|
33
|
+
const SQUARE = [OFFSET.NW, OFFSET.SW, OFFSET.SE, OFFSET.NE];
|
|
34
|
+
const SW_PENTAGON = [OFFSET.NW, OFFSET.SW, OFFSET.SE, OFFSET.E, OFFSET.N];
|
|
35
|
+
const SE_PENTAGON = [OFFSET.W, OFFSET.SW, OFFSET.SE, OFFSET.NE, OFFSET.N];
|
|
36
|
+
const NE_PENTAGON = [OFFSET.NW, OFFSET.W, OFFSET.S, OFFSET.SE, OFFSET.NE];
|
|
37
|
+
const NW_PENTAGON = [OFFSET.NW, OFFSET.SW, OFFSET.S, OFFSET.E, OFFSET.NE];
|
|
38
|
+
const NW_N_PENTAGON = [OFFSET.NW, OFFSET.W, [HALF, -ONE6TH], [HALF, ONE6TH], OFFSET.N];
|
|
39
|
+
const NE_E_PENTAGON = [[-ONE6TH, -HALF], [ONE6TH, -HALF], OFFSET.E, OFFSET.NE, OFFSET.N];
|
|
40
|
+
const SE_S_PENTAGON = [[-HALF, ONE6TH], [-HALF, -ONE6TH], OFFSET.S, OFFSET.SE, OFFSET.E];
|
|
41
|
+
const SW_W_PENTAGON = [OFFSET.W, OFFSET.SW, OFFSET.S, [ONE6TH, HALF], [-ONE6TH, HALF]];
|
|
42
|
+
const NW_W_PENTAGON = [OFFSET.NW, OFFSET.W, [-ONE6TH, -HALF], [ONE6TH, -HALF], OFFSET.N];
|
|
43
|
+
const NE_N_PENTAGON = [[-HALF, ONE6TH], [-HALF, -ONE6TH], OFFSET.E, OFFSET.NE, OFFSET.N];
|
|
44
|
+
const SE_E_PENTAGON = [OFFSET.S, OFFSET.SE, OFFSET.E, [ONE6TH, HALF], [-ONE6TH, HALF]];
|
|
45
|
+
const SW_S_PENTAGON = [OFFSET.W, OFFSET.SW, OFFSET.S, [HALF, -ONE6TH], [HALF, ONE6TH]];
|
|
46
|
+
const S_HEXAGON = [OFFSET.W, OFFSET.SW, OFFSET.SE, OFFSET.E, [ONE6TH, HALF], [-ONE6TH, HALF]];
|
|
47
|
+
const E_HEXAGON = [[-HALF, ONE6TH], [-HALF, -ONE6TH], OFFSET.S, OFFSET.SE, OFFSET.NE, OFFSET.N];
|
|
48
|
+
const N_HEXAGON = [OFFSET.NW, OFFSET.W, [-ONE6TH, -HALF], [ONE6TH, -HALF], OFFSET.E, OFFSET.NE];
|
|
49
|
+
const W_HEXAGON = [OFFSET.NW, OFFSET.SW, OFFSET.S, [HALF, -ONE6TH], [HALF, ONE6TH], OFFSET.N];
|
|
50
|
+
const SW_NE_HEXAGON = [OFFSET.W, OFFSET.SW, OFFSET.S, OFFSET.E, OFFSET.NE, OFFSET.N];
|
|
51
|
+
const NW_SE_HEXAGON = [OFFSET.NW, OFFSET.W, OFFSET.S, OFFSET.SE, OFFSET.E, OFFSET.N];
|
|
52
|
+
const NE_HEPTAGON = [[-HALF, ONE6TH], [-HALF, -ONE6TH], [-ONE6TH, -HALF], [ONE6TH, -HALF], OFFSET.E, OFFSET.NE, OFFSET.N];
|
|
53
|
+
const SW_HEPTAGON = [OFFSET.W, OFFSET.SW, OFFSET.S, [HALF, -ONE6TH], [HALF, ONE6TH], [ONE6TH, HALF], [-ONE6TH, HALF]];
|
|
54
|
+
const NW_HEPTAGON = [OFFSET.NW, OFFSET.W, [-ONE6TH, -HALF], [ONE6TH, -HALF], [HALF, -ONE6TH], [HALF, ONE6TH], OFFSET.N];
|
|
55
|
+
const SE_HEPTAGON = [[-HALF, ONE6TH], [-HALF, -ONE6TH], OFFSET.S, OFFSET.SE, OFFSET.E, [ONE6TH, HALF], [-ONE6TH, HALF]];
|
|
56
|
+
const OCTAGON = [[-HALF, ONE6TH], [-HALF, -ONE6TH], [-ONE6TH, -HALF], [ONE6TH, -HALF], [HALF, -ONE6TH], [HALF, ONE6TH], [ONE6TH, HALF], [-ONE6TH, HALF]];
|
|
57
|
+
const ISOLINES_CODE_OFFSET_MAP = {
|
|
65
58
|
0: [],
|
|
66
59
|
1: [[OFFSET.W, OFFSET.S]],
|
|
67
60
|
2: [[OFFSET.S, OFFSET.E]],
|
|
@@ -91,62 +84,144 @@ function ternaryToIndex(ternary) {
|
|
|
91
84
|
return parseInt(ternary, 4);
|
|
92
85
|
}
|
|
93
86
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
87
|
+
const ISOBANDS_CODE_OFFSET_MAP = {
|
|
88
|
+
[ternaryToIndex('0000')]: [],
|
|
89
|
+
[ternaryToIndex('2222')]: [],
|
|
90
|
+
[ternaryToIndex('2221')]: [SW_TRIANGLE],
|
|
91
|
+
[ternaryToIndex('2212')]: [SE_TRIANGLE],
|
|
92
|
+
[ternaryToIndex('2122')]: [NE_TRIANGLE],
|
|
93
|
+
[ternaryToIndex('1222')]: [NW_TRIANGLE],
|
|
94
|
+
[ternaryToIndex('0001')]: [SW_TRIANGLE],
|
|
95
|
+
[ternaryToIndex('0010')]: [SE_TRIANGLE],
|
|
96
|
+
[ternaryToIndex('0100')]: [NE_TRIANGLE],
|
|
97
|
+
[ternaryToIndex('1000')]: [NW_TRIANGLE],
|
|
98
|
+
[ternaryToIndex('2220')]: [SW_TRAPEZOID],
|
|
99
|
+
[ternaryToIndex('2202')]: [SE_TRAPEZOID],
|
|
100
|
+
[ternaryToIndex('2022')]: [NE_TRAPEZOID],
|
|
101
|
+
[ternaryToIndex('0222')]: [NW_TRAPEZOID],
|
|
102
|
+
[ternaryToIndex('0002')]: [SW_TRAPEZOID],
|
|
103
|
+
[ternaryToIndex('0020')]: [SE_TRAPEZOID],
|
|
104
|
+
[ternaryToIndex('0200')]: [NE_TRAPEZOID],
|
|
105
|
+
[ternaryToIndex('2000')]: [NW_TRAPEZOID],
|
|
106
|
+
[ternaryToIndex('0011')]: [S_RECTANGLE],
|
|
107
|
+
[ternaryToIndex('0110')]: [E_RECTANGLE],
|
|
108
|
+
[ternaryToIndex('1100')]: [N_RECTANGLE],
|
|
109
|
+
[ternaryToIndex('1001')]: [W_RECTANGLE],
|
|
110
|
+
[ternaryToIndex('2211')]: [S_RECTANGLE],
|
|
111
|
+
[ternaryToIndex('2112')]: [E_RECTANGLE],
|
|
112
|
+
[ternaryToIndex('1122')]: [N_RECTANGLE],
|
|
113
|
+
[ternaryToIndex('1221')]: [W_RECTANGLE],
|
|
114
|
+
[ternaryToIndex('2200')]: [EW_RECTANGEL],
|
|
115
|
+
[ternaryToIndex('2002')]: [SN_RECTANGEL],
|
|
116
|
+
[ternaryToIndex('0022')]: [EW_RECTANGEL],
|
|
117
|
+
[ternaryToIndex('0220')]: [SN_RECTANGEL],
|
|
118
|
+
[ternaryToIndex('1111')]: [SQUARE],
|
|
119
|
+
[ternaryToIndex('1211')]: [SW_PENTAGON],
|
|
120
|
+
[ternaryToIndex('2111')]: [SE_PENTAGON],
|
|
121
|
+
[ternaryToIndex('1112')]: [NE_PENTAGON],
|
|
122
|
+
[ternaryToIndex('1121')]: [NW_PENTAGON],
|
|
123
|
+
[ternaryToIndex('1011')]: [SW_PENTAGON],
|
|
124
|
+
[ternaryToIndex('0111')]: [SE_PENTAGON],
|
|
125
|
+
[ternaryToIndex('1110')]: [NE_PENTAGON],
|
|
126
|
+
[ternaryToIndex('1101')]: [NW_PENTAGON],
|
|
127
|
+
[ternaryToIndex('1200')]: [NW_N_PENTAGON],
|
|
128
|
+
[ternaryToIndex('0120')]: [NE_E_PENTAGON],
|
|
129
|
+
[ternaryToIndex('0012')]: [SE_S_PENTAGON],
|
|
130
|
+
[ternaryToIndex('2001')]: [SW_W_PENTAGON],
|
|
131
|
+
[ternaryToIndex('1022')]: [NW_N_PENTAGON],
|
|
132
|
+
[ternaryToIndex('2102')]: [NE_E_PENTAGON],
|
|
133
|
+
[ternaryToIndex('2210')]: [SE_S_PENTAGON],
|
|
134
|
+
[ternaryToIndex('0221')]: [SW_W_PENTAGON],
|
|
135
|
+
[ternaryToIndex('1002')]: [NW_W_PENTAGON],
|
|
136
|
+
[ternaryToIndex('2100')]: [NE_N_PENTAGON],
|
|
137
|
+
[ternaryToIndex('0210')]: [SE_E_PENTAGON],
|
|
138
|
+
[ternaryToIndex('0021')]: [SW_S_PENTAGON],
|
|
139
|
+
[ternaryToIndex('1220')]: [NW_W_PENTAGON],
|
|
140
|
+
[ternaryToIndex('0122')]: [NE_N_PENTAGON],
|
|
141
|
+
[ternaryToIndex('2012')]: [SE_E_PENTAGON],
|
|
142
|
+
[ternaryToIndex('2201')]: [SW_S_PENTAGON],
|
|
143
|
+
[ternaryToIndex('0211')]: [S_HEXAGON],
|
|
144
|
+
[ternaryToIndex('2110')]: [E_HEXAGON],
|
|
145
|
+
[ternaryToIndex('1102')]: [N_HEXAGON],
|
|
146
|
+
[ternaryToIndex('1021')]: [W_HEXAGON],
|
|
147
|
+
[ternaryToIndex('2011')]: [S_HEXAGON],
|
|
148
|
+
[ternaryToIndex('0112')]: [E_HEXAGON],
|
|
149
|
+
[ternaryToIndex('1120')]: [N_HEXAGON],
|
|
150
|
+
[ternaryToIndex('1201')]: [W_HEXAGON],
|
|
151
|
+
[ternaryToIndex('2101')]: [SW_NE_HEXAGON],
|
|
152
|
+
[ternaryToIndex('0121')]: [SW_NE_HEXAGON],
|
|
153
|
+
[ternaryToIndex('1012')]: [NW_SE_HEXAGON],
|
|
154
|
+
[ternaryToIndex('1210')]: [NW_SE_HEXAGON],
|
|
155
|
+
[ternaryToIndex('0101')]: {
|
|
156
|
+
0: [SW_TRIANGLE, NE_TRIANGLE],
|
|
157
|
+
1: [SW_NE_HEXAGON],
|
|
158
|
+
2: [SW_NE_HEXAGON]
|
|
159
|
+
},
|
|
160
|
+
[ternaryToIndex('1010')]: {
|
|
161
|
+
0: [NW_TRIANGLE, SE_TRIANGLE],
|
|
162
|
+
1: [NW_SE_HEXAGON],
|
|
163
|
+
2: [NW_SE_HEXAGON]
|
|
164
|
+
},
|
|
165
|
+
[ternaryToIndex('2121')]: {
|
|
166
|
+
0: [SW_NE_HEXAGON],
|
|
167
|
+
1: [SW_NE_HEXAGON],
|
|
168
|
+
2: [SW_TRIANGLE, NE_TRIANGLE]
|
|
169
|
+
},
|
|
170
|
+
[ternaryToIndex('1212')]: {
|
|
171
|
+
0: [NW_SE_HEXAGON],
|
|
172
|
+
1: [NW_SE_HEXAGON],
|
|
173
|
+
2: [NW_TRIANGLE, SE_TRIANGLE]
|
|
174
|
+
},
|
|
175
|
+
[ternaryToIndex('2120')]: {
|
|
176
|
+
0: [NE_HEPTAGON],
|
|
177
|
+
1: [NE_HEPTAGON],
|
|
178
|
+
2: [SW_TRAPEZOID, NE_TRIANGLE]
|
|
179
|
+
},
|
|
180
|
+
[ternaryToIndex('2021')]: {
|
|
181
|
+
0: [SW_HEPTAGON],
|
|
182
|
+
1: [SW_HEPTAGON],
|
|
183
|
+
2: [SW_TRIANGLE, NE_TRAPEZOID]
|
|
184
|
+
},
|
|
185
|
+
[ternaryToIndex('1202')]: {
|
|
186
|
+
0: [NW_HEPTAGON],
|
|
187
|
+
1: [NW_HEPTAGON],
|
|
188
|
+
2: [NW_TRIANGLE, SE_TRAPEZOID]
|
|
189
|
+
},
|
|
190
|
+
[ternaryToIndex('0212')]: {
|
|
191
|
+
0: [SE_HEPTAGON],
|
|
192
|
+
1: [SE_HEPTAGON],
|
|
193
|
+
2: [SE_TRIANGLE, NW_TRAPEZOID]
|
|
194
|
+
},
|
|
195
|
+
[ternaryToIndex('0102')]: {
|
|
196
|
+
0: [SW_TRAPEZOID, NE_TRIANGLE],
|
|
197
|
+
1: [NE_HEPTAGON],
|
|
198
|
+
2: [NE_HEPTAGON]
|
|
199
|
+
},
|
|
200
|
+
[ternaryToIndex('0201')]: {
|
|
201
|
+
0: [SW_TRIANGLE, NE_TRAPEZOID],
|
|
202
|
+
1: [SW_HEPTAGON],
|
|
203
|
+
2: [SW_HEPTAGON]
|
|
204
|
+
},
|
|
205
|
+
[ternaryToIndex('1020')]: {
|
|
206
|
+
0: [NW_TRIANGLE, SE_TRAPEZOID],
|
|
207
|
+
1: [NW_HEPTAGON],
|
|
208
|
+
2: [NW_HEPTAGON]
|
|
209
|
+
},
|
|
210
|
+
[ternaryToIndex('2010')]: {
|
|
211
|
+
0: [SE_TRIANGLE, NW_TRAPEZOID],
|
|
212
|
+
1: [SE_HEPTAGON],
|
|
213
|
+
2: [SE_HEPTAGON]
|
|
214
|
+
},
|
|
215
|
+
[ternaryToIndex('2020')]: {
|
|
216
|
+
0: [NW_TRAPEZOID, SE_TRAPEZOID],
|
|
217
|
+
1: [OCTAGON],
|
|
218
|
+
2: [SW_TRAPEZOID, NE_TRAPEZOID]
|
|
219
|
+
},
|
|
220
|
+
[ternaryToIndex('0202')]: {
|
|
221
|
+
0: [NE_TRAPEZOID, SW_TRAPEZOID],
|
|
222
|
+
1: [OCTAGON],
|
|
223
|
+
2: [NW_TRAPEZOID, SE_TRAPEZOID]
|
|
224
|
+
}
|
|
225
|
+
};
|
|
151
226
|
exports.ISOBANDS_CODE_OFFSET_MAP = ISOBANDS_CODE_OFFSET_MAP;
|
|
152
227
|
//# sourceMappingURL=marching-squares-codes.js.map
|