@pirireis/webglobeplugins 0.9.11 → 0.9.13

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.
Files changed (179) hide show
  1. package/Math/angle-calculation.js +9 -11
  2. package/Math/arc.js +38 -41
  3. package/Math/bounds/line-bbox.js +79 -83
  4. package/Math/constants.js +4 -9
  5. package/Math/frustum/types.js +1 -2
  6. package/Math/juction/arc-plane.js +33 -36
  7. package/Math/juction/line-sphere.js +15 -18
  8. package/Math/juction/plane-plane.js +20 -23
  9. package/Math/line.js +42 -47
  10. package/Math/methods.js +69 -92
  11. package/Math/plane.js +33 -38
  12. package/Math/quaternion.js +48 -55
  13. package/Math/types.js +1 -2
  14. package/Math/utils.js +2 -4
  15. package/Math/vec3.js +46 -52
  16. package/algorithms/search-binary.js +5 -8
  17. package/altitude-locator/draw-subset-obj.js +8 -11
  18. package/altitude-locator/plugin.js +114 -133
  19. package/altitude-locator/types.js +1 -3
  20. package/arrowfield/adaptor.js +3 -7
  21. package/arrowfield/index.js +3 -10
  22. package/arrowfield/plugin.js +63 -69
  23. package/bearing-line/index.js +2 -8
  24. package/bearing-line/plugin.js +218 -248
  25. package/circle-line-chain/chain-list-map.js +82 -92
  26. package/circle-line-chain/plugin.js +147 -182
  27. package/circle-line-chain/util.js +1 -5
  28. package/compass-rose/compass-rose-padding-flat.js +111 -140
  29. package/compass-rose/compass-text-writer.js +63 -75
  30. package/compass-rose/index.js +3 -7
  31. package/compassrose/compassrose.js +50 -57
  32. package/compassrose/index.js +2 -8
  33. package/heatwave/index.js +3 -10
  34. package/heatwave/isobar/objectarraylabels.js +50 -56
  35. package/heatwave/isobar/plugin.js +111 -170
  36. package/heatwave/isobar/quadtreecontours.js +78 -96
  37. package/heatwave/plugins/heatwaveglobeshell.js +73 -94
  38. package/index.js +12 -58
  39. package/package.json +1 -1
  40. package/partialrings/buffer-manager.js +32 -70
  41. package/partialrings/index.js +2 -41
  42. package/partialrings/plugin.js +55 -98
  43. package/partialrings/program.js +141 -59
  44. package/pin/pin-object-array.js +89 -97
  45. package/pin/pin-point-totem.js +21 -22
  46. package/point-heat-map/adaptors/timetracksplugin-format-to-this.js +11 -14
  47. package/point-heat-map/plugin-webworker.js +45 -53
  48. package/point-heat-map/point-to-heat-map-flow.js +46 -51
  49. package/point-tracks/key-methods.js +2 -5
  50. package/point-tracks/plugin.js +141 -170
  51. package/programs/arrowfield/index.js +2 -7
  52. package/programs/arrowfield/logic.js +172 -67
  53. package/programs/arrowfield/object.js +35 -43
  54. package/programs/data2legend/density-to-legend.js +47 -26
  55. package/programs/data2legend/point-to-density-texture.js +56 -34
  56. package/programs/float2legendwithratio/index.js +2 -8
  57. package/programs/float2legendwithratio/logic.js +88 -45
  58. package/programs/float2legendwithratio/object.js +45 -54
  59. package/programs/globe-util/is-globe-moved.js +10 -13
  60. package/programs/globeshell/index.js +2 -8
  61. package/programs/globeshell/wiggle/index.js +2 -8
  62. package/programs/globeshell/wiggle/logic.js +191 -101
  63. package/programs/globeshell/wiggle/object.js +35 -43
  64. package/programs/helpers/blender/program.js +36 -22
  65. package/programs/helpers/fadeaway/index.js +2 -7
  66. package/programs/helpers/fadeaway/logic.js +36 -17
  67. package/programs/helpers/fadeaway/object.js +11 -18
  68. package/programs/helpers/index.js +2 -8
  69. package/programs/index.js +9 -58
  70. package/programs/line-on-globe/angled-line.js +95 -39
  71. package/programs/line-on-globe/circle-accurate-3d.js +86 -39
  72. package/programs/line-on-globe/circle-accurate-flat.js +116 -64
  73. package/programs/line-on-globe/circle-accurate.js +113 -46
  74. package/programs/line-on-globe/circle.js +106 -44
  75. package/programs/line-on-globe/degree-padding-around-circle-3d.js +89 -42
  76. package/programs/line-on-globe/lines-color-instanced-flat.js +84 -43
  77. package/programs/line-on-globe/linestrip.js +126 -63
  78. package/programs/line-on-globe/naive-accurate-flexible.js +126 -59
  79. package/programs/line-on-globe/to-the-surface.js +62 -35
  80. package/programs/line-on-globe/util.js +2 -5
  81. package/programs/picking/pickable-renderer.js +127 -46
  82. package/programs/point-on-globe/element-globe-surface-glow.js +83 -46
  83. package/programs/point-on-globe/element-point-glow.js +112 -47
  84. package/programs/point-on-globe/square-pixel-point.js +80 -34
  85. package/programs/programcache.js +14 -19
  86. package/programs/rings/distancering/circleflatprogram.js +76 -70
  87. package/programs/rings/distancering/circlepaddingfreeangleprogram.js +168 -194
  88. package/programs/rings/distancering/circlepaddysharedbuffer.js +121 -200
  89. package/programs/rings/distancering/index.js +5 -14
  90. package/programs/rings/distancering/paddyflatprogram.js +87 -70
  91. package/programs/rings/distancering/paddyflatprogram2d.js +89 -72
  92. package/programs/rings/distancering/paddyflatprogram3d.js +87 -70
  93. package/programs/rings/index.js +1 -17
  94. package/programs/rings/partial-ring/piece-of-pie.js +144 -44
  95. package/programs/totems/camerauniformblock.js +65 -56
  96. package/programs/totems/canvas-webglobe-info.js +49 -45
  97. package/programs/totems/gpu-selection-uniform-block.js +45 -45
  98. package/programs/totems/index.js +2 -40
  99. package/programs/two-d/pixel-padding-for-compass.js +94 -36
  100. package/programs/util.js +7 -10
  101. package/programs/vectorfields/index.js +3 -23
  102. package/programs/vectorfields/logics/drawrectangleparticles.js +73 -35
  103. package/programs/vectorfields/logics/index.js +4 -12
  104. package/programs/vectorfields/logics/pixelbased.js +94 -41
  105. package/programs/vectorfields/logics/ubo.js +32 -32
  106. package/programs/vectorfields/pingpongbuffermanager.js +30 -37
  107. package/rangerings/enum.js +2 -5
  108. package/rangerings/index.js +5 -15
  109. package/rangerings/plugin.js +223 -286
  110. package/rangerings/rangeringangletext.js +122 -137
  111. package/rangerings/ring-account.js +53 -75
  112. package/shaders/fragment-toy/firework.js +55 -4
  113. package/shaders/fragment-toy/singularity.js +56 -5
  114. package/timetracks/adaptors-line-strip.js +27 -44
  115. package/timetracks/adaptors.js +48 -67
  116. package/timetracks/index.js +5 -19
  117. package/timetracks/plugin-line-strip.js +65 -79
  118. package/timetracks/plugin.js +71 -85
  119. package/timetracks/program-line-strip.js +297 -107
  120. package/timetracks/program.js +421 -118
  121. package/timetracks/programpoint-line-strip.js +98 -48
  122. package/timetracks/programpoint.js +91 -48
  123. package/util/account/bufferoffsetmanager.js +72 -98
  124. package/util/account/index.js +3 -23
  125. package/util/account/single-attribute-buffer-management/buffer-manager.js +44 -48
  126. package/util/account/single-attribute-buffer-management/buffer-orchestrator.js +68 -98
  127. package/util/account/single-attribute-buffer-management/index.js +4 -9
  128. package/util/account/single-attribute-buffer-management/object-store.js +29 -34
  129. package/util/account/single-attribute-buffer-management/types.js +1 -2
  130. package/util/account/util.js +2 -8
  131. package/util/algorithms/search-binary.js +5 -8
  132. package/util/check/get.js +5 -9
  133. package/util/check/typecheck.js +13 -24
  134. package/util/geometry/index.js +10 -18
  135. package/util/gl-util/buffer/attribute-loader.js +10 -26
  136. package/util/gl-util/buffer/index.js +2 -5
  137. package/util/gl-util/draw-options/methods.js +10 -15
  138. package/util/gl-util/uniform-block/manager.js +69 -72
  139. package/util/heatwavedatamanager/datamanager.js +56 -119
  140. package/util/heatwavedatamanager/index.js +3 -10
  141. package/util/heatwavedatamanager/pointcoordinatesdatacalculator.js +38 -47
  142. package/util/heatwavedatamanager/pointcoordsmeta.js +9 -13
  143. package/util/index.js +13 -57
  144. package/util/interpolation/timetrack/index.js +2 -5
  145. package/util/interpolation/timetrack/timetrack-interpolator.js +30 -36
  146. package/util/interpolation/timetrack/web-worker-str.js +180 -5
  147. package/util/interpolation/timetrack/web-worker.js +4 -6
  148. package/util/jshelpers/data-filler.js +8 -11
  149. package/util/jshelpers/equality.js +1 -3
  150. package/util/jshelpers/index.js +2 -37
  151. package/util/jshelpers/timefilters.js +8 -10
  152. package/util/picking/fence.js +8 -11
  153. package/util/picking/picker-displayer.js +49 -58
  154. package/util/programs/draw-texture-on-canvas.js +41 -26
  155. package/util/programs/index.js +1 -17
  156. package/util/programs/shapesonglobe.js +104 -68
  157. package/util/programs/supersampletotextures.js +45 -43
  158. package/util/programs/texturetoglobe.js +99 -52
  159. package/util/shaderfunctions/geometrytransformations.js +323 -35
  160. package/util/shaderfunctions/index.js +2 -18
  161. package/util/shaderfunctions/nodata.js +8 -5
  162. package/util/shaderfunctions/noisefunctions.js +40 -12
  163. package/util/surface-line-data/arcs-to-cuts.js +20 -23
  164. package/util/webglobe/gldefaultstates.js +1 -4
  165. package/util/webglobe/index.js +2 -18
  166. package/util/webglobe/rasteroverlay.js +36 -41
  167. package/util/webglobjectbuilders.js +70 -93
  168. package/util/webglobjectbuilders1.js +63 -82
  169. package/waveparticles/adaptor.js +7 -10
  170. package/waveparticles/index.js +3 -10
  171. package/waveparticles/plugin.js +82 -90
  172. package/wind/imagetovectorfieldandmagnitude.js +16 -19
  173. package/wind/index.js +5 -14
  174. package/wind/plugin.js +454 -291
  175. package/wind/vectorfieldimage.js +6 -8
  176. package/write-text/attached-text-writer.js +48 -54
  177. package/write-text/context-text.js +52 -63
  178. package/write-text/context-text3.js +71 -80
  179. package/write-text/index.js +1 -5
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /**
3
2
  * ring data model
4
3
  * [centerX, centerY, range, padding, r, g, b, a, hide]
@@ -6,68 +5,21 @@
6
5
  * Buffer is initialized with ring capacity and buffer is created with that capacity. It might be called buffer orphaning.
7
6
  *
8
7
  * */
