@pirireis/webglobeplugins 0.9.11 → 0.9.12

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 +78 -80
  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 +14 -16
  9. package/Math/methods.js +65 -70
  10. package/Math/plane.js +16 -18
  11. package/Math/quaternion.js +45 -49
  12. package/Math/utils.js +2 -2
  13. package/Math/vec3.js +42 -45
  14. package/algorithms/search-binary.js +4 -4
  15. package/altitude-locator/draw-subset-obj.js +7 -8
  16. package/altitude-locator/plugin.js +98 -114
  17. package/arrowfield/adaptor.js +3 -4
  18. package/arrowfield/index.js +2 -2
  19. package/arrowfield/plugin.js +62 -65
  20. package/bearing-line/index.js +1 -1
  21. package/bearing-line/plugin.js +200 -226
  22. package/circle-line-chain/chain-list-map.js +82 -88
  23. package/circle-line-chain/plugin.js +134 -165
  24. package/circle-line-chain/util.js +1 -1
  25. package/compass-rose/compass-rose-padding-flat.js +108 -133
  26. package/compass-rose/compass-text-writer.js +62 -70
  27. package/compass-rose/index.js +2 -2
  28. package/compassrose/compassrose.js +46 -50
  29. package/compassrose/index.js +1 -1
  30. package/heatwave/index.js +2 -2
  31. package/heatwave/isobar/objectarraylabels.js +44 -48
  32. package/heatwave/isobar/plugin.js +104 -123
  33. package/heatwave/isobar/quadtreecontours.js +76 -92
  34. package/heatwave/plugins/heatwaveglobeshell.js +69 -87
  35. package/index.js +11 -11
  36. package/package.json +1 -1
  37. package/partialrings/buffer-manager.js +32 -64
  38. package/partialrings/index.js +1 -1
  39. package/partialrings/plugin.js +48 -84
  40. package/partialrings/program.js +136 -47
  41. package/pin/pin-object-array.js +83 -86
  42. package/pin/pin-point-totem.js +21 -22
  43. package/point-heat-map/adaptors/timetracksplugin-format-to-this.js +10 -10
  44. package/point-heat-map/plugin-webworker.js +40 -45
  45. package/point-heat-map/point-to-heat-map-flow.js +40 -42
  46. package/point-tracks/key-methods.js +1 -1
  47. package/point-tracks/plugin.js +137 -162
  48. package/programs/arrowfield/index.js +1 -1
  49. package/programs/arrowfield/logic.js +170 -62
  50. package/programs/arrowfield/object.js +33 -35
  51. package/programs/data2legend/density-to-legend.js +45 -21
  52. package/programs/data2legend/point-to-density-texture.js +52 -27
  53. package/programs/float2legendwithratio/index.js +1 -1
  54. package/programs/float2legendwithratio/logic.js +88 -42
  55. package/programs/float2legendwithratio/object.js +43 -46
  56. package/programs/globe-util/is-globe-moved.js +10 -11
  57. package/programs/globeshell/index.js +1 -1
  58. package/programs/globeshell/wiggle/index.js +1 -1
  59. package/programs/globeshell/wiggle/logic.js +191 -98
  60. package/programs/globeshell/wiggle/object.js +33 -35
  61. package/programs/helpers/blender/program.js +36 -19
  62. package/programs/helpers/fadeaway/index.js +1 -1
  63. package/programs/helpers/fadeaway/logic.js +35 -13
  64. package/programs/helpers/fadeaway/object.js +9 -10
  65. package/programs/helpers/index.js +1 -1
  66. package/programs/index.js +8 -8
  67. package/programs/line-on-globe/angled-line.js +91 -32
  68. package/programs/line-on-globe/circle-accurate-3d.js +82 -32
  69. package/programs/line-on-globe/circle-accurate-flat.js +108 -50
  70. package/programs/line-on-globe/circle-accurate.js +103 -33
  71. package/programs/line-on-globe/circle.js +97 -32
  72. package/programs/line-on-globe/degree-padding-around-circle-3d.js +83 -33
  73. package/programs/line-on-globe/lines-color-instanced-flat.js +79 -34
  74. package/programs/line-on-globe/linestrip.js +111 -45
  75. package/programs/line-on-globe/naive-accurate-flexible.js +120 -50
  76. package/programs/line-on-globe/to-the-surface.js +58 -29
  77. package/programs/line-on-globe/util.js +1 -1
  78. package/programs/picking/pickable-renderer.js +117 -33
  79. package/programs/point-on-globe/element-globe-surface-glow.js +78 -38
  80. package/programs/point-on-globe/element-point-glow.js +103 -35
  81. package/programs/point-on-globe/square-pixel-point.js +76 -27
  82. package/programs/programcache.js +13 -13
  83. package/programs/rings/distancering/circleflatprogram.js +63 -21
  84. package/programs/rings/distancering/circlepaddingfreeangleprogram.js +156 -145
  85. package/programs/rings/distancering/circlepaddysharedbuffer.js +121 -197
  86. package/programs/rings/distancering/index.js +4 -4
  87. package/programs/rings/distancering/paddyflatprogram.js +73 -20
  88. package/programs/rings/distancering/paddyflatprogram2d.js +75 -22
  89. package/programs/rings/distancering/paddyflatprogram3d.js +73 -20
  90. package/programs/rings/partial-ring/piece-of-pie.js +137 -35
  91. package/programs/totems/camerauniformblock.js +64 -51
  92. package/programs/totems/canvas-webglobe-info.js +48 -40
  93. package/programs/totems/gpu-selection-uniform-block.js +44 -40
  94. package/programs/totems/index.js +1 -1
  95. package/programs/two-d/pixel-padding-for-compass.js +90 -29
  96. package/programs/util.js +6 -7
  97. package/programs/vectorfields/index.js +1 -1
  98. package/programs/vectorfields/logics/drawrectangleparticles.js +70 -29
  99. package/programs/vectorfields/logics/index.js +3 -3
  100. package/programs/vectorfields/logics/pixelbased.js +91 -35
  101. package/programs/vectorfields/logics/ubo.js +31 -25
  102. package/programs/vectorfields/pingpongbuffermanager.js +30 -34
  103. package/rangerings/index.js +4 -4
  104. package/rangerings/plugin.js +202 -258
  105. package/rangerings/rangeringangletext.js +108 -120
  106. package/rangerings/ring-account.js +52 -69
  107. package/shaders/fragment-toy/firework.js +55 -1
  108. package/shaders/fragment-toy/singularity.js +55 -1
  109. package/timetracks/adaptors-line-strip.js +26 -37
  110. package/timetracks/adaptors.js +47 -61
  111. package/timetracks/index.js +4 -4
  112. package/timetracks/plugin-line-strip.js +63 -71
  113. package/timetracks/plugin.js +69 -77
  114. package/timetracks/program-line-strip.js +296 -103
  115. package/timetracks/program.js +419 -113
  116. package/timetracks/programpoint-line-strip.js +97 -44
  117. package/timetracks/programpoint.js +90 -44
  118. package/util/account/bufferoffsetmanager.js +72 -95
  119. package/util/account/index.js +1 -1
  120. package/util/account/single-attribute-buffer-management/buffer-manager.js +44 -44
  121. package/util/account/single-attribute-buffer-management/buffer-orchestrator.js +68 -94
  122. package/util/account/single-attribute-buffer-management/index.js +3 -3
  123. package/util/account/single-attribute-buffer-management/object-store.js +29 -30
  124. package/util/account/util.js +2 -4
  125. package/util/algorithms/search-binary.js +4 -4
  126. package/util/check/get.js +5 -5
  127. package/util/check/typecheck.js +13 -15
  128. package/util/geometry/index.js +9 -11
  129. package/util/gl-util/buffer/attribute-loader.js +8 -20
  130. package/util/gl-util/buffer/index.js +1 -1
  131. package/util/gl-util/draw-options/methods.js +8 -9
  132. package/util/gl-util/uniform-block/manager.js +67 -67
  133. package/util/heatwavedatamanager/datamanager.js +56 -116
  134. package/util/heatwavedatamanager/index.js +2 -2
  135. package/util/heatwavedatamanager/pointcoordinatesdatacalculator.js +37 -40
  136. package/util/heatwavedatamanager/pointcoordsmeta.js +9 -10
  137. package/util/index.js +6 -6
  138. package/util/interpolation/timetrack/index.js +1 -1
  139. package/util/interpolation/timetrack/timetrack-interpolator.js +27 -29
  140. package/util/interpolation/timetrack/web-worker-str.js +179 -1
  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 +46 -52
  146. package/util/programs/draw-texture-on-canvas.js +39 -21
  147. package/util/programs/shapesonglobe.js +104 -64
  148. package/util/programs/supersampletotextures.js +45 -39
  149. package/util/programs/texturetoglobe.js +98 -48
  150. package/util/shaderfunctions/geometrytransformations.js +322 -27
  151. package/util/shaderfunctions/nodata.js +7 -1
  152. package/util/shaderfunctions/noisefunctions.js +39 -9
  153. package/util/surface-line-data/arcs-to-cuts.js +20 -23
  154. package/util/webglobe/rasteroverlay.js +35 -37
  155. package/util/webglobjectbuilders.js +55 -60
  156. package/util/webglobjectbuilders1.js +48 -49
  157. package/waveparticles/adaptor.js +6 -7
  158. package/waveparticles/index.js +2 -2
  159. package/waveparticles/plugin.js +79 -84
  160. package/wind/imagetovectorfieldandmagnitude.js +15 -15
  161. package/wind/index.js +4 -4
  162. package/wind/plugin.js +453 -251
  163. package/wind/vectorfieldimage.js +5 -5
  164. package/write-text/attached-text-writer.js +46 -48
  165. package/write-text/context-text.js +51 -58
  166. package/write-text/context-text3.js +69 -74
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.keyMethod = exports.PointTracksPlugin = void 0;
4
- var account_1 = require("../util/account");
5
- var picker_displayer_1 = require("../util/picking/picker-displayer");
6
- var square_pixel_point_1 = require("../programs/point-on-globe/square-pixel-point");
7
- var methods_1 = require("../Math/methods");
4
+ const account_1 = require("../util/account");
5
+ const picker_displayer_1 = require("../util/picking/picker-displayer");
6
+ const square_pixel_point_1 = require("../programs/point-on-globe/square-pixel-point");
7
+ const methods_1 = require("../Math/methods");
8
8
  /**
9
9
  * @typedef {number} long
10
10
  * @typedef {number} lat
@@ -15,9 +15,8 @@ var methods_1 = require("../Math/methods");
15
15
  * @typedef { long ,lat, height, ID } Point
16
16
  * @typedef {Array<Point>, rgba, trackID} Track
17
17
  */
