@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.
Files changed (166) hide show
  1. package/Math/angle-calculation.js +8 -8
  2. package/Math/arc.js +18 -18
  3. package/Math/bounds/line-bbox.js +80 -78
  4. package/Math/constants.js +3 -3
  5. package/Math/juction/arc-plane.js +23 -23
  6. package/Math/juction/line-sphere.js +11 -11
  7. package/Math/juction/plane-plane.js +11 -11
  8. package/Math/line.js +16 -14
  9. package/Math/methods.js +72 -67
  10. package/Math/plane.js +18 -16
  11. package/Math/quaternion.js +49 -45
  12. package/Math/utils.js +2 -2
  13. package/Math/vec3.js +45 -42
  14. package/algorithms/search-binary.js +4 -4
  15. package/altitude-locator/draw-subset-obj.js +8 -7
  16. package/altitude-locator/plugin.js +113 -97
  17. package/arrowfield/adaptor.js +4 -3
  18. package/arrowfield/index.js +2 -2
  19. package/arrowfield/plugin.js +65 -62
  20. package/bearing-line/index.js +1 -1
  21. package/bearing-line/plugin.js +225 -200
  22. package/circle-line-chain/chain-list-map.js +88 -82
  23. package/circle-line-chain/plugin.js +154 -129
  24. package/circle-line-chain/util.js +1 -1
  25. package/compass-rose/compass-rose-padding-flat.js +126 -104
  26. package/compass-rose/compass-text-writer.js +70 -62
  27. package/compass-rose/index.js +2 -2
  28. package/compassrose/compassrose.js +50 -46
  29. package/compassrose/index.js +1 -1
  30. package/heatwave/index.js +2 -2
  31. package/heatwave/isobar/objectarraylabels.js +48 -44
  32. package/heatwave/isobar/plugin.js +123 -104
  33. package/heatwave/isobar/quadtreecontours.js +92 -76
  34. package/heatwave/plugins/heatwaveglobeshell.js +87 -69
  35. package/index.js +11 -11
  36. package/package.json +1 -1
  37. package/partialrings/buffer-manager.js +64 -32
  38. package/partialrings/index.js +1 -1
  39. package/partialrings/plugin.js +84 -48
  40. package/partialrings/program.js +47 -136
  41. package/pin/pin-object-array.js +86 -83
  42. package/pin/pin-point-totem.js +22 -21
  43. package/point-heat-map/adaptors/timetracksplugin-format-to-this.js +10 -10
  44. package/point-heat-map/plugin-webworker.js +45 -40
  45. package/point-heat-map/point-to-heat-map-flow.js +42 -40
  46. package/point-tracks/key-methods.js +1 -1
  47. package/point-tracks/plugin.js +142 -127
  48. package/programs/arrowfield/index.js +1 -1
  49. package/programs/arrowfield/logic.js +62 -170
  50. package/programs/arrowfield/object.js +35 -33
  51. package/programs/data2legend/density-to-legend.js +21 -45
  52. package/programs/data2legend/point-to-density-texture.js +27 -52
  53. package/programs/float2legendwithratio/index.js +1 -1
  54. package/programs/float2legendwithratio/logic.js +42 -88
  55. package/programs/float2legendwithratio/object.js +46 -43
  56. package/programs/globe-util/is-globe-moved.js +11 -10
  57. package/programs/globeshell/index.js +1 -1
  58. package/programs/globeshell/wiggle/index.js +1 -1
  59. package/programs/globeshell/wiggle/logic.js +98 -191
  60. package/programs/globeshell/wiggle/object.js +35 -33
  61. package/programs/helpers/blender/program.js +19 -36
  62. package/programs/helpers/fadeaway/index.js +1 -1
  63. package/programs/helpers/fadeaway/logic.js +13 -35
  64. package/programs/helpers/fadeaway/object.js +10 -9
  65. package/programs/helpers/index.js +1 -1
  66. package/programs/index.js +8 -8
  67. package/programs/line-on-globe/angled-line.js +32 -91
  68. package/programs/line-on-globe/circle-accurate-3d.js +32 -82
  69. package/programs/line-on-globe/circle-accurate-flat.js +50 -108
  70. package/programs/line-on-globe/circle-accurate.js +33 -103
  71. package/programs/line-on-globe/circle.js +32 -97
  72. package/programs/line-on-globe/degree-padding-around-circle-3d.js +33 -83
  73. package/programs/line-on-globe/lines-color-instanced-flat.js +34 -79
  74. package/programs/line-on-globe/linestrip.js +39 -100
  75. package/programs/line-on-globe/naive-accurate-flexible.js +48 -118
  76. package/programs/line-on-globe/to-the-surface.js +29 -58
  77. package/programs/line-on-globe/util.js +1 -1
  78. package/programs/picking/pickable-renderer.js +33 -117
  79. package/programs/point-on-globe/element-globe-surface-glow.js +38 -78
  80. package/programs/point-on-globe/element-point-glow.js +35 -103
  81. package/programs/point-on-globe/square-pixel-point.js +27 -76
  82. package/programs/programcache.js +13 -13
  83. package/programs/rings/distancering/circleflatprogram.js +21 -63
  84. package/programs/rings/distancering/circlepaddingfreeangleprogram.js +145 -156
  85. package/programs/rings/distancering/circlepaddysharedbuffer.js +197 -121
  86. package/programs/rings/distancering/index.js +4 -4
  87. package/programs/rings/distancering/paddyflatprogram.js +20 -73
  88. package/programs/rings/distancering/paddyflatprogram2d.js +22 -75
  89. package/programs/rings/distancering/paddyflatprogram3d.js +20 -73
  90. package/programs/rings/partial-ring/piece-of-pie.js +35 -137
  91. package/programs/totems/camerauniformblock.js +51 -64
  92. package/programs/totems/canvas-webglobe-info.js +40 -48
  93. package/programs/totems/gpu-selection-uniform-block.js +40 -44
  94. package/programs/totems/index.js +1 -1
  95. package/programs/two-d/pixel-padding-for-compass.js +29 -90
  96. package/programs/util.js +7 -6
  97. package/programs/vectorfields/index.js +1 -1
  98. package/programs/vectorfields/logics/drawrectangleparticles.js +29 -70
  99. package/programs/vectorfields/logics/index.js +3 -3
  100. package/programs/vectorfields/logics/pixelbased.js +35 -91
  101. package/programs/vectorfields/logics/ubo.js +25 -31
  102. package/programs/vectorfields/pingpongbuffermanager.js +34 -30
  103. package/rangerings/index.js +4 -4
  104. package/rangerings/plugin.js +252 -202
  105. package/rangerings/rangeringangletext.js +120 -108
  106. package/rangerings/ring-account.js +69 -52
  107. package/shaders/fragment-toy/firework.js +1 -55
  108. package/shaders/fragment-toy/singularity.js +1 -55
  109. package/timetracks/adaptors-line-strip.js +37 -26
  110. package/timetracks/adaptors.js +61 -47
  111. package/timetracks/index.js +4 -4
  112. package/timetracks/plugin-line-strip.js +63 -59
  113. package/timetracks/plugin.js +69 -65
  114. package/timetracks/program-line-strip.js +103 -296
  115. package/timetracks/program.js +113 -419
  116. package/timetracks/programpoint-line-strip.js +44 -97
  117. package/timetracks/programpoint.js +44 -90
  118. package/util/account/bufferoffsetmanager.js +95 -72
  119. package/util/account/index.js +1 -1
  120. package/util/account/single-attribute-buffer-management/buffer-manager.js +43 -39
  121. package/util/account/single-attribute-buffer-management/buffer-orchestrator.js +94 -64
  122. package/util/account/single-attribute-buffer-management/index.js +3 -3
  123. package/util/account/single-attribute-buffer-management/object-store.js +30 -28
  124. package/util/account/util.js +4 -2
  125. package/util/algorithms/search-binary.js +4 -4
  126. package/util/check/get.js +5 -5
  127. package/util/check/typecheck.js +15 -13
  128. package/util/geometry/index.js +11 -9
  129. package/util/gl-util/buffer/attribute-loader.js +20 -8
  130. package/util/gl-util/buffer/index.js +1 -1
  131. package/util/gl-util/draw-options/methods.js +7 -7
  132. package/util/gl-util/uniform-block/manager.js +67 -55
  133. package/util/heatwavedatamanager/datamanager.js +116 -56
  134. package/util/heatwavedatamanager/index.js +2 -2
  135. package/util/heatwavedatamanager/pointcoordinatesdatacalculator.js +40 -37
  136. package/util/heatwavedatamanager/pointcoordsmeta.js +10 -9
  137. package/util/index.js +6 -6
  138. package/util/interpolation/timetrack/index.js +1 -1
  139. package/util/interpolation/timetrack/timetrack-interpolator.js +29 -27
  140. package/util/interpolation/timetrack/web-worker-str.js +1 -179
  141. package/util/interpolation/timetrack/web-worker.js +4 -4
  142. package/util/jshelpers/data-filler.js +7 -7
  143. package/util/jshelpers/timefilters.js +7 -7
  144. package/util/picking/fence.js +7 -7
  145. package/util/picking/picker-displayer.js +52 -46
  146. package/util/programs/draw-texture-on-canvas.js +21 -39
  147. package/util/programs/shapesonglobe.js +64 -104
  148. package/util/programs/supersampletotextures.js +39 -45
  149. package/util/programs/texturetoglobe.js +48 -98
  150. package/util/shaderfunctions/geometrytransformations.js +27 -322
  151. package/util/shaderfunctions/nodata.js +1 -7
  152. package/util/shaderfunctions/noisefunctions.js +9 -39
  153. package/util/surface-line-data/arcs-to-cuts.js +23 -20
  154. package/util/webglobe/rasteroverlay.js +37 -35
  155. package/util/webglobjectbuilders.js +60 -55
  156. package/util/webglobjectbuilders1.js +49 -48
  157. package/waveparticles/adaptor.js +7 -6
  158. package/waveparticles/index.js +2 -2
  159. package/waveparticles/plugin.js +84 -79
  160. package/wind/imagetovectorfieldandmagnitude.js +15 -15
  161. package/wind/index.js +4 -4
  162. package/wind/plugin.js +251 -453
  163. package/wind/vectorfieldimage.js +5 -5
  164. package/write-text/attached-text-writer.js +48 -46
  165. package/write-text/context-text.js +58 -51
  166. package/write-text/context-text3.js +74 -69