9
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
10
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
11
- return new (P || (P = Promise))(function (resolve, reject) {
12
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
13
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
14
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
15
- step((generator = generator.apply(thisArg, _arguments || [])).next());
16
- });
17
- };
18
- var __generator = (this && this.__generator) || function (thisArg, body) {
19
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
20
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
21
- function verb(n) { return function (v) { return step([n, v]); }; }
22
- function step(op) {
23
- if (f) throw new TypeError("Generator is already executing.");
24
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
25
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
26
- if (y = 0, t) op = [op[0] & 2, t.value];
27
- switch (op[0]) {
28
- case 0: case 1: t = op; break;
29
- case 4: _.label++; return { value: op[1], done: false };
30
- case 5: _.label++; y = op[1]; op = [0]; continue;
31
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
32
- default:
33
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
34
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
35
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
36
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
37
- if (t[2]) _.ops.pop();
38
- _.trys.pop(); continue;
39
- }
40
- op = body.call(thisArg, _);
41
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
42
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
43
- }
44
- };
45
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
46
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
47
- if (ar || !(i in from)) {
48
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
49
- ar[i] = from[i];
50
- }
51
- }
52
- return to.concat(ar || Array.prototype.slice.call(from));
53
- };
54
- Object.defineProperty(exports, "__esModule", { value: true });
55
8
  /**
56
9
  * TODO
57
10
  * delete registerCenter
58
11
  *
59
12
  *
60
13
  */
