@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
@@ -1,58 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.firework = void 0;
4
- exports.firework = `
5
- float firework(vec2 point_coord, float phase) {
6
- float t = phase + 5.0;
7
- float z = 6.0;
8
- const int n = 53; // particle count
9
-
10
- vec3 startColor = vec3(0.0, 0.64, 0.2);
11
- vec3 endColor = vec3(0.06, 0.35, 0.85);
12
-
13
- float startRadius = 0.84;
14
- float endRadius = 1.6;
15
-
16
- float power = 0.51;
17
- float duration = 4.0;
18
-
19
- vec2 v = z * (2.0 * point_coord - vec2(1.0) );
20
-
21
- vec3 col = vec3(0.0);
22
- vec2 pm = v.yx * 2.8;
23
-
24
- float dMax = duration;
25
- float evo = (sin(phase * 0.01 + 400.0) * 0.5 + 0.5) * 99.0 + 1.0;
26
-
27
- float mb = 0.0;
28
- float mbRadius = 0.0;
29
- float sum = 0.0;
30
-
31
- for(int i = 0; i < n; i++) {
32
- float d = fract(t * power + 48934.4238 * sin(float(i / int(evo)) * 692.7398));
33
-
34
- float a = 6.28 * float(i) / float(n);
35
- float x = d * cos(a) * duration;
36
- float y = d * sin(a) * duration;
37
-
38
- float distRatio = d / dMax;
39
- mbRadius = mix(startRadius, endRadius, distRatio);
40
-
41
- vec2 p = v - vec2(x, y);
42
- mb = mbRadius / dot(p, p);
43
-
44
- sum += mb;
45
- col = mix(col, mix(startColor, endColor, distRatio), mb / sum);
46
- }
47
-
48
- sum /= float(n);
49
- col = normalize(col) * sum;
50
- sum = clamp(sum, 0.0, 0.4);
51
-
52
- vec3 tex = vec3(1.0);
53
- col *= smoothstep(tex, vec3(0.0), vec3(sum));
54
-
55
- float alpha = sum * 2.5;
56
- return clamp(alpha, 0.0, 1.0);
57
- }
58
- `;
4
+ exports.firework = "\nfloat firework(vec2 point_coord, float phase) {\n float t = phase + 5.0;\n float z = 6.0;\n const int n = 53; // particle count\n\n vec3 startColor = vec3(0.0, 0.64, 0.2);\n vec3 endColor = vec3(0.06, 0.35, 0.85);\n\n float startRadius = 0.84;\n float endRadius = 1.6;\n\n float power = 0.51;\n float duration = 4.0;\n\n vec2 v = z * (2.0 * point_coord - vec2(1.0) );\n\n vec3 col = vec3(0.0);\n vec2 pm = v.yx * 2.8;\n\n float dMax = duration;\n float evo = (sin(phase * 0.01 + 400.0) * 0.5 + 0.5) * 99.0 + 1.0;\n\n float mb = 0.0;\n float mbRadius = 0.0;\n float sum = 0.0;\n\n for(int i = 0; i < n; i++) {\n float d = fract(t * power + 48934.4238 * sin(float(i / int(evo)) * 692.7398));\n\n float a = 6.28 * float(i) / float(n);\n float x = d * cos(a) * duration;\n float y = d * sin(a) * duration;\n\n float distRatio = d / dMax;\n mbRadius = mix(startRadius, endRadius, distRatio);\n\n vec2 p = v - vec2(x, y);\n mb = mbRadius / dot(p, p);\n\n sum += mb;\n col = mix(col, mix(startColor, endColor, distRatio), mb / sum);\n }\n\n sum /= float(n);\n col = normalize(col) * sum;\n sum = clamp(sum, 0.0, 0.4);\n\n vec3 tex = vec3(1.0);\n col *= smoothstep(tex, vec3(0.0), vec3(sum));\n\n float alpha = sum * 2.5;\n return clamp(alpha, 0.0, 1.0);\n}\n";
@@ -1,59 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.singularity = void 0;
4
- const singularity = `
5
-
6
- vec3 palette(float d){
7
- return mix(vec3(0.2, 0.7, 0.9), vec3(1.0, 0.0, 1.0), d);
8
- }
9
-
10
- vec2 rotate(vec2 p, float a){
11
- float c = cos(a);
12
- float s = sin(a);
13
- return p * mat2(c, s, -s, c);
14
- }
15
-
16
- float map(vec3 p){
17
- for (int i = 0; i < 4; ++i){
18
- float t = u_phase * 0.2;
19
- p.xz = rotate(p.xz, t);
20
- p.xy = rotate(p.xy, t * 1.89);
21
- p.xz = abs(p.xz);
22
- p.xz -= 0.85;
23
- }
24
- return dot(sign(p), p) / 5.0;
25
- }
26
-
27
- vec4 rm(vec3 ro, vec3 rd){
28
- float t = 0.0;
29
- vec3 col = vec3(0.0);
30
- float d;
31
- for (float i = 0.0; i < 56.0; i++){
32
- vec3 p = ro + rd * t;
33
- d = map(p) * 0.5;
34
- if (d < 0.02){
35
- break;
36
- }
37
- if (d > 100.0){
38
- break;
39
- }
40
- col += palette(length(p) * 0.1) / (400.0 * d);
41
- t += d;
42
- }
43
- return vec4(col, 1.0 / d * 2.0 );
44
- }
45
-
46
- vec4 singularity(vec2 pointCoord, float u_phase) {
47
- vec2 uv = (pointCoord - 0.5); // Normalized coordinates from gl_PointCoord
48
- vec3 ro = vec3(0.0, 0.0, -50.0);
49
- ro.xz = rotate(ro.xz, u_phase);
50
- vec3 cf = normalize(-ro);
51
- vec3 cs = normalize(cross(cf, vec3(0.0, 1.0, 0.0)));
52
- vec3 cu = normalize(cross(cf, cs));
53
-
54
- vec3 uuv = ro + cf * 3.0 + uv.x * cs + uv.y * cu;
55
- vec3 rd = normalize(uuv - ro);
56
-
57
- return rm(ro, rd);
58
- }`;
4
+ var singularity = "\n\nvec3 palette(float d){\n return mix(vec3(0.2, 0.7, 0.9), vec3(1.0, 0.0, 1.0), d);\n}\n\nvec2 rotate(vec2 p, float a){\n float c = cos(a);\n float s = sin(a);\n return p * mat2(c, s, -s, c);\n}\n\nfloat map(vec3 p){\n for (int i = 0; i < 4; ++i){\n float t = u_phase * 0.2;\n p.xz = rotate(p.xz, t);\n p.xy = rotate(p.xy, t * 1.89);\n p.xz = abs(p.xz);\n p.xz -= 0.85;\n }\n return dot(sign(p), p) / 5.0;\n}\n\nvec4 rm(vec3 ro, vec3 rd){\n float t = 0.0;\n vec3 col = vec3(0.0);\n float d;\n for (float i = 0.0; i < 56.0; i++){\n vec3 p = ro + rd * t;\n d = map(p) * 0.5;\n if (d < 0.02){\n break;\n }\n if (d > 100.0){\n break;\n }\n col += palette(length(p) * 0.1) / (400.0 * d);\n t += d;\n }\n return vec4(col, 1.0 / d * 2.0 );\n}\n\nvec4 singularity(vec2 pointCoord, float u_phase) {\n vec2 uv = (pointCoord - 0.5); // Normalized coordinates from gl_PointCoord\n vec3 ro = vec3(0.0, 0.0, -50.0);\n ro.xz = rotate(ro.xz, u_phase);\n vec3 cf = normalize(-ro);\n vec3 cs = normalize(cross(cf, vec3(0.0, 1.0, 0.0)));\n vec3 cu = normalize(cross(cf, cs));\n\n vec3 uuv = ro + cf * 3.0 + uv.x * cs + uv.y * cu;\n vec3 rd = normalize(uuv - ro);\n\n return rm(ro, rd);\n}";
59
5
  exports.singularity = singularity;