@@ -25,18 +25,18 @@ exports.reloadCurrentGLProgram = reloadCurrentGLProgram;
25
25
  * @throws An error if shader compilation fails.
26
26
  */
27
27
  function createShader(gl, type, source) {
28
- const shader = gl.createShader(type);
28
+ var shader = gl.createShader(type);
29
29
  if (!shader) {
30
30
  throw new Error("Failed to create WebGLShader.");
31
31
  }
32
32
  gl.shaderSource(shader, source);
33
33
  gl.compileShader(shader);
34
34
  if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
35
- const errorLog = gl.getShaderInfoLog(shader);
36
- const shaderType = type === gl.VERTEX_SHADER ? 'VERTEX_SHADER' : 'FRAGMENT_SHADER';
37
- const sourceWithLineNumbers = source.split('\n').map((line, i) => `${i + 1}: ${line}`).join('\n');
35
+ var errorLog = gl.getShaderInfoLog(shader);
36
+ var shaderType = type === gl.VERTEX_SHADER ? 'VERTEX_SHADER' : 'FRAGMENT_SHADER';
37
+ var sourceWithLineNumbers = source.split('\n').map(function (line, i) { return "".concat(i + 1, ": ").concat(line); }).join('\n');
38
38
  gl.deleteShader(shader); // Clean up the failed shader
39
- throw new Error(`Error compiling ${shaderType}:\n${errorLog}\nSource:\n${sourceWithLineNumbers}`);
39
+ throw new Error("Error compiling ".concat(shaderType, ":\n").concat(errorLog, "\nSource:\n").concat(sourceWithLineNumbers));
40
40
  }