61
- var RING_SIZE = 9;
62
- var default_1 = /** @class */ (function () {
14
+ const RING_SIZE = 9;
15
+ export default class {
63
16
  /**
64
17
  * @param {WebGL2RenderingContext} gl
65
18
  * @param {Object} options
66
19
  * @param {Number} options.initialRingCapacity
67
20
  * @param {String} options.bufferType - "static" or "dynamic"
68
21
  * */
69
- function default_1(gl, globe, _a) {
70
- var _b = _a === void 0 ? {} : _a, _c = _b.initialRingCapacity, initialRingCapacity = _c === void 0 ? 20 : _c, _d = _b.bufferType, bufferType = _d === void 0 ? "STATIC_DRAW" : _d, _e = _b.implicitExtentionRate, implicitExtentionRate = _e === void 0 ? 1.2 : _e;
22
+ constructor(gl, globe, { initialRingCapacity = 20, bufferType = "STATIC_DRAW", implicitExtentionRate = 1.2 } = {}) {
71
23
  this.gl = gl;
72
24
  this.globe = globe;
73
25
  this._capacity = initialRingCapacity;
@@ -131,103 +83,86 @@ var default_1 = /** @class */ (function () {
131
83
  * @param {Number} options.x
132
84
  * @param {Number} options.y
133
85
  * */
134
- default_1.prototype.registerCenter = function (centerID, _a) {
135
- var _b = _a === void 0 ? {} : _a, _c = _b.x, x = _c === void 0 ? 0 : _c, _d = _b.y, y = _d === void 0 ? 0 : _d;
86
+ registerCenter(centerID, { x = 0, y = 0 } = {}) {
136
87
  this._centerMap.set(centerID, new Map([
137
88
  ["x", x],
138
89
  ["y", y],
139
90
  ["rings", []] // ring keys
140
91
  ]));
141
- };
92
+ }
142
93
  /**
143
94
  *
144
95
  * @param {null | number} newCapacity if null, vacuum defragmentation is applied -> capacity is set to the current ring count
145
96
  */
146
- default_1.prototype.defrag = function (newCapacity) {
147
- if (newCapacity === void 0) { newCapacity = null; }
148
- var _a = this, _removedRingsOffsetStack = _a._removedRingsOffsetStack, _ringOffsets = _a._ringOffsets;
97
+ defrag(newCapacity = null) {
98
+ const { _removedRingsOffsetStack, _ringOffsets } = this;
149
99
  _removedRingsOffsetStack.sort();
150
100
  this._capacity = newCapacity || this._ringCounter;
151
- var arrayToLoad = new Float32Array(this._capacity * RING_SIZE);
152
- var bufferData = this._getBufferData();
153
- var arrayOffset = 0;
154
- var newRingOffsets = new Map();
155
- for (var _i = 0, _ringOffsets_1 = _ringOffsets; _i < _ringOffsets_1.length; _i++) {
156
- var _b = _ringOffsets_1[_i], key = _b[0], offset = _b[1];
157
- var ringOffset = offset / 4;
158
- var ringData = bufferData.slice(ringOffset, ringOffset + RING_SIZE);
101
+ const arrayToLoad = new Float32Array(this._capacity * RING_SIZE);
102
+ const bufferData = this._getBufferData();
103
+ let arrayOffset = 0;
104
+ const newRingOffsets = new Map();
105
+ for (const [key, offset] of _ringOffsets) {
106
+ const ringOffset = offset / 4;
107
+ const ringData = bufferData.slice(ringOffset, ringOffset + RING_SIZE);
159
108
  arrayToLoad.set(ringData, arrayOffset);
160
109
  newRingOffsets.set(key, arrayOffset * 4);
161
110
  arrayOffset += RING_SIZE;
162
111
  }
163
- var _c = this, gl = _c.gl, buffer = _c.buffer;
112
+ const { gl, buffer } = this;
164
113
  gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
165
114
  gl.bufferData(gl.ARRAY_BUFFER, arrayToLoad, this._bufferType);
166
115
  gl.bindBuffer(gl.ARRAY_BUFFER, null);
167
116
  this._ringOffsets = newRingOffsets;
168
117
  this._removedRingsOffsetStack = [];
169
118
  this._length = this._ringCounter;
170
- };
171
- default_1.prototype.extendBuffer = function (newCapacity) {
119
+ }
120
+ extendBuffer(newCapacity) {
172
121
  if (this._capacity >= newCapacity) {
173
122
  console.warn("New capacity is smaller than the current capacity");
174
123
  return;
175
124
  }
176
125
  this._capacity = newCapacity;
177
- var _a = this, gl = _a.gl, buffer = _a.buffer;
178
- var bufferData = this._getBufferData();
126
+ const { gl, buffer } = this;
127
+ const bufferData = this._getBufferData();
179
128
  gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
180
129
  gl.bufferData(gl.ARRAY_BUFFER, newCapacity * RING_SIZE * 4, this._bufferType);
181
130
  gl.bufferSubData(gl.ARRAY_BUFFER, 0, bufferData);
182
131
  gl.bindBuffer(gl.ARRAY_BUFFER, null);
183
- };
184
- default_1.prototype.checkCapacity = function (sizeLeft) {
185
- if (sizeLeft === void 0) { sizeLeft = 1; }
132
+ }
133
+ checkCapacity(sizeLeft = 1) {
186
134
  return sizeLeft <= this._capacity - this._ringCounter;
187
- };
188
- default_1.prototype.capacityLeft = function () {
135
+ }
136
+ capacityLeft() {
189
137
  return this._capacity - this._ringCounter;
190
- };
191
- Object.defineProperty(default_1.prototype, "capacity", {
192
- get: function () {
193
- return this._capacity;
194
- },
195
- enumerable: false,
196
- configurable: true
197
- });
198
- Object.defineProperty(default_1.prototype, "length", {
199
- get: function () {
200
- return this._length;
201
- },
202
- enumerable: false,
203
- configurable: true
204
- });
205
- Object.defineProperty(default_1.prototype, "ringCount", {
206
- get: function () {
207
- return this._ringCounter;
208
- },
209
- enumerable: false,
210
- configurable: true
211
- });
138
+ }
139
+ get capacity() {
140
+ return this._capacity;
141
+ }
142
+ get length() {
143
+ return this._length;
144
+ }
145
+ get ringCount() {
146
+ return this._ringCounter;
147
+ }
212
148
  /**
213
149
  * @param {Array<string>} centerIDs
214
150
  * */
215
- default_1.prototype.removeCenters = function (centerIDs) {
216
- var _a = this, gl = _a.gl, buffer = _a.buffer;
217
- var zero = new Float32Array([0]);
151
+ removeCenters(centerIDs) {
152
+ const { gl, buffer } = this;
153
+ const zero = new Float32Array([0]);
218
154
  gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
219
- for (var _i = 0, centerIDs_1 = centerIDs; _i < centerIDs_1.length; _i++) {
220
- var centerID = centerIDs_1[_i];
155
+ for (let centerID of centerIDs) {
221
156
  if (!this._centerMap.has(centerID)) {
222
157
  // console.warn("Center is not registered yet");
223
158
  // return;
224
159
  continue;
225
160
  }
226
- var center = this._centerMap.get(centerID);
227
- var rings = center.get("rings");
228
- for (var i = 0; i < rings.length; i++) {
161
+ const center = this._centerMap.get(centerID);
162
+ const rings = center.get("rings");
163
+ for (let i = 0; i < rings.length; i++) {
229
164
  // set range to 0, 3rd index of float32array
230
- var offset = this._ringOffsets.get(rings[i]);
165
+ const offset = this._ringOffsets.get(rings[i]);
231
166
  gl.bufferSubData(gl.ARRAY_BUFFER, offset + 8, zero);
232
167
  this._removedRingsOffsetStack.push(offset);
233
168
  this._ringOffsets.delete(rings[i]);
@@ -237,7 +172,7 @@ var default_1 = /** @class */ (function () {
237
172
  }
238
173
  gl.bindBuffer(gl.ARRAY_BUFFER, null);
239
174
  this.globe.DrawRender();
240
- };
175
+ }
241
176
  /**
242
177
  *
243
178
  * @property {String} centerID
@@ -245,46 +180,43 @@ var default_1 = /** @class */ (function () {
245
180
  * @property {Number} y radians y
246
181
  * @param {*} centerIDxyList
247
182
  */
248
- default_1.prototype.updateCentersXY = function (centerIDxyList) {
249
- var _a = this, gl = _a.gl, buffer = _a.buffer;
183
+ updateCentersXY(centerIDxyList) {
184
+ const { gl, buffer } = this;
250
185
  gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
251
- for (var _i = 0, centerIDxyList_1 = centerIDxyList; _i < centerIDxyList_1.length; _i++) {
252
- var _b = centerIDxyList_1[_i], centerID = _b.centerID, x = _b.x, y = _b.y;
253
- var center = this._centerMap.get(centerID);
186
+ for (let { centerID, x, y } of centerIDxyList) {
187
+ const center = this._centerMap.get(centerID);
254
188
  center.set("x", x);
255
189
  center.set("y", y);
256
- var xyBlock = new Float32Array([x, y]);
257
- var rings = center.get("rings");
258
- for (var i = 0; i < rings.length; i++) {
259
- var offset = this._ringOffsets.get(rings[i]);
190
+ const xyBlock = new Float32Array([x, y]);
191
+ const rings = center.get("rings");
192
+ for (let i = 0; i < rings.length; i++) {
193
+ const offset = this._ringOffsets.get(rings[i]);
260
194
  gl.bufferSubData(gl.ARRAY_BUFFER, offset, xyBlock);
261
195
  }
262
196
  }
263
197
  gl.bindBuffer(gl.ARRAY_BUFFER, null);
264
198
  this.globe.DrawRender();
265
- };
266
- default_1.prototype.updateCentersHide = function (data) {
267
- var _a = this, gl = _a.gl, buffer = _a.buffer;
199
+ }
200
+ updateCentersHide(data) {
201
+ const { gl, buffer } = this;
268
202
  gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
269
- for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {
270
- var _b = data_1[_i], centerID = _b.centerID, _c = _b.hide, hide = _c === void 0 ? null : _c;
203
+ for (let { centerID, hide = null } of data) {
271
204
  if (hide === null)
272
205
  continue;
273
- var rings = this._centerMap.get(centerID).get("rings");
274
- for (var i = 0; i < rings.length; i++) {
275
- var offset = this._ringOffsets.get(rings[i]);
206
+ const rings = this._centerMap.get(centerID).get("rings");
207
+ for (let i = 0; i < rings.length; i++) {
208
+ const offset = this._ringOffsets.get(rings[i]);
276
209
  gl.bufferSubData(gl.ARRAY_BUFFER, offset + 32, new Float32Array([hide]));
277
210
  }
278
211
  }
279
212
  gl.bindBuffer(gl.ARRAY_BUFFER, null);
280
213
  this.globe.DrawRender();
281
- };
282
- default_1.prototype.insertBulk = function (rangeRingDatas) {
283
- var _a = this, gl = _a.gl, buffer = _a.buffer;
214
+ }
215
+ insertBulk(rangeRingDatas) {
216
+ const { gl, buffer } = this;
284
217
  { // remove existring centers
285
- var existingCenterIDs = [];
286
- for (var _i = 0, rangeRingDatas_1 = rangeRingDatas; _i < rangeRingDatas_1.length; _i++) {
287
- var centerID = rangeRingDatas_1[_i].centerID;
218
+ const existingCenterIDs = [];
219
+ for (let { centerID } of rangeRingDatas) {
288
220
  if (this._centerMap.has(centerID)) {
289
221
  existingCenterIDs.push(centerID);
290
222
  }
@@ -292,9 +224,8 @@ var default_1 = /** @class */ (function () {
292
224
  this.removeCenters(existingCenterIDs);
293
225
  }
294
226
  { // capacity check
295
- var incomingRingSize = 0;
296
- for (var _b = 0, rangeRingDatas_2 = rangeRingDatas; _b < rangeRingDatas_2.length; _b++) {
297
- var rings = rangeRingDatas_2[_b].rings;
227
+ let incomingRingSize = 0;
228
+ for (let { rings } of rangeRingDatas) {
298
229
  incomingRingSize += rings.length;
299
230
  // It should check if ring is already registered but for now it is not implemented.
300
231
  // Reasons: increase in complexity and performance
@@ -302,14 +233,12 @@ var default_1 = /** @class */ (function () {
302
233
  this._implicitExtendBufferInNeed(incomingRingSize);
303
234
  }
304
235
  gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
305
- for (var _c = 0, rangeRingDatas_3 = rangeRingDatas; _c < rangeRingDatas_3.length; _c++) {
306
- var _d = rangeRingDatas_3[_c], centerID = _d.centerID, x = _d.x, y = _d.y, rings = _d.rings, _e = _d.hide, hide = _e === void 0 ? 0 : _e;
307
- this.registerCenter(centerID, { x: x, y: y });
308
- for (var _f = 0, rings_1 = rings; _f < rings_1.length; _f++) {
309
- var _g = rings_1[_f], ringID = _g.ringID, radius = _g.radius, padding = _g.padding, rgba = _g.rgba;
310
- var key = this._ringKey(centerID, ringID);
311
- var bufferData = new Float32Array(__spreadArray(__spreadArray([x, y, radius, padding], rgba, true), [hide], false));
312
- var offset = this._nextBufferOffset();
236
+ for (const { centerID, x, y, rings, hide = 0 } of rangeRingDatas) {
237
+ this.registerCenter(centerID, { x, y });
238
+ for (const { ringID, radius, padding, rgba } of rings) {
239
+ const key = this._ringKey(centerID, ringID);
240
+ const bufferData = new Float32Array([x, y, radius, padding, ...rgba, hide]);
241
+ const offset = this._nextBufferOffset();
313
242
  gl.bufferSubData(gl.ARRAY_BUFFER, offset, bufferData);
314
243
  this._ringOffsets.set(key, offset);
315
244
  this._centerMap.get(centerID).get("rings").push(key);
@@ -317,61 +246,60 @@ var default_1 = /** @class */ (function () {
317
246
  }
318
247
  gl.bindBuffer(gl.ARRAY_BUFFER, null);
319
248
  this.globe.DrawRender();
320
- };
249
+ }
321
250
  /**
322
251
  *
323
252
  * @param {Array<{centerID, rgba}} centersColors
324
253
  */
325
- default_1.prototype.updateCentersColor = function (centersColors) {
326
- var _a = this, gl = _a.gl, buffer = _a.buffer;
254
+ updateCentersColor(centersColors) {
255
+ const { gl, buffer } = this;
327
256
  gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
328
- for (var _i = 0, centersColors_1 = centersColors; _i < centersColors_1.length; _i++) {
329
- var _b = centersColors_1[_i], centerID = _b.centerID, rgba = _b.rgba;
257
+ for (let { centerID, rgba } of centersColors) {
330
258
  if (!this._centerMap.has(centerID)) {
331
259
  console.warn("Center is not registered yet");
332
260
  continue;
333
261
  }
334
- var rings = this._centerMap.get(centerID).get("rings");
335
- var block = new Float32Array(rgba);
336
- for (var i = 0; i < rings.length; i++) {
337
- var offset = this._ringOffsets.get(rings[i]);
262
+ const rings = this._centerMap.get(centerID).get("rings");
263
+ const block = new Float32Array(rgba);
264
+ for (let i = 0; i < rings.length; i++) {
265
+ const offset = this._ringOffsets.get(rings[i]);
338
266
  gl.bufferSubData(gl.ARRAY_BUFFER, offset + 16, block);
339
267
  }
340
268
  }
341
269
  gl.bindBuffer(gl.ARRAY_BUFFER, null);
342
270
  this.globe.DrawRender();
343
- };
271
+ }
344
272
  // ----------------- INTERNAL METHODS ----------------- //
345
- default_1.prototype.bindCircleVAO = function () {
273
+ bindCircleVAO() {
346
274
  this.gl.bindVertexArray(this._circleVAO);
347
- };
348
- default_1.prototype.bindPaddingVAO = function () {
275
+ }
276
+ bindPaddingVAO() {
349
277
  this.gl.bindVertexArray(this._paddingVAO);
350
- };
351
- default_1.prototype.free = function () {
278
+ }
279
+ free() {
352
280
  this.gl.deleteBuffer(this.buffer);
353
281
  this.gl.deleteVertexArray(this._circleVAO);
354
282
  this.gl.deleteVertexArray(this._paddingVAO);
355
- };
283
+ }
356
284
  // ----------------- PRIVATE METHODS ----------------- //
357
- default_1.prototype._getBufferData = function () {
358
- var _a = this, gl = _a.gl, buffer = _a.buffer;
359
- var size = new Float32Array(this._length * RING_SIZE);
360
- var bufferData = new Float32Array(size);
285
+ _getBufferData() {
286
+ const { gl, buffer } = this;
287
+ const size = new Float32Array(this._length * RING_SIZE);
288
+ const bufferData = new Float32Array(size);
361
289
  gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
362
290
  gl.getBufferSubData(gl.ARRAY_BUFFER, 0, bufferData);
363
291
  gl.bindBuffer(gl.ARRAY_BUFFER, null);
364
292
  return bufferData;
365
- };
366
- default_1.prototype._ringKey = function (centerID, ringID) {
367
- return "C=".concat(centerID, ",R=").concat(ringID);
368
- };
369
- default_1.prototype._nextBufferOffset = function () {
293
+ }
294
+ _ringKey(centerID, ringID) {
295
+ return `C=${centerID},R=${ringID}`;
296
+ }
297
+ _nextBufferOffset() {
370
298
  if (!this.checkCapacity()) {
371
299
  throw new Error("Buffer is full");
372
300
  return;
373
301
  }
374
- var offset;
302
+ let offset;
375
303
  if (this._removedRingsOffsetStack.length > 0) {
376
304
  offset = this._removedRingsOffsetStack.pop();
377
305
  }
@@ -381,42 +309,35 @@ var default_1 = /** @class */ (function () {
381
309
  }
382
310
  this._ringCounter++;
383
311
  return offset;
384
- };
385
- default_1.prototype._implicitExtendBufferInNeed = function (incomingRingSize) {
386
- var overCapacity = incomingRingSize - this.capacityLeft();
312
+ }
313
+ _implicitExtendBufferInNeed(incomingRingSize) {
314
+ const overCapacity = incomingRingSize - this.capacityLeft();
387
315
  if (overCapacity <= 0)
388
316
  return;
389
- var newCapacity = Math.ceil((this._capacity + overCapacity) * this.implicitExtentionRate);
317
+ const newCapacity = Math.ceil((this._capacity + overCapacity) * this.implicitExtentionRate);
390
318
  this.extendBuffer(newCapacity);
391
- };
392
- default_1.prototype.readRing = function (centerID, ringID) {
393
- return __awaiter(this, void 0, void 0, function () {
394
- var key, offset, _a, gl, buffer, bufferData;
395
- return __generator(this, function (_b) {
396
- key = this._ringKey(centerID, ringID);
397
- if (!this._ringOffsets.has(key)) {
398
- console.warn("Ring is not registered yet");
399
- return [2 /*return*/];
400
- }
401
- offset = this._ringOffsets.get(key);
402
- _a = this, gl = _a.gl, buffer = _a.buffer;
403
- gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
404
- bufferData = new Float32Array(9);
405
- gl.getBufferSubData(gl.ARRAY_BUFFER, offset, bufferData);
406
- return [2 /*return*/, {
407
- centerX: bufferData[0],
408
- centerY: bufferData[1],
409
- range: bufferData[2],
410
- padding: bufferData[3],
411
- rgba: [bufferData[4], bufferData[5], bufferData[6], bufferData[7]],
412
- hide: bufferData[8]
413
- }];
414
- });
415
- });
416
- };
417
- return default_1;
418
- }());
419
- exports.default = default_1;
319
+ }
320
+ async readRing(centerID, ringID) {
321
+ const key = this._ringKey(centerID, ringID);
322
+ if (!this._ringOffsets.has(key)) {
323
+ console.warn("Ring is not registered yet");
324
+ return;
325
+ }
326
+ const offset = this._ringOffsets.get(key);
327
+ const { gl, buffer } = this;
328
+ gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
329
+ const bufferData = new Float32Array(9);
330
+ gl.getBufferSubData(gl.ARRAY_BUFFER, offset, bufferData);
331
+ return {
332
+ centerX: bufferData[0],
333
+ centerY: bufferData[1],
334
+ range: bufferData[2],
335
+ padding: bufferData[3],
336
+ rgba: [bufferData[4], bufferData[5], bufferData[6], bufferData[7]],
337
+ hide: bufferData[8]
338
+ };
339
+ }
340
+ }
420
341
  /**
421
342
  * Documentation
422
343
  *
@@ -1,14 +1,5 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.PaddingFreeAngleCache = exports.CirclePaddySharedBuffer = exports.PaddingProgramCache = exports.circleProgramCache = void 0;
7
- var circleflatprogram_1 = require("./circleflatprogram");
8
- Object.defineProperty(exports, "circleProgramCache", { enumerable: true, get: function () { return circleflatprogram_1.programCache; } });
9
- var paddyflatprogram_1 = require("./paddyflatprogram");
10
- Object.defineProperty(exports, "PaddingProgramCache", { enumerable: true, get: function () { return paddyflatprogram_1.PaddingProgramCache; } });
11
- var circlepaddysharedbuffer_1 = __importDefault(require("./circlepaddysharedbuffer"));
12
- exports.CirclePaddySharedBuffer = circlepaddysharedbuffer_1.default;
13
- var circlepaddingfreeangleprogram_1 = require("./circlepaddingfreeangleprogram");
14
- Object.defineProperty(exports, "PaddingFreeAngleCache", { enumerable: true, get: function () { return circlepaddingfreeangleprogram_1.PaddingFreeAngleCache; } });
1
+ import { programCache as circleProgramCache } from './circleflatprogram';
2
+ import { PaddingProgramCache } from './paddyflatprogram';
3
+ import CirclePaddySharedBuffer from './circlepaddysharedbuffer';
4
+ import { PaddingFreeAngleCache } from './circlepaddingfreeangleprogram';
5
+ export { circleProgramCache, PaddingProgramCache, CirclePaddySharedBuffer, PaddingFreeAngleCache };