@@ -1,10 +1,19 @@
1
1
  "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.latLongToPixelXY = void 0;
4
13
  exports.addCuttingPointLineStrip = addCuttingPointLineStrip;
5
14
  exports.featuresToLineStringData = featuresToLineStringData;
6
15
  exports.fillSliceOfFloat32ArrayLineStrip = fillSliceOfFloat32ArrayLineStrip;
7
- const util_1 = require("../util");
16
+ var util_1 = require("../util");
8
17
  Object.defineProperty(exports, "latLongToPixelXY", { enumerable: true, get: function () { return util_1.latLongToPixelXY; } });
9
18
  /**
10
19
  * @param {Array.<Array.<number>>} coordinates
@@ -25,42 +34,44 @@ function featuresToLineStringData(data) {
25
34
  * feature[i].properties.messageTime are the timestamps of the points
26
35
  *
27
36
  */
28
- const features = data.features;
29
- let size = data.features.length - 1;
30
- let startTime = features[0].properties.messageTime[0];
31
- let endTime = features[0].properties.messageTime[features[0].properties.messageTime.length - 1];
32
- for (let feature of features) {
37
+ var features = data.features;
38
+ var size = data.features.length - 1;
39
+ var startTime = features[0].properties.messageTime[0];
40
+ var endTime = features[0].properties.messageTime[features[0].properties.messageTime.length - 1];
41
+ for (var _i = 0, features_1 = features; _i < features_1.length; _i++) {
42
+ var feature = features_1[_i];
33
43
  size += feature.properties.messageTime.length;
34
44
  startTime = Math.min(startTime, feature.properties.messageTime[0]);
35
45
  endTime = Math.max(endTime, feature.properties.messageTime[feature.properties.messageTime.length - 1]);
36
46
  }
37
- const array = new Float32Array(size * 9);
38
- let offset = 0;
47
+ var array = new Float32Array(size * 9);
48
+ var offset = 0;
39
49
  {
40
- const feature = features[0];
41
- const coordinates = feature.geometry.coordinates;
42
- const timestamps = feature.properties.messageTime.map((time) => (time - startTime) / 1000);
50
+ var feature = features[0];
51
+ var coordinates = feature.geometry.coordinates;
52
+ var timestamps = feature.properties.messageTime.map(function (time) { return (time - startTime) / 1000; });
43
53
  offset = fillSliceOfFloat32ArrayLineStrip(array, offset, coordinates, timestamps);
44
54
  }
45
- for (let i = 1; i < features.length; i++) {
46
- const feature = features[i];
47
- const coordinates = feature.geometry.coordinates;
48
- const timestamps = feature.properties.messageTime.map((time) => (time - startTime) / 1000);
55
+ for (var i = 1; i < features.length; i++) {
56
+ var feature = features[i];
57
+ var coordinates = feature.geometry.coordinates;
58
+ var timestamps = feature.properties.messageTime.map(function (time) { return (time - startTime) / 1000; });
49
59
  offset = addCuttingPointLineStrip(array, offset);
50
60
  offset = fillSliceOfFloat32ArrayLineStrip(array, offset, coordinates, timestamps);
51
61
  }
52
- return { data: array, startTime, endTime };
62
+ return { data: array, startTime: startTime, endTime: endTime };
53
63
  }
54
- function fillSliceOfFloat32ArrayLineStrip(floatArray, offset, coordinates, timestamps, { styleGroupNameArray = null, groupColorFunction = () => [Math.random(), Math.random(), Math.random()] } = {}) {
55
- const startTime = timestamps[0];
56
- const endTime = timestamps[timestamps.length - 1];
57
- for (let i = 0; i < coordinates.length; i++) {
58
- const time = timestamps[i];
59
- const coord = coordinates[i];
60
- const styleGroupName = styleGroupNameArray ? styleGroupNameArray[i] : "default";
61
- const { x, y } = (0, util_1.latLongToPixelXY)(coord[1], coord[0]);
62
- const z = coord[2] ? coord[2] / 1000.0 : 0;
63
- floatArray.set([x, y, z, time, ...groupColorFunction(styleGroupName), startTime, endTime], offset);
64
+ function fillSliceOfFloat32ArrayLineStrip(floatArray, offset, coordinates, timestamps, _a) {
65
+ var _b = _a === void 0 ? {} : _a, _c = _b.styleGroupNameArray, styleGroupNameArray = _c === void 0 ? null : _c, _d = _b.groupColorFunction, groupColorFunction = _d === void 0 ? function () { return [Math.random(), Math.random(), Math.random()]; } : _d;
66
+ var startTime = timestamps[0];
67
+ var endTime = timestamps[timestamps.length - 1];
68
+ for (var i = 0; i < coordinates.length; i++) {
69
+ var time = timestamps[i];
70
+ var coord = coordinates[i];
71
+ var styleGroupName = styleGroupNameArray ? styleGroupNameArray[i] : "default";
72
+ var _e = (0, util_1.latLongToPixelXY)(coord[1], coord[0]), x = _e.x, y = _e.y;
73
+ var z = coord[2] ? coord[2] / 1000.0 : 0;
74
+ floatArray.set(__spreadArray(__spreadArray([x, y, z, time], groupColorFunction(styleGroupName), true), [startTime, endTime], false), offset);
64
75
  offset += 9;
65
76
  }
66
77
  return offset;
@@ -1,16 +1,25 @@
1
1
  "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.Adaptor = void 0;
4
13
  exports.fillSliceOfFloat32Array = fillSliceOfFloat32Array;
5
14
  exports.createFloat32Array = createFloat32Array;
6
- const util_1 = require("../util");
7
- const _latLongToPixelXY = util_1.latLongToPixelXY;
8
- class Adaptor {
15
+ var util_1 = require("../util");
16
+ var _latLongToPixelXY = util_1.latLongToPixelXY;
17
+ var Adaptor = /** @class */ (function () {
9
18
  /**
10
19
  * @param {Object.<string, Color>} groupColorMap
11
20
  * @typedef {Array} Color | [r, g, b] | between 0-1
12
21
  */
13
- constructor(groupColorMap) {
22
+ function Adaptor(groupColorMap) {
14
23
  this._groupColorMap = groupColorMap;
15
24
  }
16
25
  /**
@@ -20,18 +29,21 @@ class Adaptor {
20
29
  * @param {string} styleGroupPropertyName
21
30
  * @returns {lineData} lineData for Plugin
22
31
  */
23
- fromGeoJson(geojsonObject, startTime, timePropertyName = "messageTime", styleGroupPropertyName = "styleGroup") {
24
- const features = geojsonObject.features.filter(feature => feature.geometry.coordinates.length > 1);
25
- const buffer = createFloat32Array(features.map(feature => feature.geometry.coordinates));
26
- let offset = 0;
27
- for (let feature of features) {
28
- const coordinates = feature.geometry.coordinates;
29
- const timestamps = feature.properties[timePropertyName].map((time) => (time - startTime) / 1000);
30
- const styleGroupNameArray = feature.properties[styleGroupPropertyName];
32
+ Adaptor.prototype.fromGeoJson = function (geojsonObject, startTime, timePropertyName, styleGroupPropertyName) {
33
+ if (timePropertyName === void 0) { timePropertyName = "messageTime"; }
34
+ if (styleGroupPropertyName === void 0) { styleGroupPropertyName = "styleGroup"; }
35
+ var features = geojsonObject.features.filter(function (feature) { return feature.geometry.coordinates.length > 1; });
36
+ var buffer = createFloat32Array(features.map(function (feature) { return feature.geometry.coordinates; }));
37
+ var offset = 0;
38
+ for (var _i = 0, features_1 = features; _i < features_1.length; _i++) {
39
+ var feature = features_1[_i];
40
+ var coordinates = feature.geometry.coordinates;
41
+ var timestamps = feature.properties[timePropertyName].map(function (time) { return (time - startTime) / 1000; });
42
+ var styleGroupNameArray = feature.properties[styleGroupPropertyName];
31
43
  offset = fillSliceOfFloat32Array(coordinates, timestamps, styleGroupNameArray, this._groupColorMap, buffer, offset);
32
44
  }
33
45
  return buffer;
34
- }
46
+ };
35
47
  /**
36
48
  * Inputs are lists of tracks. Each track is a list of coordinates, timestamps and styleGroupNames.
37
49
  * @param {Array.<Array.<Array.<number>>>} coordinatesList | [ [ [lon, lat, z], [lon, lat, z], ...], ...
@@ -40,18 +52,19 @@ class Adaptor {
40
52
  * @param {number} startTime | epoch time
41
53
  * @returns {lineData} lineData for Plugin
42
54
  */
43
- fromLists(coordinatesList, timestampsList, colorGroupList, startTime) {
44
- const buffer = createFloat32Array(coordinatesList);
45
- let offset = 0;
46
- for (let i = 0; i < coordinatesList.length; i++) {
47
- const coordinates = coordinatesList[i];
48
- const timestamps = timestampsList[i].map((time) => (time - startTime) / 1000);
49
- const styleGroupNameArray = colorGroupList[i];
55
+ Adaptor.prototype.fromLists = function (coordinatesList, timestampsList, colorGroupList, startTime) {
56
+ var buffer = createFloat32Array(coordinatesList);
57
+ var offset = 0;
58
+ for (var i = 0; i < coordinatesList.length; i++) {
59
+ var coordinates = coordinatesList[i];
60
+ var timestamps = timestampsList[i].map(function (time) { return (time - startTime) / 1000; });
61
+ var styleGroupNameArray = colorGroupList[i];
50
62
  offset = fillSliceOfFloat32Array(coordinates, timestamps, styleGroupNameArray, this._groupColorMap, buffer, offset);
51
63
  }
52
64
  return buffer;
53
- }
54
- }
65
+ };
66
+ return Adaptor;
67
+ }());
55
68
  exports.Adaptor = Adaptor;
56
69
  /**
57
70
  * @param {Array.<Array.<number>>} coordinates
@@ -67,39 +80,39 @@ exports.Adaptor = Adaptor;
67
80
  */
68
81
  function fillSliceOfFloat32Array(coordinates, timestamps, styleGroupNameArray, _groupColorMap, floatArray, offset) {
69
82
  if (coordinates[0].length === 2) {
70
- const startTime = timestamps[0];
71
- const endTime = timestamps[timestamps.length - 1];
72
- let prevPointData = null;
83
+ var startTime = timestamps[0];
84
+ var endTime = timestamps[timestamps.length - 1];
85
+ var prevPointData = null;
73
86
  { // first point
74
- const { x, y } = _latLongToPixelXY(coordinates[0][1], coordinates[0][0]);
75
- prevPointData = [x, y, 0, timestamps[0], ..._groupColorMap[styleGroupNameArray[0]]];
87
+ var _a = _latLongToPixelXY(coordinates[0][1], coordinates[0][0]), x = _a.x, y = _a.y;
88
+ prevPointData = __spreadArray([x, y, 0, timestamps[0]], _groupColorMap[styleGroupNameArray[0]], true);
76
89
  }
77
90
  { // middle points until end
78
- for (let i = 1; i < coordinates.length; i++) {
79
- const time = timestamps[i];
80
- const coord = coordinates[i];
81
- const { x, y } = _latLongToPixelXY(coord[1], coord[0]);
82
- floatArray.set([...prevPointData, startTime, endTime, x, y, 0, time, ..._groupColorMap[styleGroupNameArray[i]], startTime, endTime], offset);
83
- prevPointData = [x, y, 0, time, ..._groupColorMap[styleGroupNameArray[i]]];
91
+ for (var i = 1; i < coordinates.length; i++) {
92
+ var time = timestamps[i];
93
+ var coord = coordinates[i];
94
+ var _b = _latLongToPixelXY(coord[1], coord[0]), x = _b.x, y = _b.y;
95
+ floatArray.set(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], prevPointData, true), [startTime, endTime, x, y, 0, time], false), _groupColorMap[styleGroupNameArray[i]], true), [startTime, endTime], false), offset);
96
+ prevPointData = __spreadArray([x, y, 0, time], _groupColorMap[styleGroupNameArray[i]], true);
84
97
  offset += 18;
85
98
  }
86
99
  }
87
100
  }
88
101
  else {
89
- const startTime = timestamps[0];
90
- const endTime = timestamps[timestamps.length - 1];
91
- let prevPointData = null;
102
+ var startTime = timestamps[0];
103
+ var endTime = timestamps[timestamps.length - 1];
104
+ var prevPointData = null;
92
105
  { // first point
93
- const { x, y } = _latLongToPixelXY(coordinates[0][1], coordinates[0][0]);
94
- prevPointData = [x, y, coordinates[0][2] / 1000.0, timestamps[0], ..._groupColorMap[styleGroupNameArray[0]]];
106
+ var _c = _latLongToPixelXY(coordinates[0][1], coordinates[0][0]), x = _c.x, y = _c.y;
107
+ prevPointData = __spreadArray([x, y, coordinates[0][2] / 1000.0, timestamps[0]], _groupColorMap[styleGroupNameArray[0]], true);
95
108
  }
96
109
  { // middle points until end
97
- for (let i = 1; i < coordinates.length; i++) {
98
- const time = timestamps[i];
99
- const coord = coordinates[i];
100
- const { x, y } = _latLongToPixelXY(coord[1], coord[0]);
101
- floatArray.set([...prevPointData, startTime, endTime, x, y, coord[2] / 1000.0, time, ..._groupColorMap[styleGroupNameArray[i]], startTime, endTime], offset);
102
- prevPointData = [x, y, coord[2] / 1000.0, time, ..._groupColorMap[styleGroupNameArray[i]]];
110
+ for (var i = 1; i < coordinates.length; i++) {
111
+ var time = timestamps[i];
112
+ var coord = coordinates[i];
113
+ var _d = _latLongToPixelXY(coord[1], coord[0]), x = _d.x, y = _d.y;
114
+ floatArray.set(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], prevPointData, true), [startTime, endTime, x, y, coord[2] / 1000.0, time], false), _groupColorMap[styleGroupNameArray[i]], true), [startTime, endTime], false), offset);
115
+ prevPointData = __spreadArray([x, y, coord[2] / 1000.0, time], _groupColorMap[styleGroupNameArray[i]], true);
103
116
  offset += 18;
104
117
  }
105
118
  }
@@ -113,10 +126,11 @@ function fillSliceOfFloat32Array(coordinates, timestamps, styleGroupNameArray, _
113
126
  * Coordinates array is needed to calculate the size of the buffer.
114
127
  */
115
128
  function createFloat32Array(coordinatesArray) {
116
- let filteredSize = 0;
117
- for (let coordinates of coordinatesArray) {
129
+ var filteredSize = 0;
130
+ for (var _i = 0, coordinatesArray_1 = coordinatesArray; _i < coordinatesArray_1.length; _i++) {
131
+ var coordinates = coordinatesArray_1[_i];
118
132
  filteredSize += coordinates.length * 2 - 2;
119
133
  }
120
- const array = new Float32Array(filteredSize * 9);
134
+ var array = new Float32Array(filteredSize * 9);
121
135
  return array;
122
136
  }
@@ -4,15 +4,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.latLongToPixelXY = exports.fillSliceOfFloat32ArrayLineStrip = exports.featuresToLineStringData = exports.addCuttingPointLineStrip = exports.TimeTracksLineStrip = exports.TimeTracks = exports.createFloat32Array = exports.fillSliceOfFloat32Array = exports.Adaptor = void 0;
7
- const plugin_1 = __importDefault(require("./plugin"));
7
+ var plugin_1 = __importDefault(require("./plugin"));
8
8
  exports.TimeTracks = plugin_1.default;
9
- const adaptors_1 = require("./adaptors");
9
+ var adaptors_1 = require("./adaptors");
10
10
  Object.defineProperty(exports, "Adaptor", { enumerable: true, get: function () { return adaptors_1.Adaptor; } });
11
11
  Object.defineProperty(exports, "fillSliceOfFloat32Array", { enumerable: true, get: function () { return adaptors_1.fillSliceOfFloat32Array; } });
12
12
  Object.defineProperty(exports, "createFloat32Array", { enumerable: true, get: function () { return adaptors_1.createFloat32Array; } });
13
- const plugin_line_strip_1 = __importDefault(require("./plugin-line-strip"));
13
+ var plugin_line_strip_1 = __importDefault(require("./plugin-line-strip"));
14
14
  exports.TimeTracksLineStrip = plugin_line_strip_1.default;
15
- const adaptors_line_strip_1 = require("./adaptors-line-strip");
15
+ var adaptors_line_strip_1 = require("./adaptors-line-strip");
16
16
  Object.defineProperty(exports, "addCuttingPointLineStrip", { enumerable: true, get: function () { return adaptors_line_strip_1.addCuttingPointLineStrip; } });
17
17
  Object.defineProperty(exports, "featuresToLineStringData", { enumerable: true, get: function () { return adaptors_line_strip_1.featuresToLineStringData; } });
18
18
  Object.defineProperty(exports, "fillSliceOfFloat32ArrayLineStrip", { enumerable: true, get: function () { return adaptors_line_strip_1.fillSliceOfFloat32ArrayLineStrip; } });