41
41
  return shader;
42
42
  }
@@ -50,13 +50,13 @@ function createShader(gl, type, source) {
50
50
  * @returns The linked WebGLProgram, or `undefined` if compilation or linking fails.
51
51
  */
52
52
  function createProgram(gl, vertexSource, fragmentSource) {
53
- const program = gl.createProgram();
53
+ var program = gl.createProgram();
54
54
  if (!program) {
55
55
  console.error("Failed to create WebGLProgram.");
56
56
  return undefined;
57
57
  }
58
- let vertexShader;
59
- let fragmentShader;
58
+ var vertexShader;
59
+ var fragmentShader;
60
60
  try {
61
61
  vertexShader = createShader(gl, gl.VERTEX_SHADER, vertexSource);
62
62
  fragmentShader = createShader(gl, gl.FRAGMENT_SHADER, fragmentSource);
@@ -93,21 +93,21 @@ function createProgram(gl, vertexSource, fragmentSource) {
93
93
  * @throws An error if shader compilation or program linking fails.
94
94
  */
95
95
  function createProgramWrapper(gl, vertexSource, fragmentSource) {
96
- const program = gl.createProgram();
96
+ var program = gl.createProgram();
97
97
  if (!program) {
98
98
  throw new Error("Failed to create WebGLProgram.");
99
99
  }
100
- const vertexShader = createShader(gl, gl.VERTEX_SHADER, vertexSource);
101
- const fragmentShader = createShader(gl, gl.FRAGMENT_SHADER, fragmentSource);
100
+ var vertexShader = createShader(gl, gl.VERTEX_SHADER, vertexSource);
101
+ var fragmentShader = createShader(gl, gl.FRAGMENT_SHADER, fragmentSource);
102
102
  gl.attachShader(program, vertexShader);
103
103
  gl.attachShader(program, fragmentShader);
104
104
  gl.linkProgram(program);
105
105
  if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
106
- const errorLog = gl.getProgramInfoLog(program);
106
+ var errorLog = gl.getProgramInfoLog(program);
107
107
  gl.deleteProgram(program);
108
108
  gl.deleteShader(vertexShader);
109
109
  gl.deleteShader(fragmentShader);
110
- throw new Error(`Error linking program:\n${errorLog}`);
110
+ throw new Error("Error linking program:\n".concat(errorLog));
111
111
  }
112
112
  // Detach and delete shaders after linking
113
113
  gl.detachShader(program, vertexShader);
@@ -115,17 +115,17 @@ function createProgramWrapper(gl, vertexSource, fragmentSource) {
115
115
  gl.deleteShader(vertexShader);
116
116
  gl.deleteShader(fragmentShader);
117
117
  // Using an object literal for dynamic properties
118
- const wrapper = { program: program };
119
- const numAttributes = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);
120
- for (let i = 0; i < numAttributes; i++) {
121
- const attribute = gl.getActiveAttrib(program, i);
118
+ var wrapper = { program: program };
119
+ var numAttributes = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);
120
+ for (var i = 0; i < numAttributes; i++) {
121
+ var attribute = gl.getActiveAttrib(program, i);
122
122
  if (attribute) {
123
123
  wrapper[attribute.name] = gl.getAttribLocation(program, attribute.name);
124
124
  }
125
125
  }
126
- const numUniforms = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);
127
- for (let i = 0; i < numUniforms; i++) {
128
- const uniform = gl.getActiveUniform(program, i);
126
+ var numUniforms = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);
127
+ for (var i = 0; i < numUniforms; i++) {
128
+ var uniform = gl.getActiveUniform(program, i);
129
129
  if (uniform) {
130
130
  wrapper[uniform.name] = gl.getUniformLocation(program, uniform.name);
131
131
  }
@@ -143,7 +143,7 @@ function createProgramWrapper(gl, vertexSource, fragmentSource) {
143
143
  * @throws An error if texture creation fails.
144
144
  */
145
145
  function createTexture(gl, filter, data, width, height) {
146
- const texture = gl.createTexture();
146
+ var texture = gl.createTexture();
147
147
  if (!texture) {
148
148
  throw new Error("Failed to create WebGLTexture.");
149
149
  }
@@ -182,7 +182,7 @@ function bindTexture(gl, texture, unit) {
182
182
  * @throws An error if buffer creation fails.
183
183
  */
184
184
  function createBuffer(gl, data) {
185
- const buffer = gl.createBuffer();
185
+ var buffer = gl.createBuffer();
186
186
  if (!buffer) {
187
187
  throw new Error("Failed to create WebGLBuffer.");
188
188
  }
@@ -220,10 +220,10 @@ function bindFramebuffer(gl, framebuffer, texture) {
220
220
  * @returns A Uint8Array containing the decoded bytes.
221
221
  */
222
222
  function decodeBase64(data) {
223
- const binary_string = atob(data);
224
- const len = binary_string.length;
225
- const bytes = new Uint8Array(len);
226
- for (let i = 0; i < len; i++) {
223
+ var binary_string = atob(data);
224
+ var len = binary_string.length;
225
+ var bytes = new Uint8Array(len);
226
+ for (var i = 0; i < len; i++) {
227
227
  bytes[i] = binary_string.charCodeAt(i);
228
228
  }
229
229
  return bytes;
@@ -234,14 +234,14 @@ function decodeBase64(data) {
234
234
  * @returns An HTMLImageElement with the image data loaded.
235
235
  */
236
236
  function createImageFromBase64(encodedData) {
237
- const bytes = decodeBase64(encodedData);
238
- const blob = new Blob([bytes.buffer], { type: "image/png" });
239
- const urlCreator = window.URL || window.webkitURL;
240
- const imageUrl = urlCreator.createObjectURL(blob);
241
- const image = new Image();
237
+ var bytes = decodeBase64(encodedData);
238
+ var blob = new Blob([bytes.buffer], { type: "image/png" });
239
+ var urlCreator = window.URL || window.webkitURL;
240
+ var imageUrl = urlCreator.createObjectURL(blob);
241
+ var image = new Image();
242
242
  image.src = imageUrl;
243
243
  // Revoke the object URL after the image has loaded to free up memory
244
- image.onload = () => urlCreator.revokeObjectURL(imageUrl);
244
+ image.onload = function () { return urlCreator.revokeObjectURL(imageUrl); };
245
245
  return image;
246
246
  }
247
247
  /**
@@ -250,23 +250,23 @@ function createImageFromBase64(encodedData) {
250
250
  * @returns A Uint8Array representing the RGBA pixel data of the 1x256 color ramp.
251
251
  */
252
252
  function getColorRamp(colors) {
253
- const canvas = document.createElement('canvas');
254
- const ctx = canvas.getContext('2d');
253
+ var canvas = document.createElement('canvas');
254
+ var ctx = canvas.getContext('2d');
255
255
  if (!ctx) {
256
256
  throw new Error("Failed to get 2D rendering context for canvas.");
257
257
  }
258
258
  canvas.width = 256;
259
259
  canvas.height = 1;
260
- const gradient = ctx.createLinearGradient(0, 0, 256, 0);
261
- for (const stop in colors) {
260
+ var gradient = ctx.createLinearGradient(0, 0, 256, 0);
261
+ for (var stop_1 in colors) {
262
262
  // Ensure the stop is a valid number, although `addColorStop` can parse strings,
263
263
  // explicit conversion is safer for object keys if they come from arbitrary sources.
264
- const stopValue = parseFloat(stop);
264
+ var stopValue = parseFloat(stop_1);
265
265
  if (isNaN(stopValue)) {
266
- console.warn(`Invalid stop value for color ramp: ${stop}. Skipping.`);
266
+ console.warn("Invalid stop value for color ramp: ".concat(stop_1, ". Skipping."));
267
267
  continue;
268
268
  }
269
- gradient.addColorStop(stopValue, colors[stop]);
269
+ gradient.addColorStop(stopValue, colors[stop_1]);
270
270
  }
271
271
  ctx.fillStyle = gradient;
272
272
  ctx.fillRect(0, 0, 256, 1);
@@ -280,16 +280,16 @@ function getColorRamp(colors) {
280
280
  * @returns A Uint8Array representing the RGBA pixel data of the 1x256 discrete color ramp.
281
281
  */
282
282
  function getColorRampDiscrate(values, thresholds) {
283
- const canvas = document.createElement('canvas');
284
- const ctx = canvas.getContext('2d');
283
+ var canvas = document.createElement('canvas');
284
+ var ctx = canvas.getContext('2d');
285
285
  if (!ctx) {
286
286
  throw new Error("Failed to get 2D rendering context for canvas.");
287
287
  }
288
288
  canvas.width = 256;
289
289
  canvas.height = 1;
290
- const gap = 1.0 / 256; // Represents one pixel width in normalized coordinates
291
- const gradient = ctx.createLinearGradient(0, 0, 256, 0);
292
- for (let i = 0; i < thresholds.length - 1; i++) {
290
+ var gap = 1.0 / 256; // Represents one pixel width in normalized coordinates
291
+ var gradient = ctx.createLinearGradient(0, 0, 256, 0);
292
+ for (var i = 0; i < thresholds.length - 1; i++) {
293
293
  gradient.addColorStop(thresholds[i], values[i]);
294
294
  // Create a sharp transition by setting the next stop just before the next threshold
295
295
  gradient.addColorStop(Math.max(0, thresholds[i + 1] - gap), values[i]);
@@ -307,15 +307,15 @@ function getColorRampDiscrate(values, thresholds) {
307
307
  * @returns A Uint8Array representing the RGBA pixel data of the 1x256 interpolated color ramp.
308
308
  */
309
309
  function getColorRampInterpolated(values, thresholds) {
310
- const canvas = document.createElement('canvas');
311
- const ctx = canvas.getContext('2d');
310
+ var canvas = document.createElement('canvas');
311
+ var ctx = canvas.getContext('2d');
312
312
  if (!ctx) {
313
313
  throw new Error("Failed to get 2D rendering context for canvas.");
314
314
  }
315
315
  canvas.width = 256;
316
316
  canvas.height = 1;
317
- const gradient = ctx.createLinearGradient(0, 0, 256, 0);
318
- for (let i = 0; i < thresholds.length; i++) {
317
+ var gradient = ctx.createLinearGradient(0, 0, 256, 0);
318
+ for (var i = 0; i < thresholds.length; i++) {
319
319
  gradient.addColorStop(thresholds[i], values[i]);
320
320
  }
321
321
  ctx.fillStyle = gradient;
@@ -330,7 +330,8 @@ function getColorRampInterpolated(values, thresholds) {
330
330
  * @returns A Uint8Array representing the RGBA pixel data of the 1x256 color ramp.
331
331
  * @throws An error if an invalid mode is provided.
332
332
  */
333
- function getColorRampModed(values, thresholds, mode = "interpolated") {
333
+ function getColorRampModed(values, thresholds, mode) {
334
+ if (mode === void 0) { mode = "interpolated"; }
334
335
  if (mode === "discrete") {
335
336
  return getColorRampDiscrate(values, thresholds);
336
337
  }
@@ -346,7 +347,7 @@ function getColorRampModed(values, thresholds, mode = "interpolated") {
346
347
  * @returns A Uint8Array representing the RGBA pixel data of the default 1x256 color ramp.
347
348
  */
348
349
  function defaultColorRamp() {
349
- const defaultRampColors = {
350
+ var defaultRampColors = {
350
351
  "0.0": '#5e4fa2',
351
352
  "0.15": '#3288bd',
352
353
  "0.20": '#66c2a5',
@@ -367,19 +368,23 @@ function defaultColorRamp() {
367
368
  */
368
369
  function reloadCurrentGLProgram() {
369
370
  return function (target, key, descriptor) {
370
- const originalMethod = descriptor.value;
371
+ var originalMethod = descriptor.value;
371
372
  // Ensure the target has a 'gl' property of type WebGL2RenderingContext
372
373
  if (!('gl' in target) || !(target.gl instanceof WebGL2RenderingContext)) {
373
- console.warn(`Decorator 'reloadCurrentGLProgram' applied to a method where 'this.gl' is not a WebGL2RenderingContext. This may not function as expected.`);
374
+ console.warn("Decorator 'reloadCurrentGLProgram' applied to a method where 'this.gl' is not a WebGL2RenderingContext. This may not function as expected.");
374
375
  // Optionally, throw an error here if strictness is desired
375
376
  }
376
- descriptor.value = function (...args) {
377
- const gl = this.gl;
377
+ descriptor.value = function () {
378
+ var args = [];
379
+ for (var _i = 0; _i < arguments.length; _i++) {
380
+ args[_i] = arguments[_i];
381
+ }
382
+ var gl = this.gl;
378
383
  if (!gl) {
379
384
  console.error("reloadCurrentGLProgram decorator: 'gl' context not found on 'this'.");
380
385
  return originalMethod.apply(this, args);
381
386
  }
382
- const currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
387
+ var currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
383
388
  originalMethod.apply(this, args);
384
389
  gl.useProgram(currentProgram);
385
390
  };
@@ -26,21 +26,21 @@ exports.reloadCurrentGLProgram = reloadCurrentGLProgram;
26
26
  // return shader;
27
27
  // }
28
28
  function createShader(gl, type, source) {
29
- const shader = gl.createShader(type);
29
+ var shader = gl.createShader(type);
30
30
  gl.shaderSource(shader, source);
31
31
  gl.compileShader(shader);
32
32
  if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
33
- const errorLog = gl.getShaderInfoLog(shader);
34
- const shaderType = type === gl.VERTEX_SHADER ? 'VERTEX_SHADER' : 'FRAGMENT_SHADER';
35
- const sourceWithLineNumbers = source.split('\n').map((line, i) => `${i + 1}: ${line}`).join('\n');
36
- throw new Error(`Error compiling ${shaderType}:\n${errorLog}\nSource:\n${sourceWithLineNumbers}`);
33
+ var errorLog = gl.getShaderInfoLog(shader);
34
+ var shaderType = type === gl.VERTEX_SHADER ? 'VERTEX_SHADER' : 'FRAGMENT_SHADER';
35
+ var sourceWithLineNumbers = source.split('\n').map(function (line, i) { return "".concat(i + 1, ": ").concat(line); }).join('\n');
36
+ throw new Error("Error compiling ".concat(shaderType, ":\n").concat(errorLog, "\nSource:\n").concat(sourceWithLineNumbers));
37
37
  }
38
38
  return shader;
39
39
  }
40
40
  function createProgram(gl, vertexSource, fragmentSource) {
41
- const program = gl.createProgram();
42
- const vertexShader = createShader(gl, gl.VERTEX_SHADER, vertexSource);
43
- const fragmentShader = createShader(gl, gl.FRAGMENT_SHADER, fragmentSource);
41
+ var program = gl.createProgram();
42
+ var vertexShader = createShader(gl, gl.VERTEX_SHADER, vertexSource);
43
+ var fragmentShader = createShader(gl, gl.FRAGMENT_SHADER, fragmentSource);
44
44
  gl.compileShader(vertexShader);
45
45
  if (!gl.getShaderParameter(vertexShader, gl.COMPILE_STATUS)) {
46
46
  console.error(gl.getShaderInfoLog(vertexShader));
@@ -61,9 +61,9 @@ function createProgram(gl, vertexSource, fragmentSource) {
61
61
  return program;
62
62
  }
63
63
  function createProgramWrapper(gl, vertexSource, fragmentSource) {
64
- const program = gl.createProgram();
65
- const vertexShader = createShader(gl, gl.VERTEX_SHADER, vertexSource);
66
- const fragmentShader = createShader(gl, gl.FRAGMENT_SHADER, fragmentSource);
64
+ var program = gl.createProgram();
65
+ var vertexShader = createShader(gl, gl.VERTEX_SHADER, vertexSource);
66
+ var fragmentShader = createShader(gl, gl.FRAGMENT_SHADER, fragmentSource);
67
67
  gl.attachShader(program, vertexShader);
68
68
  gl.attachShader(program, fragmentShader);
69
69
  gl.linkProgram(program);
@@ -71,21 +71,21 @@ function createProgramWrapper(gl, vertexSource, fragmentSource) {
71
71
  // console.log(gl.getProgramInfoLog(program));
72
72
  throw new Error(gl.getProgramInfoLog(program));
73
73
  }
74
- const wrapper = { program: program };
75
- const numAttributes = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);
76
- for (let i = 0; i < numAttributes; i++) {
77
- const attribute = gl.getActiveAttrib(program, i);
74
+ var wrapper = { program: program };
75
+ var numAttributes = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);
76
+ for (var i = 0; i < numAttributes; i++) {
77
+ var attribute = gl.getActiveAttrib(program, i);
78
78
  wrapper[attribute.name] = gl.getAttribLocation(program, attribute.name);
79
79
  }
80
- const numUniforms = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);
81
- for (let i = 0; i < numUniforms; i++) {
82
- const uniform = gl.getActiveUniform(program, i);
80
+ var numUniforms = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);
81
+ for (var i = 0; i < numUniforms; i++) {
82
+ var uniform = gl.getActiveUniform(program, i);
83
83
  wrapper[uniform.name] = gl.getUniformLocation(program, uniform.name);
84
84
  }
85
85
  return wrapper;
86
86
  }
87
87
  function createTexture(gl, filter, data, width, height) {
88
- const texture = gl.createTexture();
88
+ var texture = gl.createTexture();
89
89
  gl.bindTexture(gl.TEXTURE_2D, texture);
90
90
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
91
91
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
@@ -105,7 +105,7 @@ function bindTexture(gl, texture, unit) {
105
105
  gl.bindTexture(gl.TEXTURE_2D, texture);
106
106
  }
107
107
  function createBuffer(gl, data) {
108
- const buffer = gl.createBuffer();
108
+ var buffer = gl.createBuffer();
109
109
  gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
110
110
  gl.bufferData(gl.ARRAY_BUFFER, data, gl.STATIC_DRAW);
111
111
  return buffer;
@@ -125,33 +125,33 @@ function bindFramebuffer(gl, framebuffer, texture) {
125
125
  }
126
126
  }
127
127
  function decodeBase64(data) {
128
- const binary_string = atob(data);
129
- const len = binary_string.length;
130
- const bytes = new Uint8Array(len);
131
- for (let i = 0; i < len; i++) {
128
+ var binary_string = atob(data);
129
+ var len = binary_string.length;
130
+ var bytes = new Uint8Array(len);
131
+ for (var i = 0; i < len; i++) {
132
132
  bytes[i] = binary_string.charCodeAt(i);
133
133
  }
134
134
  return bytes;
135
135
  }
136
136
  function createImageFromBase64(encodedData) {
137
- const bytes = decodeBase64(encodedData);
138
- const blob = new Blob([bytes.buffer], { type: "image/png" });
139
- const urlCreator = window.URL || window.webkitURL;
140
- const imageUrl = urlCreator.createObjectURL(blob);
141
- const image = new Image();
137
+ var bytes = decodeBase64(encodedData);
138
+ var blob = new Blob([bytes.buffer], { type: "image/png" });
139
+ var urlCreator = window.URL || window.webkitURL;
140
+ var imageUrl = urlCreator.createObjectURL(blob);
141
+ var image = new Image();
142
142
  image.src = imageUrl;
143
143
  return image;
144
144
  }
145
145
  function getColorRamp(colors) {
146
146
  // console.log("getColorRamp", colors)
147
- const canvas = document.createElement('canvas');
148
- const ctx = canvas.getContext('2d');
147
+ var canvas = document.createElement('canvas');
148
+ var ctx = canvas.getContext('2d');
149
149
  canvas.width = 256;
150
150
  canvas.height = 1;
151
- const gradient = ctx.createLinearGradient(0, 0, 256, 0);
152
- for (const stop in colors) {
151
+ var gradient = ctx.createLinearGradient(0, 0, 256, 0);
152
+ for (var stop_1 in colors) {
153
153
  // console.log("stop", stop);
154
- gradient.addColorStop(colors[stop][0], colors[stop][1]);
154
+ gradient.addColorStop(colors[stop_1][0], colors[stop_1][1]);
155
155
  // Alttaki satir ile gradienti cevirip, shaderda ki `speed_t = 1.0 - speed_t`' kaldirdim.
156
156
  // gradientin en dusuk olmasi gereken siyah - mavi aralikta, mor renk gozlemledim.
157
157
  // gradient.addColorStop( 1.0 - colors[stop][0], colors[stop][1]);
@@ -161,13 +161,13 @@ function getColorRamp(colors) {
161
161
  return new Uint8Array(ctx.getImageData(0, 0, 256, 1).data);
162
162
  }
163
163
  function getColorRampDiscrate(values, thresholds) {
164
- const canvas = document.createElement('canvas');
165
- const ctx = canvas.getContext('2d');
164
+ var canvas = document.createElement('canvas');
165
+ var ctx = canvas.getContext('2d');
166
166
  canvas.width = 256;
167
167
  canvas.height = 1;
168
- const gap = 1.0 / 256;
169
- const gradient = ctx.createLinearGradient(0, 0, 256, 0);
170
- for (let i = 0; i < thresholds.length - 1; i++) {
168
+ var gap = 1.0 / 256;
169
+ var gradient = ctx.createLinearGradient(0, 0, 256, 0);
170
+ for (var i = 0; i < thresholds.length - 1; i++) {
171
171
  gradient.addColorStop(thresholds[i], values[i]);
172
172
  gradient.addColorStop(thresholds[i + 1] - gap, values[i]);
173
173
  }
@@ -177,15 +177,15 @@ function getColorRampDiscrate(values, thresholds) {
177
177
  return new Uint8Array(ctx.getImageData(0, 0, 256, 1).data);
178
178
  }
179
179
  function getColorRampInterpolated(values, thresholds) {
180
- const canvas = document.createElement('canvas');
181
- const ctx = canvas.getContext('2d');
180
+ var canvas = document.createElement('canvas');
181
+ var ctx = canvas.getContext('2d');
182
182
  canvas.width = 256;
183
183
  canvas.height = 1;
184
- const gradient = ctx.createLinearGradient(0, 0, 256, 0);
184
+ var gradient = ctx.createLinearGradient(0, 0, 256, 0);
185
185
  // const gap = 1.0 / 256;
186
186
  // gradient.addColorStop(thresholds[0], values[0]);
187
187
  // gradient.addColorStop(thresholds[0] + gap, values[1]);
188
- for (let i = 0; i < thresholds.length; i++) {
188
+ for (var i = 0; i < thresholds.length; i++) {
189
189
  gradient.addColorStop(thresholds[i], values[i]);
190
190
  }
191
191
  // gradient.addColorStop(thresholds[thresholds.length - 1] - gap, values[values.length - 1]);
@@ -198,7 +198,8 @@ function getColorRampInterpolated(values, thresholds) {
198
198
  * thresholds: n number of thresholds. Ex: [0, 10, 20]
199
199
  * mode: [discrete, interpolated,]
200
200
  */
201
- function getColorRampModed(values, thresholds, mode = "interpolated") {
201
+ function getColorRampModed(values, thresholds, mode) {
202
+ if (mode === void 0) { mode = "interpolated"; }
202
203
  if (mode === "discrete") {
203
204
  return getColorRampDiscrate(values, thresholds);
204
205
  }
@@ -210,7 +211,7 @@ function getColorRampModed(values, thresholds, mode = "interpolated") {
210
211
  }
211
212
  }
212
213
  function defaultColorRamp() {
213
- const defaultRampColors = [
214
+ var defaultRampColors = [
214
215
  [0.0, '#5e4fa2'],
215
216
  [0.15, '#3288bd'],
216
217
  [0.20, '#66c2a5'],
@@ -226,10 +227,10 @@ function defaultColorRamp() {
226
227
  }
227
228
  function reloadCurrentGLProgram() {
228
229
  return function (target, key, descriptor) {
229
- const originalMethod = descriptor.value;
230
+ var originalMethod = descriptor.value;
230
231
  descriptor.value = function () {
231
- const gl = target.gl;
232
- const currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
232
+ var gl = target.gl;
233
+ var currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
233
234
  originalMethod.apply(this, arguments);
234
235
  gl.useProgram(currentProgram);
235
236
  };
@@ -1,16 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.centigradePlus90ToVectorArray = centigradePlus90ToVectorArray;
4
- function centigradePlus90ToVectorArray(centigradeArray, noDataValue = -9999) {
5
- const vectorArray = new Float32Array(centigradeArray.length * 2);
6
- for (let i = 0; i < centigradeArray.length; i++) {
4
+ function centigradePlus90ToVectorArray(centigradeArray, noDataValue) {
5
+ if (noDataValue === void 0) { noDataValue = -9999; }
6
+ var vectorArray = new Float32Array(centigradeArray.length * 2);
7
+ for (var i = 0; i < centigradeArray.length; i++) {
7
8
  if (centigradeArray[i] === noDataValue) {
8
9
  vectorArray.set([0, 0], i * 2);
9
10
  continue;
10
11
  }
11
- const rad = (centigradeArray[i] + 90.0) * Math.PI / 180;
12
- const x = Math.cos(rad);
13
- const y = Math.sin(rad);
12
+ var rad = (centigradeArray[i] + 90.0) * Math.PI / 180;
13
+ var x = Math.cos(rad);
14
+ var y = Math.sin(rad);
14
15
  vectorArray.set([x, y], i * 2);
15
16
  }
16
17
  return vectorArray;
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.VectorFieldWaveParticle = exports.centigradePlus90ToVectorArray = void 0;
7
- const plugin_1 = __importDefault(require("./plugin"));
7
+ var plugin_1 = __importDefault(require("./plugin"));
8
8
  exports.VectorFieldWaveParticle = plugin_1.default;
9
- const adaptor_1 = require("./adaptor");
9
+ var adaptor_1 = require("./adaptor");
10
10
  Object.defineProperty(exports, "centigradePlus90ToVectorArray", { enumerable: true, get: function () { return adaptor_1.centigradePlus90ToVectorArray; } });