@pirireis/webglobeplugins 0.9.10 → 0.9.11
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/Math/angle-calculation.js +8 -8
- package/Math/arc.js +18 -18
- package/Math/bounds/line-bbox.js +80 -78
- package/Math/constants.js +3 -3
- package/Math/juction/arc-plane.js +23 -23
- package/Math/juction/line-sphere.js +11 -11
- package/Math/juction/plane-plane.js +11 -11
- package/Math/line.js +16 -14
- package/Math/methods.js +72 -67
- package/Math/plane.js +18 -16
- package/Math/quaternion.js +49 -45
- package/Math/utils.js +2 -2
- package/Math/vec3.js +45 -42
- package/algorithms/search-binary.js +4 -4
- package/altitude-locator/draw-subset-obj.js +8 -7
- package/altitude-locator/plugin.js +113 -97
- package/arrowfield/adaptor.js +4 -3
- package/arrowfield/index.js +2 -2
- package/arrowfield/plugin.js +65 -62
- package/bearing-line/index.js +1 -1
- package/bearing-line/plugin.js +225 -200
- package/circle-line-chain/chain-list-map.js +88 -82
- package/circle-line-chain/plugin.js +154 -129
- package/circle-line-chain/util.js +1 -1
- package/compass-rose/compass-rose-padding-flat.js +126 -104
- package/compass-rose/compass-text-writer.js +70 -62
- package/compass-rose/index.js +2 -2
- package/compassrose/compassrose.js +50 -46
- package/compassrose/index.js +1 -1
- package/heatwave/index.js +2 -2
- package/heatwave/isobar/objectarraylabels.js +48 -44
- package/heatwave/isobar/plugin.js +123 -104
- package/heatwave/isobar/quadtreecontours.js +92 -76
- package/heatwave/plugins/heatwaveglobeshell.js +87 -69
- package/index.js +11 -11
- package/package.json +1 -1
- package/partialrings/buffer-manager.js +64 -32
- package/partialrings/index.js +1 -1
- package/partialrings/plugin.js +84 -48
- package/partialrings/program.js +47 -136
- package/pin/pin-object-array.js +86 -83
- package/pin/pin-point-totem.js +22 -21
- package/point-heat-map/adaptors/timetracksplugin-format-to-this.js +10 -10
- package/point-heat-map/plugin-webworker.js +45 -40
- package/point-heat-map/point-to-heat-map-flow.js +42 -40
- package/point-tracks/key-methods.js +1 -1
- package/point-tracks/plugin.js +142 -127
- package/programs/arrowfield/index.js +1 -1
- package/programs/arrowfield/logic.js +62 -170
- package/programs/arrowfield/object.js +35 -33
- package/programs/data2legend/density-to-legend.js +21 -45
- package/programs/data2legend/point-to-density-texture.js +27 -52
- package/programs/float2legendwithratio/index.js +1 -1
- package/programs/float2legendwithratio/logic.js +42 -88
- package/programs/float2legendwithratio/object.js +46 -43
- package/programs/globe-util/is-globe-moved.js +11 -10
- package/programs/globeshell/index.js +1 -1
- package/programs/globeshell/wiggle/index.js +1 -1
- package/programs/globeshell/wiggle/logic.js +98 -191
- package/programs/globeshell/wiggle/object.js +35 -33
- package/programs/helpers/blender/program.js +19 -36
- package/programs/helpers/fadeaway/index.js +1 -1
- package/programs/helpers/fadeaway/logic.js +13 -35
- package/programs/helpers/fadeaway/object.js +10 -9
- package/programs/helpers/index.js +1 -1
- package/programs/index.js +8 -8
- package/programs/line-on-globe/angled-line.js +32 -91
- package/programs/line-on-globe/circle-accurate-3d.js +32 -82
- package/programs/line-on-globe/circle-accurate-flat.js +50 -108
- package/programs/line-on-globe/circle-accurate.js +33 -103
- package/programs/line-on-globe/circle.js +32 -97
- package/programs/line-on-globe/degree-padding-around-circle-3d.js +33 -83
- package/programs/line-on-globe/lines-color-instanced-flat.js +34 -79
- package/programs/line-on-globe/linestrip.js +39 -100
- package/programs/line-on-globe/naive-accurate-flexible.js +48 -118
- package/programs/line-on-globe/to-the-surface.js +29 -58
- package/programs/line-on-globe/util.js +1 -1
- package/programs/picking/pickable-renderer.js +33 -117
- package/programs/point-on-globe/element-globe-surface-glow.js +38 -78
- package/programs/point-on-globe/element-point-glow.js +35 -103
- package/programs/point-on-globe/square-pixel-point.js +27 -76
- package/programs/programcache.js +13 -13
- package/programs/rings/distancering/circleflatprogram.js +21 -63
- package/programs/rings/distancering/circlepaddingfreeangleprogram.js +145 -156
- package/programs/rings/distancering/circlepaddysharedbuffer.js +197 -121
- package/programs/rings/distancering/index.js +4 -4
- package/programs/rings/distancering/paddyflatprogram.js +20 -73
- package/programs/rings/distancering/paddyflatprogram2d.js +22 -75
- package/programs/rings/distancering/paddyflatprogram3d.js +20 -73
- package/programs/rings/partial-ring/piece-of-pie.js +35 -137
- package/programs/totems/camerauniformblock.js +51 -64
- package/programs/totems/canvas-webglobe-info.js +40 -48
- package/programs/totems/gpu-selection-uniform-block.js +40 -44
- package/programs/totems/index.js +1 -1
- package/programs/two-d/pixel-padding-for-compass.js +29 -90
- package/programs/util.js +7 -6
- package/programs/vectorfields/index.js +1 -1
- package/programs/vectorfields/logics/drawrectangleparticles.js +29 -70
- package/programs/vectorfields/logics/index.js +3 -3
- package/programs/vectorfields/logics/pixelbased.js +35 -91
- package/programs/vectorfields/logics/ubo.js +25 -31
- package/programs/vectorfields/pingpongbuffermanager.js +34 -30
- package/rangerings/index.js +4 -4
- package/rangerings/plugin.js +252 -202
- package/rangerings/rangeringangletext.js +120 -108
- package/rangerings/ring-account.js +69 -52
- package/shaders/fragment-toy/firework.js +1 -55
- package/shaders/fragment-toy/singularity.js +1 -55
- package/timetracks/adaptors-line-strip.js +37 -26
- package/timetracks/adaptors.js +61 -47
- package/timetracks/index.js +4 -4
- package/timetracks/plugin-line-strip.js +63 -59
- package/timetracks/plugin.js +69 -65
- package/timetracks/program-line-strip.js +103 -296
- package/timetracks/program.js +113 -419
- package/timetracks/programpoint-line-strip.js +44 -97
- package/timetracks/programpoint.js +44 -90
- package/util/account/bufferoffsetmanager.js +95 -72
- package/util/account/index.js +1 -1
- package/util/account/single-attribute-buffer-management/buffer-manager.js +43 -39
- package/util/account/single-attribute-buffer-management/buffer-orchestrator.js +94 -64
- package/util/account/single-attribute-buffer-management/index.js +3 -3
- package/util/account/single-attribute-buffer-management/object-store.js +30 -28
- package/util/account/util.js +4 -2
- package/util/algorithms/search-binary.js +4 -4
- package/util/check/get.js +5 -5
- package/util/check/typecheck.js +15 -13
- package/util/geometry/index.js +11 -9
- package/util/gl-util/buffer/attribute-loader.js +20 -8
- package/util/gl-util/buffer/index.js +1 -1
- package/util/gl-util/draw-options/methods.js +7 -7
- package/util/gl-util/uniform-block/manager.js +67 -55
- package/util/heatwavedatamanager/datamanager.js +116 -56
- package/util/heatwavedatamanager/index.js +2 -2
- package/util/heatwavedatamanager/pointcoordinatesdatacalculator.js +40 -37
- package/util/heatwavedatamanager/pointcoordsmeta.js +10 -9
- package/util/index.js +6 -6
- package/util/interpolation/timetrack/index.js +1 -1
- package/util/interpolation/timetrack/timetrack-interpolator.js +29 -27
- package/util/interpolation/timetrack/web-worker-str.js +1 -179
- package/util/interpolation/timetrack/web-worker.js +4 -4
- package/util/jshelpers/data-filler.js +7 -7
- package/util/jshelpers/timefilters.js +7 -7
- package/util/picking/fence.js +7 -7
- package/util/picking/picker-displayer.js +52 -46
- package/util/programs/draw-texture-on-canvas.js +21 -39
- package/util/programs/shapesonglobe.js +64 -104
- package/util/programs/supersampletotextures.js +39 -45
- package/util/programs/texturetoglobe.js +48 -98
- package/util/shaderfunctions/geometrytransformations.js +27 -322
- package/util/shaderfunctions/nodata.js +1 -7
- package/util/shaderfunctions/noisefunctions.js +9 -39
- package/util/surface-line-data/arcs-to-cuts.js +23 -20
- package/util/webglobe/rasteroverlay.js +37 -35
- package/util/webglobjectbuilders.js +60 -55
- package/util/webglobjectbuilders1.js +49 -48
- package/waveparticles/adaptor.js +7 -6
- package/waveparticles/index.js +2 -2
- package/waveparticles/plugin.js +84 -79
- package/wind/imagetovectorfieldandmagnitude.js +15 -15
- package/wind/index.js +4 -4
- package/wind/plugin.js +251 -453
- package/wind/vectorfieldimage.js +5 -5
- package/write-text/attached-text-writer.js +48 -46
- package/write-text/context-text.js +58 -51
- package/write-text/context-text3.js +74 -69
|
@@ -19,8 +19,9 @@
|
|
|
19
19
|
*/
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
exports.BufferManager = void 0;
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
var BufferManager = /** @class */ (function () {
|
|
23
|
+
function BufferManager(gl, itemSize, _a) {
|
|
24
|
+
var _b = _a === void 0 ? {} : _a, _c = _b.bufferType, bufferType = _c === void 0 ? "STATIC_DRAW" : _c, _d = _b.buffer, buffer = _d === void 0 ? null : _d, _e = _b.initialCapacity, initialCapacity = _e === void 0 ? null : _e;
|
|
24
25
|
this.isFreed = false;
|
|
25
26
|
this.gl = gl;
|
|
26
27
|
this.itemSize = itemSize;
|
|
@@ -29,45 +30,47 @@ class BufferManager {
|
|
|
29
30
|
if (initialCapacity !== null)
|
|
30
31
|
this.resetWithCapacity(initialCapacity);
|
|
31
32
|
}
|
|
32
|
-
resetWithCapacity(capacity) {
|
|
33
|
-
|
|
33
|
+
BufferManager.prototype.resetWithCapacity = function (capacity) {
|
|
34
|
+
var _a = this, gl = _a.gl, buffer = _a.buffer, bufferType = _a.bufferType, itemSize = _a.itemSize;
|
|
34
35
|
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
|
|
35
36
|
// @ts-ignore
|
|
36
37
|
gl.bufferData(gl.ARRAY_BUFFER, capacity * itemSize * 4, gl[bufferType]);
|
|
37
38
|
gl.bindBuffer(gl.ARRAY_BUFFER, null);
|
|
38
|
-
}
|
|
39
|
-
deleteBulk(offsets) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
};
|
|
40
|
+
BufferManager.prototype.deleteBulk = function (offsets) {
|
|
41
|
+
var _a = this, gl = _a.gl, buffer = _a.buffer, itemSize = _a.itemSize;
|
|
42
|
+
var emptyBlock = new Float32Array(this.itemSize).fill(NaN);
|
|
43
|
+
var offsetMultiplier = itemSize * 4;
|
|
43
44
|
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
|
|
44
|
-
for (
|
|
45
|
+
for (var _i = 0, offsets_1 = offsets; _i < offsets_1.length; _i++) {
|
|
46
|
+
var offset = offsets_1[_i];
|
|
45
47
|
if (offset !== undefined) {
|
|
46
48
|
gl.bufferSubData(gl.ARRAY_BUFFER, offset * offsetMultiplier, emptyBlock);
|
|
47
49
|
}
|
|
48
50
|
}
|
|
49
51
|
gl.bindBuffer(gl.ARRAY_BUFFER, null);
|
|
50
|
-
}
|
|
51
|
-
insertBulk(blocks, offsets) {
|
|
52
|
-
|
|
52
|
+
};
|
|
53
|
+
BufferManager.prototype.insertBulk = function (blocks, offsets) {
|
|
54
|
+
var _a = this, gl = _a.gl, buffer = _a.buffer, itemSize = _a.itemSize;
|
|
53
55
|
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
|
|
54
|
-
|
|
55
|
-
for (
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
var offsetMultiplier = itemSize * 4;
|
|
57
|
+
for (var i = 0; i < blocks.length; i++) {
|
|
58
|
+
var block = blocks[i];
|
|
59
|
+
var offset = offsets[i] * offsetMultiplier;
|
|
58
60
|
if (offset !== undefined)
|
|
59
61
|
gl.bufferSubData(gl.ARRAY_BUFFER, offset, block);
|
|
60
62
|
}
|
|
61
63
|
gl.bindBuffer(gl.ARRAY_BUFFER, null);
|
|
62
|
-
}
|
|
64
|
+
};
|
|
63
65
|
// TODO: this is broken
|
|
64
|
-
defrag(offsetValues, occupiedCapacity, newCapacity) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
for (
|
|
70
|
-
|
|
66
|
+
BufferManager.prototype.defrag = function (offsetValues, occupiedCapacity, newCapacity) {
|
|
67
|
+
var _a = this, gl = _a.gl, buffer = _a.buffer, bufferType = _a.bufferType, itemSize = _a.itemSize;
|
|
68
|
+
var newArray = new Float32Array(newCapacity * itemSize);
|
|
69
|
+
var bufferData = this._getBufferData(occupiedCapacity);
|
|
70
|
+
var newOffset = 0;
|
|
71
|
+
for (var _i = 0, offsetValues_1 = offsetValues; _i < offsetValues_1.length; _i++) {
|
|
72
|
+
var offset = offsetValues_1[_i];
|
|
73
|
+
var itemOffset = offset * itemSize;
|
|
71
74
|
newArray.set(bufferData.slice(itemOffset, itemOffset + itemSize), newOffset);
|
|
72
75
|
newOffset += itemSize;
|
|
73
76
|
}
|
|
@@ -76,33 +79,34 @@ class BufferManager {
|
|
|
76
79
|
gl.bufferData(gl.ARRAY_BUFFER, newCapacity * itemSize * 4, gl[bufferType]);
|
|
77
80
|
gl.bufferSubData(gl.ARRAY_BUFFER, 0, newArray);
|
|
78
81
|
gl.bindBuffer(gl.ARRAY_BUFFER, null);
|
|
79
|
-
}
|
|
80
|
-
extendBuffer(occupiedCapacity, newCapacity) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
};
|
|
83
|
+
BufferManager.prototype.extendBuffer = function (occupiedCapacity, newCapacity) {
|
|
84
|
+
var _a = this, gl = _a.gl, buffer = _a.buffer, bufferType = _a.bufferType;
|
|
85
|
+
var itemSize = this.itemSize;
|
|
86
|
+
var bufferData = this._getBufferData(occupiedCapacity);
|
|
84
87
|
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
|
|
85
88
|
// @ts-ignore
|
|
86
89
|
gl.bufferData(gl.ARRAY_BUFFER, newCapacity * itemSize * 4, gl[bufferType]);
|
|
87
90
|
gl.bufferSubData(gl.ARRAY_BUFFER, 0, bufferData);
|
|
88
91
|
gl.bindBuffer(gl.ARRAY_BUFFER, null);
|
|
89
|
-
}
|
|
90
|
-
_getBufferData(occupiedCapacity) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
};
|
|
93
|
+
BufferManager.prototype._getBufferData = function (occupiedCapacity) {
|
|
94
|
+
var _a = this, gl = _a.gl, buffer = _a.buffer;
|
|
95
|
+
var size = occupiedCapacity * this.itemSize;
|
|
96
|
+
var bufferData = new Float32Array(size);
|
|
94
97
|
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
|
|
95
98
|
gl.getBufferSubData(gl.ARRAY_BUFFER, 0, bufferData);
|
|
96
99
|
gl.bindBuffer(gl.ARRAY_BUFFER, null);
|
|
97
100
|
return bufferData;
|
|
98
|
-
}
|
|
99
|
-
free() {
|
|
101
|
+
};
|
|
102
|
+
BufferManager.prototype.free = function () {
|
|
100
103
|
if (this.isFreed)
|
|
101
104
|
return;
|
|
102
105
|
this.gl.deleteBuffer(this.buffer);
|
|
103
106
|
// this.buffer = null;
|
|
104
107
|
// this.gl = null;
|
|
105
108
|
this.isFreed = true;
|
|
106
|
-
}
|
|
107
|
-
|
|
109
|
+
};
|
|
110
|
+
return BufferManager;
|
|
111
|
+
}());
|
|
108
112
|
exports.BufferManager = BufferManager;
|
|
@@ -1,43 +1,50 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BufferOrchestrator = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
var EXTRA_SIZE = 10;
|
|
5
|
+
var BufferOrchestrator = /** @class */ (function () {
|
|
6
|
+
function BufferOrchestrator(_a) {
|
|
7
|
+
var _b = _a === void 0 ? {} : _a, _c = _b.capacity, capacity = _c === void 0 ? 10 : _c;
|
|
7
8
|
this._capacity = capacity;
|
|
8
9
|
this.offsetMap = new Map();
|
|
9
10
|
this.tombstoneOffsets = [];
|
|
10
11
|
this._length = 0;
|
|
11
12
|
}
|
|
12
|
-
resetWithCapacity(bufferManagersMap, capacity
|
|
13
|
+
BufferOrchestrator.prototype.resetWithCapacity = function (bufferManagersMap, capacity) {
|
|
14
|
+
if (capacity === void 0) { capacity = null; }
|
|
13
15
|
this._capacity = capacity !== null ? capacity : this._capacity;
|
|
14
|
-
for (
|
|
16
|
+
for (var _i = 0, bufferManagersMap_1 = bufferManagersMap; _i < bufferManagersMap_1.length; _i++) {
|
|
17
|
+
var _a = bufferManagersMap_1[_i], key = _a[0], bufferManager = _a[1].bufferManager;
|
|
15
18
|
bufferManager.resetWithCapacity(this._capacity);
|
|
16
19
|
}
|
|
17
20
|
this.offsetMap.clear();
|
|
18
21
|
this.tombstoneOffsets = [];
|
|
19
22
|
this._length = 0;
|
|
20
|
-
}
|
|
21
|
-
insertBulk(items, bufferManagersMap) {
|
|
23
|
+
};
|
|
24
|
+
BufferOrchestrator.prototype.insertBulk = function (items, bufferManagersMap) {
|
|
22
25
|
this.autoExtendBuffers(items.length, bufferManagersMap);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
for (
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
var offsetMap = this.offsetMap;
|
|
27
|
+
var offsets = [];
|
|
28
|
+
for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {
|
|
29
|
+
var item = items_1[_i];
|
|
30
|
+
var o = offsetMap.get(item.key);
|
|
31
|
+
var offset = o !== undefined ? o : this.nextOffset();
|
|
28
32
|
offsetMap.set(item.key, offset);
|
|
29
33
|
offsets.push(offset);
|
|
30
34
|
}
|
|
31
|
-
for (
|
|
35
|
+
for (var _a = 0, bufferManagersMap_2 = bufferManagersMap; _a < bufferManagersMap_2.length; _a++) {
|
|
36
|
+
var _b = bufferManagersMap_2[_a], key = _b[0], _c = _b[1], bufferManager = _c.bufferManager, adaptor = _c.adaptor;
|
|
32
37
|
bufferManager.insertBulk(items.map(adaptor), offsets);
|
|
33
38
|
}
|
|
34
|
-
}
|
|
39
|
+
};
|
|
35
40
|
// does not assign offset to the new items.
|
|
36
|
-
updateBulk(items, bufferManagersMap, bufferKeys
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
+
BufferOrchestrator.prototype.updateBulk = function (items, bufferManagersMap, bufferKeys) {
|
|
42
|
+
if (bufferKeys === void 0) { bufferKeys = null; }
|
|
43
|
+
var offsetMap = this.offsetMap;
|
|
44
|
+
var offsets = [];
|
|
45
|
+
for (var _i = 0, items_2 = items; _i < items_2.length; _i++) {
|
|
46
|
+
var item = items_2[_i];
|
|
47
|
+
var offset = offsetMap.get(item.key);
|
|
41
48
|
if (offset !== undefined) {
|
|
42
49
|
offsets.push(offset);
|
|
43
50
|
}
|
|
@@ -46,71 +53,79 @@ class BufferOrchestrator {
|
|
|
46
53
|
}
|
|
47
54
|
}
|
|
48
55
|
if (bufferKeys) {
|
|
49
|
-
for (
|
|
50
|
-
|
|
56
|
+
for (var _a = 0, bufferKeys_1 = bufferKeys; _a < bufferKeys_1.length; _a++) {
|
|
57
|
+
var key = bufferKeys_1[_a];
|
|
58
|
+
var bufferManagerComp = bufferManagersMap.get(key);
|
|
51
59
|
if (bufferManagerComp === undefined)
|
|
52
60
|
throw new Error("updateBulk bufferKey does not exist");
|
|
53
|
-
|
|
61
|
+
var bufferManager = bufferManagerComp.bufferManager, adaptor = bufferManagerComp.adaptor;
|
|
54
62
|
bufferManager.insertBulk(items.map(adaptor), offsets);
|
|
55
63
|
}
|
|
56
64
|
}
|
|
57
65
|
else {
|
|
58
|
-
for (
|
|
66
|
+
for (var _b = 0, bufferManagersMap_3 = bufferManagersMap; _b < bufferManagersMap_3.length; _b++) {
|
|
67
|
+
var _c = bufferManagersMap_3[_b], key = _c[0], _d = _c[1], bufferManager = _d.bufferManager, adaptor = _d.adaptor;
|
|
59
68
|
bufferManager.insertBulk(items.map(adaptor), offsets);
|
|
60
69
|
}
|
|
61
70
|
}
|
|
62
|
-
}
|
|
63
|
-
deleteBulk(keys, bufferManagersMap) {
|
|
64
|
-
|
|
65
|
-
for (
|
|
66
|
-
|
|
71
|
+
};
|
|
72
|
+
BufferOrchestrator.prototype.deleteBulk = function (keys, bufferManagersMap) {
|
|
73
|
+
var offsets = [];
|
|
74
|
+
for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
|
|
75
|
+
var key = keys_1[_i];
|
|
76
|
+
var offset = this.getOffset(key);
|
|
67
77
|
if (offset !== undefined) {
|
|
68
78
|
offsets.push(offset);
|
|
69
79
|
this.offsetMap.delete(key);
|
|
70
80
|
this.tombstoneOffsets.push(offset);
|
|
71
81
|
}
|
|
72
82
|
}
|
|
73
|
-
for (
|
|
83
|
+
for (var _a = 0, bufferManagersMap_4 = bufferManagersMap; _a < bufferManagersMap_4.length; _a++) {
|
|
84
|
+
var _b = bufferManagersMap_4[_a], key = _b[0], bufferManager = _b[1].bufferManager;
|
|
74
85
|
bufferManager.deleteBulk(offsets);
|
|
75
86
|
}
|
|
76
|
-
}
|
|
77
|
-
getOffset(key) {
|
|
87
|
+
};
|
|
88
|
+
BufferOrchestrator.prototype.getOffset = function (key) {
|
|
78
89
|
return this.offsetMap.get(key);
|
|
79
|
-
}
|
|
80
|
-
nextOffset() {
|
|
90
|
+
};
|
|
91
|
+
BufferOrchestrator.prototype.nextOffset = function () {
|
|
81
92
|
if (this.tombstoneOffsets.length > 0) {
|
|
82
|
-
|
|
93
|
+
var offset = this.tombstoneOffsets.pop();
|
|
83
94
|
return offset;
|
|
84
95
|
}
|
|
85
96
|
if (this._length < this._capacity) {
|
|
86
97
|
return this._length++;
|
|
87
98
|
}
|
|
88
99
|
return false;
|
|
89
|
-
}
|
|
90
|
-
autoExtendBuffers(itemsLength, bufferManagersMap) {
|
|
100
|
+
};
|
|
101
|
+
BufferOrchestrator.prototype.autoExtendBuffers = function (itemsLength, bufferManagersMap) {
|
|
91
102
|
if (itemsLength <= this.emptySpace)
|
|
92
103
|
return;
|
|
93
|
-
|
|
94
|
-
for (
|
|
104
|
+
var newCapacity = this.length + itemsLength;
|
|
105
|
+
for (var _i = 0, bufferManagersMap_5 = bufferManagersMap; _i < bufferManagersMap_5.length; _i++) {
|
|
106
|
+
var _a = bufferManagersMap_5[_i], key = _a[0], bufferManager = _a[1].bufferManager;
|
|
95
107
|
bufferManager.extendBuffer(this.length, newCapacity);
|
|
96
108
|
}
|
|
97
109
|
this._capacity = newCapacity;
|
|
98
|
-
}
|
|
99
|
-
defrag(bufferManagers, bufferKeys) {
|
|
100
|
-
|
|
101
|
-
|
|
110
|
+
};
|
|
111
|
+
BufferOrchestrator.prototype.defrag = function (bufferManagers, bufferKeys) {
|
|
112
|
+
var offsetMap = this.offsetMap;
|
|
113
|
+
var newCapacity = offsetMap.size + EXTRA_SIZE;
|
|
102
114
|
if (bufferKeys) {
|
|
103
|
-
for (
|
|
104
|
-
|
|
115
|
+
for (var _i = 0, bufferKeys_2 = bufferKeys; _i < bufferKeys_2.length; _i++) {
|
|
116
|
+
var key = bufferKeys_2[_i];
|
|
117
|
+
var offset = offsetMap.get(key);
|
|
105
118
|
if (offset !== undefined) {
|
|
106
|
-
for (
|
|
119
|
+
for (var _a = 0, bufferManagers_1 = bufferManagers; _a < bufferManagers_1.length; _a++) {
|
|
120
|
+
var _b = bufferManagers_1[_a], key_1 = _b[0], bufferManager = _b[1].bufferManager;
|
|
107
121
|
bufferManager.defrag([offset], this.length, newCapacity);
|
|
108
122
|
}
|
|
109
123
|
}
|
|
110
124
|
}
|
|
111
125
|
}
|
|
112
126
|
else {
|
|
113
|
-
for (
|
|
127
|
+
for (var _c = 0, bufferManagers_2 = bufferManagers; _c < bufferManagers_2.length; _c++) {
|
|
128
|
+
var _d = bufferManagers_2[_c], key = _d[0], bufferManager = _d[1].bufferManager;
|
|
114
129
|
bufferManager.defrag(offsetMap.values(), this.length, newCapacity);
|
|
115
130
|
}
|
|
116
131
|
}
|
|
@@ -118,33 +133,48 @@ class BufferOrchestrator {
|
|
|
118
133
|
this._length = offsetMap.size;
|
|
119
134
|
this._capacity = newCapacity;
|
|
120
135
|
this.tombstoneOffsets = [];
|
|
121
|
-
}
|
|
136
|
+
};
|
|
122
137
|
/**
|
|
123
138
|
* Flushes metadata and sets length to 0 without actualize change on buffers
|
|
124
139
|
* This method created for cases in which data is loaded on each frame
|
|
125
140
|
*/
|
|
126
|
-
flush
|
|
141
|
+
BufferOrchestrator.prototype.flush = function (_a) {
|
|
142
|
+
var _b = _a === void 0 ? {} : _a, _c = _b.capacity, capacity = _c === void 0 ? 10 : _c;
|
|
127
143
|
this._length = 0;
|
|
128
144
|
this._capacity = capacity;
|
|
129
145
|
this.tombstoneOffsets = [];
|
|
130
146
|
this.offsetMap.clear();
|
|
131
|
-
}
|
|
132
|
-
_defrag() {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
for (
|
|
147
|
+
};
|
|
148
|
+
BufferOrchestrator.prototype._defrag = function () {
|
|
149
|
+
var newOffsetMap = new Map();
|
|
150
|
+
var newOffset = 0;
|
|
151
|
+
for (var _i = 0, _a = this.offsetMap; _i < _a.length; _i++) {
|
|
152
|
+
var _b = _a[_i], key = _b[0], offset = _b[1];
|
|
136
153
|
newOffsetMap.set(key, newOffset++);
|
|
137
154
|
}
|
|
138
155
|
this.offsetMap = newOffsetMap;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
156
|
+
};
|
|
157
|
+
Object.defineProperty(BufferOrchestrator.prototype, "length", {
|
|
158
|
+
get: function () {
|
|
159
|
+
return this._length;
|
|
160
|
+
},
|
|
161
|
+
enumerable: false,
|
|
162
|
+
configurable: true
|
|
163
|
+
});
|
|
164
|
+
Object.defineProperty(BufferOrchestrator.prototype, "emptySpace", {
|
|
165
|
+
get: function () {
|
|
166
|
+
return this._capacity - this.offsetMap.size;
|
|
167
|
+
},
|
|
168
|
+
enumerable: false,
|
|
169
|
+
configurable: true
|
|
170
|
+
});
|
|
171
|
+
Object.defineProperty(BufferOrchestrator.prototype, "capacity", {
|
|
172
|
+
get: function () {
|
|
173
|
+
return this._capacity;
|
|
174
|
+
},
|
|
175
|
+
enumerable: false,
|
|
176
|
+
configurable: true
|
|
177
|
+
});
|
|
178
|
+
return BufferOrchestrator;
|
|
179
|
+
}());
|
|
150
180
|
exports.BufferOrchestrator = BufferOrchestrator;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ObjectStore = exports.BufferManager = exports.BufferOrchestrator = void 0;
|
|
4
|
-
|
|
4
|
+
var buffer_orchestrator_1 = require("./buffer-orchestrator");
|
|
5
5
|
Object.defineProperty(exports, "BufferOrchestrator", { enumerable: true, get: function () { return buffer_orchestrator_1.BufferOrchestrator; } });
|
|
6
|
-
|
|
6
|
+
var buffer_manager_1 = require("./buffer-manager");
|
|
7
7
|
Object.defineProperty(exports, "BufferManager", { enumerable: true, get: function () { return buffer_manager_1.BufferManager; } });
|
|
8
|
-
|
|
8
|
+
var object_store_1 = require("./object-store");
|
|
9
9
|
Object.defineProperty(exports, "ObjectStore", { enumerable: true, get: function () { return object_store_1.ObjectStore; } });
|
|
@@ -1,51 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ObjectStore = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
var ObjectStore = /** @class */ (function () {
|
|
5
|
+
function ObjectStore(_a) {
|
|
6
|
+
var _b = _a === void 0 ? {} : _a, _c = _b.initialCapcity, initialCapcity = _c === void 0 ? 10 : _c;
|
|
6
7
|
this._container = this._createEmptyList(initialCapcity);
|
|
7
8
|
}
|
|
8
|
-
resetWithCapacity(capacity) {
|
|
9
|
+
ObjectStore.prototype.resetWithCapacity = function (capacity) {
|
|
9
10
|
this._container = this._createEmptyList(capacity);
|
|
10
|
-
}
|
|
11
|
-
deleteBulk(offsets) {
|
|
12
|
-
for (
|
|
13
|
-
|
|
11
|
+
};
|
|
12
|
+
ObjectStore.prototype.deleteBulk = function (offsets) {
|
|
13
|
+
for (var i = 0; i < offsets.length; i++) {
|
|
14
|
+
var offset = offsets[i];
|
|
14
15
|
if (offset !== undefined) {
|
|
15
16
|
this._container[offset] = null;
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
|
-
}
|
|
19
|
-
insertBulk(objects, offsets) {
|
|
20
|
-
for (
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
};
|
|
20
|
+
ObjectStore.prototype.insertBulk = function (objects, offsets) {
|
|
21
|
+
for (var i = 0; i < objects.length; i++) {
|
|
22
|
+
var object = objects[i];
|
|
23
|
+
var offset = offsets[i];
|
|
23
24
|
if (offset !== undefined) {
|
|
24
25
|
this._container[offset] = object;
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
|
-
}
|
|
28
|
-
defrag(offsetValues, occupiedCapacity, newCapacity) {
|
|
29
|
-
|
|
30
|
-
for (
|
|
31
|
-
|
|
28
|
+
};
|
|
29
|
+
ObjectStore.prototype.defrag = function (offsetValues, occupiedCapacity, newCapacity) {
|
|
30
|
+
var hold = this._createEmptyList(newCapacity);
|
|
31
|
+
for (var i = 0; i < offsetValues.length; i++) {
|
|
32
|
+
var offset = offsetValues[i];
|
|
32
33
|
if (offset !== undefined) {
|
|
33
34
|
hold[i] = this._container[offset];
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
37
|
this._container = hold;
|
|
37
|
-
}
|
|
38
|
-
extendBuffer(occupiedCapacity, newCapacity) {
|
|
39
|
-
|
|
38
|
+
};
|
|
39
|
+
ObjectStore.prototype.extendBuffer = function (occupiedCapacity, newCapacity) {
|
|
40
|
+
var oldCapacity = this._container.length;
|
|
40
41
|
this._container = this._container.concat(this._createEmptyList(newCapacity - oldCapacity));
|
|
41
|
-
}
|
|
42
|
-
_createEmptyList(size) {
|
|
42
|
+
};
|
|
43
|
+
ObjectStore.prototype._createEmptyList = function (size) {
|
|
43
44
|
return new Array(size).fill(null);
|
|
44
|
-
}
|
|
45
|
-
get(index) {
|
|
45
|
+
};
|
|
46
|
+
ObjectStore.prototype.get = function (index) {
|
|
46
47
|
return this._container[index];
|
|
47
|
-
}
|
|
48
|
-
free() {
|
|
49
|
-
}
|
|
50
|
-
|
|
48
|
+
};
|
|
49
|
+
ObjectStore.prototype.free = function () {
|
|
50
|
+
};
|
|
51
|
+
return ObjectStore;
|
|
52
|
+
}());
|
|
51
53
|
exports.ObjectStore = ObjectStore;
|
package/util/account/util.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.vaoAttributeLoader = void 0;
|
|
4
|
-
|
|
4
|
+
var vaoAttributeLoader = function (gl, buffer, index, size, stride, offset, divisor, type) {
|
|
5
|
+
if (divisor === void 0) { divisor = null; }
|
|
6
|
+
if (type === void 0) { type = null; }
|
|
5
7
|
if (!gl || !buffer) {
|
|
6
8
|
throw new Error("Invalid WebGL context or buffer");
|
|
7
9
|
}
|
|
@@ -11,7 +13,7 @@ const vaoAttributeLoader = (gl, buffer, index, size, stride, offset, divisor = n
|
|
|
11
13
|
if (stride < 0 || offset < 0) {
|
|
12
14
|
throw new Error("Stride and offset must be non-negative");
|
|
13
15
|
}
|
|
14
|
-
|
|
16
|
+
var attribType = type === null ? gl.FLOAT : type;
|
|
15
17
|
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
|
|
16
18
|
gl.enableVertexAttribArray(index);
|
|
17
19
|
gl.vertexAttribPointer(index, size, attribType, false, stride, offset);
|
|
@@ -10,10 +10,10 @@ exports.findFirstIndexInRange = void 0;
|
|
|
10
10
|
* @param {number} value
|
|
11
11
|
* @returns {Index}
|
|
12
12
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
var findFirstIndexInRange = function (container, value) {
|
|
14
|
+
var start = 0;
|
|
15
|
+
var end = container.length - 1;
|
|
16
|
+
var mid = 0;
|
|
17
17
|
while (start <= end) {
|
|
18
18
|
mid = Math.floor((start + end) / 2);
|
|
19
19
|
if (container[mid] <= value && value <= container[mid + 1])
|
package/util/check/get.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mapGetOrThrow = void 0;
|
|
4
|
-
|
|
5
|
-
return (mapInstance, ids)
|
|
4
|
+
var mapGetOrThrow = function (errorNote) {
|
|
5
|
+
return function (mapInstance, ids) {
|
|
6
6
|
if (!ids)
|
|
7
7
|
throw new Error("There is no map keys to get");
|
|
8
|
-
|
|
9
|
-
for (
|
|
10
|
-
|
|
8
|
+
var result = [];
|
|
9
|
+
for (var i = 0; i < ids.length; i++) {
|
|
10
|
+
var e = mapInstance.get(ids[i]);
|
|
11
11
|
if (e === undefined)
|
|
12
12
|
throw new Error(errorNote + " " + ids[i]);
|
|
13
13
|
result.push(e);
|
package/util/check/typecheck.js
CHANGED
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
// Generic
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.isBoolean = exports.constraintFloat = exports.isTextFont = exports.opacityCheck = exports.isHexColorWithOpacity = exports.isHexColor = void 0;
|
|
5
|
-
|
|
6
|
-
return (object)
|
|
7
|
-
properties.forEach(element
|
|
5
|
+
var doesOwnProperties = function (properties, errorMessage) {
|
|
6
|
+
return function (object) {
|
|
7
|
+
properties.forEach(function (element) {
|
|
8
8
|
if (!Object.hasOwn(object, element))
|
|
9
9
|
throw new TypeError(errorMessage + ':' + element);
|
|
10
10
|
});
|
|
11
11
|
};
|
|
12
12
|
};
|
|
13
|
-
|
|
13
|
+
var isHexColor = function (hexColor) { return /^#[0-9A-F]{6}$/i.test(hexColor); };
|
|
14
14
|
exports.isHexColor = isHexColor;
|
|
15
|
-
|
|
15
|
+
var isHexColorWithOpacity = function (hexColor) { return /^#[0-9A-F]{6}[0-9a-f]{0,2}$/i.test(hexColor); };
|
|
16
16
|
exports.isHexColorWithOpacity = isHexColorWithOpacity;
|
|
17
|
-
|
|
17
|
+
var opacityCheck = function (opacity) {
|
|
18
18
|
if (typeof opacity !== "number")
|
|
19
19
|
throw new TypeError("style.opacity must a number");
|
|
20
20
|
if (opacity < 0 || 1 < opacity)
|
|
@@ -22,27 +22,29 @@ const opacityCheck = (opacity) => {
|
|
|
22
22
|
};
|
|
23
23
|
exports.opacityCheck = opacityCheck;
|
|
24
24
|
// Text Related
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
var fontCheckTypes = doesOwnProperties(["name", "textColor", "hollowColor", "size", "bold", "italic"], "font does not have");
|
|
26
|
+
var fontCheckColors = function (textColor, hollowColor) { return (0, exports.isHexColor)(textColor) && (0, exports.isHexColor)(hollowColor); };
|
|
27
|
+
var isTextFont = function (textFont) {
|
|
28
28
|
fontCheckTypes(textFont);
|
|
29
29
|
fontCheckColors(textFont.textColor, textFont.hollowColor);
|
|
30
30
|
if (typeof textFont.size !== "number")
|
|
31
31
|
throw new TypeError("textFont size is not a number");
|
|
32
32
|
};
|
|
33
33
|
exports.isTextFont = isTextFont;
|
|
34
|
-
|
|
34
|
+
var constraintFloat = function (x, lowerBound, upperBound) {
|
|
35
|
+
if (lowerBound === void 0) { lowerBound = null; }
|
|
36
|
+
if (upperBound === void 0) { upperBound = null; }
|
|
35
37
|
if (typeof x !== "number")
|
|
36
38
|
throw new Error("type must be numberic");
|
|
37
39
|
if (lowerBound === null && upperBound === null)
|
|
38
40
|
return;
|
|
39
41
|
if (lowerBound !== null && lowerBound > x)
|
|
40
|
-
throw new Error(
|
|
42
|
+
throw new Error("input must be greater than ".concat(lowerBound));
|
|
41
43
|
if (upperBound !== null && x > upperBound)
|
|
42
|
-
throw new Error(
|
|
44
|
+
throw new Error("input must be less than ".concat(upperBound));
|
|
43
45
|
};
|
|
44
46
|
exports.constraintFloat = constraintFloat;
|
|
45
|
-
|
|
47
|
+
var isBoolean = function (x) {
|
|
46
48
|
if (typeof x !== "boolean")
|
|
47
49
|
throw new TypeError("type must be boolean");
|
|
48
50
|
};
|
package/util/geometry/index.js
CHANGED
|
@@ -25,8 +25,8 @@ function createBBoxMatrix(minX, maxX, minY, maxY) {
|
|
|
25
25
|
]);
|
|
26
26
|
}
|
|
27
27
|
function latLongBboxtoPixelXYBbox(minX, minY, maxX, maxY) {
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
var minXY = latLongToPixelXY(minY, minX);
|
|
29
|
+
var maxXY = latLongToPixelXY(maxY, maxX);
|
|
30
30
|
return createBBoxMatrix(minXY.x, maxXY.x, minXY.y, maxXY.y);
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
@@ -34,18 +34,20 @@ function latLongBboxtoPixelXYBbox(minX, minY, maxX, maxY) {
|
|
|
34
34
|
* @param {Float32List} array
|
|
35
35
|
* @returns {Float32Array}
|
|
36
36
|
*/
|
|
37
|
-
function normalize(array, newLength
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
function normalize(array, newLength) {
|
|
38
|
+
if (newLength === void 0) { newLength = 1; }
|
|
39
|
+
var total = 0;
|
|
40
|
+
for (var i = 0; i < array.length; i++) {
|
|
40
41
|
total += array[i] * array[i];
|
|
41
42
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
for (
|
|
43
|
+
var len = newLength / Math.sqrt(total);
|
|
44
|
+
var result = new Float32Array(array.length);
|
|
45
|
+
for (var i = 0; i < array.length; i++) {
|
|
45
46
|
result[i] = array[i] * len;
|
|
46
47
|
}
|
|
47
48
|
return result;
|
|
48
49
|
}
|
|
49
|
-
function sphereCoord(long, lat, globe, height
|
|
50
|
+
function sphereCoord(long, lat, globe, height) {
|
|
51
|
+
if (height === void 0) { height = 0; }
|
|
50
52
|
return normalize(globe.api_GetCartesian3DPoint(long, lat, 0, 0), 6378.137 + height);
|
|
51
53
|
}
|