18
- var PointTracksPlugin = /** @class */ (function () {
19
- function PointTracksPlugin(id, _a) {
20
- var _b = _a === void 0 ? {} : _a, _c = _b.pointSize, pointSize = _c === void 0 ? 2 : _c, _d = _b.hoveredPointSize, hoveredPointSize = _d === void 0 ? 4 : _d, _e = _b.selectionPointFilling, selectionPointFilling = _e === void 0 ? 4 : _e, _f = _b.opacity, opacity = _f === void 0 ? 1.0 : _f;
18
+ class PointTracksPlugin {
19
+ constructor(id, { pointSize = 2, hoveredPointSize = 4, selectionPointFilling = 4, opacity = 1.0 } = {}) {
21
20
  this.id = id;
22
21
  this._isFreed = false;
23
22
  this._pointProgram = null;
@@ -33,40 +32,40 @@ var PointTracksPlugin = /** @class */ (function () {
33
32
  this._lastWH = { w: 0, h: 0 };
34
33
  this._focusParams = { on: false, length: 0, elementBuffer: null, trackIDs: [] };
35
34
  this.pointSizes = {
36
- pointSize: pointSize,
37
- selectionPointFilling: selectionPointFilling,
38
- hoveredPointSize: hoveredPointSize
35
+ pointSize,
36
+ selectionPointFilling,
37
+ hoveredPointSize
39
38
  };
40
39
  }
41
- PointTracksPlugin.prototype.init = function (globe, gl) {
40
+ init(globe, gl) {
42
41
  this.globe = globe;
43
42
  this.gl = gl;
44
43
  this._pickerDisplayer = new picker_displayer_1.PickerDisplayer(globe);
45
44
  this._pointProgram = square_pixel_point_1.PointOnGlobeProgramCache.get(globe);
46
45
  this._focusParams.elementBuffer = gl.createBuffer();
47
46
  this._initBufferManagers();
48
- };
49
- PointTracksPlugin.prototype._initBufferManagers = function () {
50
- var gl = this.gl;
51
- var initialCapacity = 10;
52
- var bufferType = "DYNAMIC_DRAW";
53
- this._bufferOrchestrator = new account_1.BufferOrchestrator({ initialCapacity: initialCapacity });
47
+ }
48
+ _initBufferManagers() {
49
+ const { gl } = this;
50
+ const initialCapacity = 10;
51
+ const bufferType = "DYNAMIC_DRAW";
52
+ this._bufferOrchestrator = new account_1.BufferOrchestrator({ initialCapacity });
54
53
  this._bufferManagersMap = new Map([
55
54
  ["pos3D", {
56
- bufferManager: new account_1.BufferManager(gl, 3, { bufferType: bufferType, initialCapacity: initialCapacity }),
57
- adaptor: function (item) { return new Float32Array((0, methods_1.wgs84ToCartesian3d)(item.long, item.lat, item.height / 1000)); } // height is in meters
55
+ bufferManager: new account_1.BufferManager(gl, 3, { bufferType, initialCapacity }),
56
+ adaptor: (item) => new Float32Array((0, methods_1.wgs84ToCartesian3d)(item.long, item.lat, item.height / 1000)) // height is in meters
58
57
  }],
59
58
  ["pos2D", {
60
- bufferManager: new account_1.BufferManager(gl, 2, { bufferType: bufferType, initialCapacity: initialCapacity }),
61
- adaptor: function (item) { return new Float32Array((0, methods_1.wgs84ToMercator)(item.long, item.lat)); }
59
+ bufferManager: new account_1.BufferManager(gl, 2, { bufferType, initialCapacity }),
60
+ adaptor: (item) => new Float32Array((0, methods_1.wgs84ToMercator)(item.long, item.lat))
62
61
  }],
63
62
  ["rgba", {
64
- bufferManager: new account_1.BufferManager(gl, 4, { bufferType: bufferType, initialCapacity: initialCapacity }),
65
- adaptor: function (item) { return item.rgba; }
63
+ bufferManager: new account_1.BufferManager(gl, 4, { bufferType, initialCapacity }),
64
+ adaptor: (item) => item.rgba
66
65
  }],
67
66
  ["objectStore", {
68
- bufferManager: new account_1.ObjectStore({ initialCapacity: initialCapacity }),
69
- adaptor: function (item) {
67
+ bufferManager: new account_1.ObjectStore({ initialCapacity }),
68
+ adaptor: (item) => {
70
69
  return {
71
70
  trackID: item.trackID, pointID: item.pointID
72
71
  };
@@ -74,127 +73,113 @@ var PointTracksPlugin = /** @class */ (function () {
74
73
  }]
75
74
  ]);
76
75
  this._vao = this._pointProgram.createVAO(this._bufferManagersMap.get("pos3D").bufferManager.buffer, this._bufferManagersMap.get("pos2D").bufferManager.buffer, this._bufferManagersMap.get("rgba").bufferManager.buffer);
77
- };
78
- PointTracksPlugin.prototype.setPointSize = function (size) {
79
- var _a;
76
+ }
77
+ setPointSize(size) {
80
78
  this.pointSizes.pointSize = size;
81
- (_a = this.globe) === null || _a === void 0 ? void 0 : _a.DrawRender();
82
- };
83
- PointTracksPlugin.prototype.setSelectionPointFilling = function (size) {
84
- var _a;
79
+ this.globe?.DrawRender();
80
+ }
81
+ setSelectionPointFilling(size) {
85
82
  this.pointSizes.selectionPointFilling = size;
86
- (_a = this.globe) === null || _a === void 0 ? void 0 : _a.DrawRender();
87
- };
88
- PointTracksPlugin.prototype.setHoveredPointSize = function (size) {
89
- var _a;
83
+ this.globe?.DrawRender();
84
+ }
85
+ setHoveredPointSize(size) {
90
86
  this.pointSizes.hoveredPointSize = size;
91
- (_a = this.globe) === null || _a === void 0 ? void 0 : _a.DrawRender();
92
- };
93
- PointTracksPlugin.prototype.setOpacity = function (opacity) {
94
- var _a;
87
+ this.globe?.DrawRender();
88
+ }
89
+ setOpacity(opacity) {
95
90
  if (opacity < 0 || opacity > 1)
96
91
  return;
97
92
  this._opacity = opacity;
98
- (_a = this.globe) === null || _a === void 0 ? void 0 : _a.DrawRender();
99
- };
100
- PointTracksPlugin.prototype.getCurrentSelection = function () {
93
+ this.globe?.DrawRender();
94
+ }
95
+ getCurrentSelection() {
101
96
  return this._selectedObj;
102
- };
97
+ }
103
98
  /**
104
99
  *
105
100
  * @param {*} x screen x
106
101
  * @param {*} y screen y
107
102
  * @param {*} callback callback on selection
108
103
  */
109
- PointTracksPlugin.prototype.screenSelection = function (x, y, callback) {
110
- var _this = this;
111
- var _a = this, pointSizes = _a.pointSizes, _pickerDisplayer = _a._pickerDisplayer;
112
- var objectStore = this._bufferManagersMap.get("objectStore").bufferManager;
113
- var wrapper = function (selectedIDsSet) {
114
- var selectedIDs = Array.from(selectedIDsSet);
104
+ screenSelection(x, y, callback) {
105
+ const { pointSizes, _pickerDisplayer } = this;
106
+ const objectStore = this._bufferManagersMap.get("objectStore").bufferManager;
107
+ const wrapper = (selectedIDsSet) => {
108
+ const selectedIDs = Array.from(selectedIDsSet);
115
109
  if (selectedIDs.length === 0) {
116
- _this._selectedObj = null;
117
- _this._selectedID = -1;
110
+ this._selectedObj = null;
111
+ this._selectedID = -1;
118
112
  callback([]);
119
113
  return;
120
114
  }
121
- var selectedPoints = [];
122
- for (var i = 0; i < selectedIDs.length; i++) {
123
- var id = selectedIDs[i];
115
+ const selectedPoints = [];
116
+ for (let i = 0; i < selectedIDs.length; i++) {
117
+ const id = selectedIDs[i];
124
118
  if (i === 0) {
125
- _this._selectedID = id;
126
- _this._selectedObj = objectStore.get(id);
119
+ this._selectedID = id;
120
+ this._selectedObj = objectStore.get(id);
127
121
  }
128
- var obj = objectStore.get(id);
122
+ const obj = objectStore.get(id);
129
123
  selectedPoints.push(obj);
130
124
  }
131
125
  callback(selectedPoints);
132
126
  };
133
127
  _pickerDisplayer.pickXY(x, y, pointSizes.selectionPointFilling, wrapper);
134
- };
128
+ }
135
129
  /**
136
130
  * @param {Array<Track>} tracks
137
131
  * @returns
138
132
  */
139
- PointTracksPlugin.prototype.insertBulk = function (tracks) {
140
- var _a;
133
+ insertBulk(tracks) {
141
134
  this._fillTracksToPointsMap(tracks); // TODO error should be at the top
142
- var flattenedPoints = tracks.map(trackToFlatPoints).flat();
143
- var currentLoad = this._bufferOrchestrator.length;
135
+ const flattenedPoints = tracks.map(trackToFlatPoints).flat();
136
+ const currentLoad = this._bufferOrchestrator.length;
144
137
  if (currentLoad + flattenedPoints.length >= 2147483647) {
145
138
  throw new Error("Too many points, Point count cannot exceed 2147483647");
146
139
  }
147
- var _b = this, _bufferManagersMap = _b._bufferManagersMap, _bufferOrchestrator = _b._bufferOrchestrator;
140
+ const { _bufferManagersMap, _bufferOrchestrator } = this;
148
141
  _bufferOrchestrator.insertBulk(flattenedPoints, _bufferManagersMap);
149
142
  this._refillFocus();
150
- (_a = this.globe) === null || _a === void 0 ? void 0 : _a.DrawRender();
151
- };
152
- PointTracksPlugin.prototype.flush = function () {
153
- var _a, _b;
154
- var capacity = 100;
155
- (_a = this._bufferOrchestrator) === null || _a === void 0 ? void 0 : _a.flush({ capacity: capacity });
156
- this._bufferManagersMap.forEach(function (_a) {
157
- var bufferManager = _a.bufferManager;
158
- return bufferManager.resetWithCapacity(capacity);
159
- });
143
+ this.globe?.DrawRender();
144
+ }
145
+ flush() {
146
+ const capacity = 100;
147
+ this._bufferOrchestrator?.flush({ capacity });
148
+ this._bufferManagersMap.forEach(({ bufferManager }) => bufferManager.resetWithCapacity(capacity));
160
149
  this._turnOffFocus();
161
150
  this._tracksToPointsMap.clear();
162
- (_b = this.globe) === null || _b === void 0 ? void 0 : _b.DrawRender();
163
- };
151
+ this.globe?.DrawRender();
152
+ }
164
153
  /**
165
154
  * @param {string} trackID
166
155
  */
167
- PointTracksPlugin.prototype.deleteTrack = function (trackID) {
168
- var _a;
169
- var pointSet = this._tracksToPointsMap.get(trackID);
170
- var points = Array.from(pointSet);
171
- var _b = this, _bufferOrchestrator = _b._bufferOrchestrator, _bufferManagersMap = _b._bufferManagersMap;
172
- _bufferOrchestrator.deleteBulk(points.map(function (pointID) { return keyMethod(trackID, pointID); }), _bufferManagersMap);
156
+ deleteTrack(trackID) {
157
+ const pointSet = this._tracksToPointsMap.get(trackID);
158
+ const points = Array.from(pointSet);
159
+ const { _bufferOrchestrator, _bufferManagersMap } = this;
160
+ _bufferOrchestrator.deleteBulk(points.map((pointID) => keyMethod(trackID, pointID)), _bufferManagersMap);
173
161
  this._tracksToPointsMap.delete(trackID);
174
162
  this._redraw = true;
175
163
  this._refillFocus();
176
- (_a = this.globe) === null || _a === void 0 ? void 0 : _a.DrawRender();
177
- };
164
+ this.globe?.DrawRender();
165
+ }
178
166
  /**
179
167
  * @param {string} trackID
180
168
  * @param {Array<string>} pointIDs
181
169
  */
182
- PointTracksPlugin.prototype.deletePoints = function (trackID, pointIDs) {
183
- var _a;
184
- var _b = this, _bufferOrchestrator = _b._bufferOrchestrator, _bufferManagersMap = _b._bufferManagersMap;
185
- _bufferOrchestrator.deleteBulk(pointIDs.map(function (pointID) { return keyMethod(trackID, pointID); }), _bufferManagersMap);
170
+ deletePoints(trackID, pointIDs) {
171
+ const { _bufferOrchestrator, _bufferManagersMap } = this;
172
+ _bufferOrchestrator.deleteBulk(pointIDs.map((pointID) => keyMethod(trackID, pointID)), _bufferManagersMap);
186
173
  this._deletePointsFromTracksMap(trackID, pointIDs);
187
174
  this._refillFocus();
188
- (_a = this.globe) === null || _a === void 0 ? void 0 : _a.DrawRender();
189
- };
190
- PointTracksPlugin.prototype.focusTracks = function (trackIDs) {
191
- var _a;
192
- if (trackIDs === void 0) { trackIDs = null; }
175
+ this.globe?.DrawRender();
176
+ }
177
+ focusTracks(trackIDs = null) {
193
178
  if (!this.globe)
194
179
  return;
195
180
  if (!trackIDs) {
196
181
  this._focusParams.on = false;
197
- (_a = this.globe) === null || _a === void 0 ? void 0 : _a.DrawRender();
182
+ this.globe?.DrawRender();
198
183
  return;
199
184
  }
200
185
  this._focusParams.on = this._fillElementBuffer(trackIDs);
@@ -202,22 +187,19 @@ var PointTracksPlugin = /** @class */ (function () {
202
187
  this._turnOffFocus();
203
188
  }
204
189
  this.globe.DrawRender();
205
- };
190
+ }
206
191
  // GLOBE API METHODS
207
- PointTracksPlugin.prototype.free = function () {
192
+ free() {
208
193
  if (this._isFreed)
209
194
  return;
210
195
  this._isFreed = true;
211
196
  this._pickerDisplayer.free();
212
197
  square_pixel_point_1.PointOnGlobeProgramCache.release(this.globe);
213
198
  this.gl.deleteBuffer(this._focusParams.elementBuffer);
214
- this._bufferManagersMap.forEach(function (_a) {
215
- var bufferManager = _a.bufferManager, adaptor = _a.adaptor;
216
- return bufferManager.free();
217
- });
218
- };
219
- PointTracksPlugin.prototype.draw3D = function () {
220
- var _a = this, gl = _a.gl, _pointProgram = _a._pointProgram, _pickerDisplayer = _a._pickerDisplayer, _bufferOrchestrator = _a._bufferOrchestrator, _vao = _a._vao;
199
+ this._bufferManagersMap.forEach(({ bufferManager, adaptor }) => bufferManager.free());
200
+ }
201
+ draw3D() {
202
+ const { gl, _pointProgram, _pickerDisplayer, _bufferOrchestrator, _vao } = this;
221
203
  this.resize();
222
204
  _pickerDisplayer.bindFBO();
223
205
  _pickerDisplayer.clearTextures();
@@ -241,77 +223,72 @@ var PointTracksPlugin = /** @class */ (function () {
241
223
  gl.bindFramebuffer(gl.FRAMEBUFFER, null);
242
224
  _pickerDisplayer.drawColorTexture();
243
225
  this._selfSelect();
244
- };
245
- PointTracksPlugin.prototype.resize = function () {
246
- var _a;
247
- var w = this.globe.api_ScrW();
248
- var h = this.globe.api_ScrH();
226
+ }
227
+ resize() {
228
+ const w = this.globe.api_ScrW();
229
+ const h = this.globe.api_ScrH();
249
230
  if (w === this._lastWH.w && h === this._lastWH.h)
250
231
  return;
251
232
  this._lastWH.w = w;
252
233
  this._lastWH.h = h;
253
234
  this._pickerDisplayer.resize();
254
- (_a = this.globe) === null || _a === void 0 ? void 0 : _a.DrawRender();
255
- };
235
+ this.globe?.DrawRender();
236
+ }
256
237
  // IMPLICIT METHODS
257
- PointTracksPlugin.prototype._fillTracksToPointsMap = function (tracks) {
258
- for (var _i = 0, tracks_1 = tracks; _i < tracks_1.length; _i++) {
259
- var track = tracks_1[_i];
260
- var trackID = track.trackID;
261
- var points = track.points;
238
+ _fillTracksToPointsMap(tracks) {
239
+ for (const track of tracks) {
240
+ const trackID = track.trackID;
241
+ const points = track.points;
262
242
  if (!this._tracksToPointsMap.has(trackID)) {
263
243
  this._tracksToPointsMap.set(trackID, new Set());
264
244
  }
265
- var pointSet = this._tracksToPointsMap.get(trackID);
266
- for (var p = 0; p < points.length; p++) {
267
- var pointID = points[p].ID;
245
+ const pointSet = this._tracksToPointsMap.get(trackID);
246
+ for (let p = 0; p < points.length; p++) {
247
+ const pointID = points[p].ID;
268
248
  pointSet.add(pointID);
269
249
  }
270
250
  }
271
- };
272
- PointTracksPlugin.prototype._refillFocus = function () {
251
+ }
252
+ _refillFocus() {
273
253
  if (this._focusParams.on) {
274
254
  this.focusTracks(this._focusParams.trackIDs);
275
255
  }
276
- };
277
- PointTracksPlugin.prototype._deletePointsFromTracksMap = function (trackID, pointIDs) {
278
- var trackSet = this._tracksToPointsMap.get(trackID);
279
- for (var _i = 0, pointIDs_1 = pointIDs; _i < pointIDs_1.length; _i++) {
280
- var pointID = pointIDs_1[_i];
256
+ }
257
+ _deletePointsFromTracksMap(trackID, pointIDs) {
258
+ const trackSet = this._tracksToPointsMap.get(trackID);
259
+ for (const pointID of pointIDs) {
281
260
  trackSet.delete(pointID);
282
261
  }
283
- };
284
- PointTracksPlugin.prototype._selfSelect = function () {
285
- var globe = this.globe;
286
- var pos = globe.api_GetMousePos();
287
- var x = pos.canvasX;
288
- var y = globe.api_ScrH() - pos.canvasY;
289
- this.screenSelection(x, y, function (selectedPoints) {
262
+ }
263
+ _selfSelect() {
264
+ const { globe } = this;
265
+ const pos = globe.api_GetMousePos();
266
+ const x = pos.canvasX;
267
+ const y = globe.api_ScrH() - pos.canvasY;
268
+ this.screenSelection(x, y, (selectedPoints) => {
290
269
  });
291
- };
292
- PointTracksPlugin.prototype._turnOffFocus = function () {
293
- var gl = this.gl;
270
+ }
271
+ _turnOffFocus() {
272
+ const { gl } = this;
294
273
  gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this._focusParams.elementBuffer);
295
274
  gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint32Array([]), gl.STATIC_DRAW);
296
275
  gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, null);
297
276
  this._focusParams.length = 0;
298
277
  this._focusParams.on = false;
299
- };
300
- PointTracksPlugin.prototype._fillElementBuffer = function (trackIDs) {
301
- var length = 0;
302
- var indexes = [];
303
- var foundTracks = [];
304
- for (var _i = 0, trackIDs_1 = trackIDs; _i < trackIDs_1.length; _i++) {
305
- var trackID = trackIDs_1[_i];
306
- var pointSet = this._tracksToPointsMap.get(trackID);
278
+ }
279
+ _fillElementBuffer(trackIDs) {
280
+ let length = 0;
281
+ const indexes = [];
282
+ const foundTracks = [];
283
+ for (const trackID of trackIDs) {
284
+ const pointSet = this._tracksToPointsMap.get(trackID);
307
285
  if (!pointSet)
308
286
  continue;
309
287
  foundTracks.push(trackID);
310
- var points = Array.from(pointSet);
311
- for (var _a = 0, points_1 = points; _a < points_1.length; _a++) {
312
- var pointID = points_1[_a];
313
- var key = keyMethod(trackID, pointID);
314
- var index = this._bufferOrchestrator.offsetMap.get(key);
288
+ const points = Array.from(pointSet);
289
+ for (const pointID of points) {
290
+ const key = keyMethod(trackID, pointID);
291
+ const index = this._bufferOrchestrator.offsetMap.get(key);
315
292
  indexes.push(index);
316
293
  length++;
317
294
  }
@@ -321,33 +298,31 @@ var PointTracksPlugin = /** @class */ (function () {
321
298
  if (length === 0) {
322
299
  return false;
323
300
  }
324
- var gl = this.gl;
301
+ const { gl } = this;
325
302
  gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this._focusParams.elementBuffer);
326
303
  gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint32Array(indexes), gl.STATIC_DRAW);
327
304
  gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, null);
328
305
  return true;
329
- };
330
- return PointTracksPlugin;
331
- }());
306
+ }
307
+ }
332
308
  exports.PointTracksPlugin = PointTracksPlugin;
333
- var trackToFlatPoints = function (track) {
334
- var trackID = track.trackID;
335
- var points = track.points;
336
- var rgba = new Float32Array(track.rgba);
337
- var flatPoints = [];
338
- for (var _i = 0, points_2 = points; _i < points_2.length; _i++) {
339
- var point = points_2[_i];
309
+ const trackToFlatPoints = (track) => {
310
+ const trackID = track.trackID;
311
+ const points = track.points;
312
+ const rgba = new Float32Array(track.rgba);
313
+ const flatPoints = [];
314
+ for (const point of points) {
340
315
  flatPoints.push({
341
316
  key: keyMethod(trackID, point.ID),
342
317
  long: point.long,
343
318
  lat: point.lat,
344
319
  height: point.height,
345
320
  pointID: point.ID,
346
- rgba: rgba,
347
- trackID: trackID
321
+ rgba,
322
+ trackID
348
323
  });
349
324
  }
350
325
  return flatPoints;
351
326
  };
352
- var keyMethod = function (trackID, pointID) { return "".concat(trackID, "_").concat(pointID); };
327
+ const keyMethod = (trackID, pointID) => `${trackID}_${pointID}`;
353
328
  exports.keyMethod = keyMethod;
@@ -3,5 +3,5 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- var object_1 = __importDefault(require("./object"));
6
+ const object_1 = __importDefault(require("./object"));
7
7
  exports.default = object_1.default;