@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
@@ -30,25 +30,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
30
30
  };
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
32
  exports.Z_ALPHA_MODE = exports.RangeRings = void 0;
33
- var circle_accurate_flat_1 = require("../programs/line-on-globe/circle-accurate-flat");
34
- var circle_accurate_3d_1 = require("../programs/line-on-globe/circle-accurate-3d");
35
- var lines_color_instanced_flat_1 = require("../programs/line-on-globe/lines-color-instanced-flat");
36
- var account_1 = require("../util/account");
37
- var get_1 = require("../util/check/get");
38
- var data_filler_1 = require("../util/jshelpers/data-filler");
39
- var ring_account_1 = require("./ring-account");
40
- var degree_padding_around_circle_3d_1 = require("../programs/line-on-globe/degree-padding-around-circle-3d");
41
- var naive_accurate_flexible_1 = require("../programs/line-on-globe/naive-accurate-flexible");
42
- var rangeringangletext_1 = __importDefault(require("./rangeringangletext"));
43
- var util_1 = require("../programs/line-on-globe/util");
33
+ const circle_accurate_flat_1 = require("../programs/line-on-globe/circle-accurate-flat");
34
+ const circle_accurate_3d_1 = require("../programs/line-on-globe/circle-accurate-3d");
35
+ const lines_color_instanced_flat_1 = require("../programs/line-on-globe/lines-color-instanced-flat");
36
+ const account_1 = require("../util/account");
37
+ const get_1 = require("../util/check/get");
38
+ const data_filler_1 = require("../util/jshelpers/data-filler");
39
+ const ring_account_1 = require("./ring-account");
40
+ const degree_padding_around_circle_3d_1 = require("../programs/line-on-globe/degree-padding-around-circle-3d");
41
+ const naive_accurate_flexible_1 = require("../programs/line-on-globe/naive-accurate-flexible");
42
+ const rangeringangletext_1 = __importDefault(require("./rangeringangletext"));
43
+ const util_1 = require("../programs/line-on-globe/util");
44
44
  Object.defineProperty(exports, "Z_ALPHA_MODE", { enumerable: true, get: function () { return util_1.Z_ALPHA_MODE; } });
45
- var enum_1 = require("./enum");
46
- var typecheck_1 = require("../util/check/typecheck");
47
- var geometry_1 = require("../util/geometry");
48
- var CIRCLE_FLAT_EDGE_COUNT = 362; // 360 + 2 for closing the circle and a cutting point
49
- var coordOnSphere = function (long, lat, globe, altitude) {
50
- if (altitude === void 0) { altitude = 0; }
51
- var coord = globe.api_GetCartesian3DPoint(long, lat, 0, 0);
45
+ const enum_1 = require("./enum");
46
+ const typecheck_1 = require("../util/check/typecheck");
47
+ const geometry_1 = require("../util/geometry");
48
+ const CIRCLE_FLAT_EDGE_COUNT = 362; // 360 + 2 for closing the circle and a cutting point
49
+ const coordOnSphere = (long, lat, globe, altitude = 0) => {
50
+ const coord = globe.api_GetCartesian3DPoint(long, lat, 0, 0);
52
51
  return (0, geometry_1.normalize)(coord, 6378.137 + altitude);
53
52
  };
54
53
  /**
@@ -74,10 +73,8 @@ var coordOnSphere = function (long, lat, globe, altitude) {
74
73
  * @property {number} rgba
75
74
  * @property {Array<RangeRing>} rings
76
75
  */
77
- var RangeRings = /** @class */ (function () {
78
- function RangeRings(id, _a, _b) {
79
- var _c = _a === void 0 ? {} : _a, _d = _c.oneDegreePadding, oneDegreePadding = _d === void 0 ? true : _d, _e = _c.showNumbers, showNumbers = _e === void 0 ? true : _e, _f = _c.numbersStyle, numbersStyle = _f === void 0 ? null : _f, _g = _c.opacity, opacity = _g === void 0 ? 1 : _g, _h = _c.zAlphaOnDegreePadding, zAlphaOnDegreePadding = _h === void 0 ? util_1.Z_ALPHA_MODE.ON : _h;
80
- var _j = _b === void 0 ? {} : _b, _k = _j.textDataPreAdaptor, textDataPreAdaptor = _k === void 0 ? null : _k, _l = _j.textWritersMap, textWritersMap = _l === void 0 ? new Map() : _l;
76
+ class RangeRings {
77
+ constructor(id, { oneDegreePadding = true, showNumbers = true, numbersStyle = null, opacity = 1, zAlphaOnDegreePadding = util_1.Z_ALPHA_MODE.ON } = {}, { textDataPreAdaptor = null, textWritersMap = new Map() } = {}) {
81
78
  this.id = id;
82
79
  this._oneDegreePadding = oneDegreePadding;
83
80
  this._zAlphaOnDegreePadding = zAlphaOnDegreePadding;
@@ -87,44 +84,36 @@ var RangeRings = /** @class */ (function () {
87
84
  this._ringAccount = new ring_account_1.RingAccount();
88
85
  this._textWritersMap = textWritersMap;
89
86
  this._textDataPreAdaptor = textDataPreAdaptor;
90
- this._textWritersMap.forEach(function (textWriter) { return textWriter.setKeyAdaptor(function (item) { return item.__identity__; }); });
87
+ this._textWritersMap.forEach((textWriter) => textWriter.setKeyAdaptor((item) => item.__identity__));
91
88
  }
92
89
  // USER API
93
90
  /**
94
91
  * @method updateCentersCoordinate @param { Array < { centerID, long,lat } >} items
95
92
  */
96
- RangeRings.prototype.updateCentersCoordinate = function (items, _a) {
93
+ updateCentersCoordinate(items, { textWriterIDs = [] } = {}) {
97
94
  // Algorithm
98
95
  /**
99
96
  * 1. ask centerRingAccount for existing rings COORDINATE RELATED KEYS
100
97
  * 2. update centers
101
98
  * 3. update buffer orchestators
102
99
  */
103
- var _b;
104
- var _c = _a === void 0 ? {} : _a, _d = _c.textWriterIDs, textWriterIDs = _d === void 0 ? [] : _d;
105
100
  this._ringAccount.updateCentersCoordinate(items);
106
- var _e = this, globe = _e.globe, bufferOrchestrator = _e.bufferOrchestrator, bufferManagersCompMap = _e.bufferManagersCompMap, paddingBufferOrchestrator = _e.paddingBufferOrchestrator, bufferManagersCompMapPadding = _e.bufferManagersCompMapPadding;
107
- for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {
108
- var centerID = items_1[_i].centerID;
109
- var datas = this.__reconstructCentralRings(centerID);
101
+ const { globe, bufferOrchestrator, bufferManagersCompMap, paddingBufferOrchestrator, bufferManagersCompMapPadding } = this;
102
+ for (const { centerID } of items) {
103
+ const datas = this.__reconstructCentralRings(centerID);
110
104
  bufferOrchestrator.updateBulk(datas, bufferManagersCompMap, ["centerCoords3d", "centerCoords2dflat", "targetCoords3d", "centerCoords2dflatForPadding"]);
111
- var paddingDatas = this.__reconstructCentralRingsBigPaddings(centerID);
105
+ const paddingDatas = this.__reconstructCentralRingsBigPaddings(centerID);
112
106
  paddingBufferOrchestrator.updateBulk(paddingDatas, bufferManagersCompMapPadding, ["circlePoint2d", "paddingPoint2d", "circlePoint3d", "paddingPoint3d"]);
113
107
  }
114
- (_b = this.paddingTextPlugin) === null || _b === void 0 ? void 0 : _b.updateCentersXY(items);
115
- this.__contextTextWriterUpdate(items.map(function (_a) {
116
- var centerID = _a.centerID;
117
- return centerID;
118
- }), textWriterIDs);
108
+ this.paddingTextPlugin?.updateCentersXY(items);
109
+ this.__contextTextWriterUpdate(items.map(({ centerID }) => centerID), textWriterIDs);
119
110
  globe.DrawRender();
120
- };
111
+ }
121
112
  /**
122
113
  * @method insertBulk
123
114
  * @param { Array < RangeRingsItem> } items
124
115
  */
125
- RangeRings.prototype.insertBulk = function (items, _a) {
126
- var _b;
127
- var _c = _a === void 0 ? {} : _a, _d = _c.textWriterIDs, textWriterIDs = _d === void 0 ? [] : _d;
116
+ insertBulk(items, { textWriterIDs = [] } = {}) {
128
117
  // Algorithm
129
118
  /**
130
119
  * 1 ask centerRingAccount for existing rings
@@ -132,38 +121,32 @@ var RangeRings = /** @class */ (function () {
132
121
  * 3. insert new centerRings to centerRingAccount
133
122
  * 4. insert new keys with buffer orchestators
134
123
  */
135
- var _e = this, globe = _e.globe, _ringAccount = _e._ringAccount, bufferOrchestrator = _e.bufferOrchestrator, bufferManagersCompMap = _e.bufferManagersCompMap, paddingBufferOrchestrator = _e.paddingBufferOrchestrator, bufferManagersCompMapPadding = _e.bufferManagersCompMapPadding;
136
- for (var _i = 0, items_2 = items; _i < items_2.length; _i++) {
137
- var item = items_2[_i];
138
- var existingKeys = _ringAccount.ringKeys(item.centerID);
124
+ const { globe, _ringAccount, bufferOrchestrator, bufferManagersCompMap, paddingBufferOrchestrator, bufferManagersCompMapPadding } = this;
125
+ for (const item of items) {
126
+ const existingKeys = _ringAccount.ringKeys(item.centerID);
139
127
  if (existingKeys.length) {
140
128
  bufferOrchestrator.deleteBulk(existingKeys, bufferManagersCompMap);
141
129
  }
142
- var paddingKeys = _ringAccount.ringBigPaddingKeys(item.centerID);
130
+ const paddingKeys = _ringAccount.ringBigPaddingKeys(item.centerID);
143
131
  if (paddingKeys.length) {
144
132
  paddingBufferOrchestrator.deleteBulk(paddingKeys, bufferManagersCompMapPadding);
145
133
  }
146
134
  }
147
- for (var _f = 0, items_3 = items; _f < items_3.length; _f++) {
148
- var item = items_3[_f];
135
+ for (const item of items) {
149
136
  _ringAccount.insertCenter(item);
150
- var datas = this.__reconstructCentralRings(item.centerID);
137
+ const datas = this.__reconstructCentralRings(item.centerID);
151
138
  bufferOrchestrator.insertBulk(datas, bufferManagersCompMap);
152
- var paddingDatas = this.__reconstructCentralRingsBigPaddings(item.centerID);
139
+ const paddingDatas = this.__reconstructCentralRingsBigPaddings(item.centerID);
153
140
  paddingBufferOrchestrator.insertBulk(paddingDatas, bufferManagersCompMapPadding);
154
141
  }
155
- (_b = this.paddingTextPlugin) === null || _b === void 0 ? void 0 : _b.insertBulk(items);
156
- this.__contextTextWriterUpdate(items.map(function (_a) {
157
- var centerID = _a.centerID;
158
- return centerID;
159
- }), textWriterIDs);
142
+ this.paddingTextPlugin?.insertBulk(items);
143
+ this.__contextTextWriterUpdate(items.map(({ centerID }) => centerID), textWriterIDs);
160
144
  globe.DrawRender();
161
- };
145
+ }
162
146
  /**
163
147
  * @method updateCentersColor @param { Array < { centerID, rgba: [4 numbers] } >} centerColors
164
148
  */
165
- RangeRings.prototype.updateCentersColor = function (centerColors, _a) {
166
- var _b = _a === void 0 ? {} : _a, _c = _b.textWriterIDs, textWriterIDs = _c === void 0 ? [] : _c;
149
+ updateCentersColor(centerColors, { textWriterIDs = [] } = {}) {
167
150
  // Algorithm
168
151
  /**
169
152
  * 1. ask centerRingAccount for existing rings COLOR KEYS
@@ -171,27 +154,21 @@ var RangeRings = /** @class */ (function () {
171
154
  * 3. update buffer orchestators
172
155
  */
173
156
  this._ringAccount.updateCentersColor(centerColors);
174
- var _d = this, globe = _d.globe, bufferOrchestrator = _d.bufferOrchestrator, bufferManagersCompMap = _d.bufferManagersCompMap, paddingBufferOrchestrator = _d.paddingBufferOrchestrator, bufferManagersCompMapPadding = _d.bufferManagersCompMapPadding;
175
- for (var _i = 0, centerColors_1 = centerColors; _i < centerColors_1.length; _i++) {
176
- var centerID = centerColors_1[_i].centerID;
177
- var datas = this.__reconstructCentralProperties(centerID);
157
+ const { globe, bufferOrchestrator, bufferManagersCompMap, paddingBufferOrchestrator, bufferManagersCompMapPadding } = this;
158
+ for (const { centerID } of centerColors) {
159
+ const datas = this.__reconstructCentralProperties(centerID);
178
160
  bufferOrchestrator.updateBulk(datas, bufferManagersCompMap, ["rgba", "rgbaMercator"]);
179
- var paddingDatas = this.__reconstructCentralPaddingProperties(centerID);
161
+ const paddingDatas = this.__reconstructCentralPaddingProperties(centerID);
180
162
  paddingBufferOrchestrator.updateBulk(paddingDatas, bufferManagersCompMapPadding, ["rgba"]);
181
163
  }
182
- this.__contextTextWriterUpdate(centerColors.map(function (_a) {
183
- var centerID = _a.centerID;
184
- return centerID;
185
- }), textWriterIDs);
164
+ this.__contextTextWriterUpdate(centerColors.map(({ centerID }) => centerID), textWriterIDs);
186
165
  globe.DrawRender();
187
- };
166
+ }
188
167
  /**
189
168
  *
190
169
  * @method updateCentersHide @param { Array < { centerID, hide, textHide } >} centerHides
191
170
  */
192
- RangeRings.prototype.updateCentersHide = function (centerHides, _a) {
193
- var _b;
194
- var _c = _a === void 0 ? {} : _a, _d = _c.textWriterIDs, textWriterIDs = _d === void 0 ? [] : _d;
171
+ updateCentersHide(centerHides, { textWriterIDs = [] } = {}) {
195
172
  // Algorithm
196
173
  /**
197
174
  * Simple
@@ -200,21 +177,17 @@ var RangeRings = /** @class */ (function () {
200
177
  * 3. update color buffer
201
178
  * */
202
179
  this._ringAccount.updateCentersHide(centerHides);
203
- var _e = this, globe = _e.globe, bufferOrchestrator = _e.bufferOrchestrator, bufferManagersCompMap = _e.bufferManagersCompMap, paddingBufferOrchestrator = _e.paddingBufferOrchestrator, bufferManagersCompMapPadding = _e.bufferManagersCompMapPadding;
204
- for (var _i = 0, centerHides_1 = centerHides; _i < centerHides_1.length; _i++) {
205
- var centerID = centerHides_1[_i].centerID;
206
- var datas = this.__reconstructCentralProperties(centerID);
180
+ const { globe, bufferOrchestrator, bufferManagersCompMap, paddingBufferOrchestrator, bufferManagersCompMapPadding } = this;
181
+ for (const { centerID } of centerHides) {
182
+ const datas = this.__reconstructCentralProperties(centerID);
207
183
  bufferOrchestrator.updateBulk(datas, bufferManagersCompMap, ["rgba", "rgbaMercator"]);
208
- var paddingDatas0 = this.__reconstructCentralRings(centerID);
184
+ const paddingDatas0 = this.__reconstructCentralRings(centerID);
209
185
  bufferOrchestrator.updateBulk(paddingDatas0, bufferManagersCompMap, ["radius3dsmall", "centerCoords2dflatForPadding"]);
210
- var paddingDatas = this.__reconstructCentralPaddingProperties(centerID);
186
+ const paddingDatas = this.__reconstructCentralPaddingProperties(centerID);
211
187
  paddingBufferOrchestrator.updateBulk(paddingDatas, bufferManagersCompMapPadding, ["rgba"]);
212
188
  }
213
- (_b = this.paddingTextPlugin) === null || _b === void 0 ? void 0 : _b.updateCentersHide(centerHides);
214
- this.__contextTextWriterUpdate(centerHides.map(function (_a) {
215
- var centerID = _a.centerID;
216
- return centerID;
217
- }), textWriterIDs);
189
+ this.paddingTextPlugin?.updateCentersHide(centerHides);
190
+ this.__contextTextWriterUpdate(centerHides.map(({ centerID }) => centerID), textWriterIDs);
218
191
  globe.DrawRender();
219
192
  /**
220
193
  * Complicated
@@ -222,195 +195,181 @@ var RangeRings = /** @class */ (function () {
222
195
  * 2. delete from buffer orchestators
223
196
  * 3. mark centers as hidden
224
197
  */
225
- };
198
+ }
226
199
  /**
227
200
  * @param {Array<string>} textWriterIDs textWritersMap keys to be used for writing text.
228
201
  * @param {Array<string>} itemKeys if empty, all texts will be updated. Use {@link ringKeyMethod} method to get keys
229
202
  */
230
- RangeRings.prototype.updateText = function (textWriterIDs, itemKeys) {
231
- var _this = this;
232
- if (textWriterIDs === void 0) { textWriterIDs = []; }
233
- if (itemKeys === void 0) { itemKeys = null; }
234
- var textWritersMap = textWriterGetOrThrow(this._textWritersMap, textWriterIDs);
203
+ updateText(textWriterIDs = [], itemKeys = null) {
204
+ const textWritersMap = textWriterGetOrThrow(this._textWritersMap, textWriterIDs);
235
205
  if (itemKeys === null) {
236
206
  this._ringAccount.updateAllText(textWritersMap, this._textDataPreAdaptor);
237
207
  this.globe.DrawRender();
238
208
  }
239
209
  else {
240
- itemKeys.forEach(function (key) {
241
- var item = _this._ringAccount.getCenter(key);
210
+ itemKeys.forEach((key) => {
211
+ const item = this._ringAccount.getCenter(key);
242
212
  if (item === undefined)
243
213
  throw new Error("Center not found");
244
- var textData = _this._textDataPreAdaptor(item);
245
- textWritersMap.forEach(function (textWriter) { return textWriter.insertText(textData); });
214
+ const textData = this._textDataPreAdaptor(item);
215
+ textWritersMap.forEach((textWriter) => textWriter.insertText(textData));
246
216
  });
247
217
  }
248
218
  this.globe.DrawRender();
249
- };
219
+ }
250
220
  /**
251
221
  * @method removeCenters @param { Array < { centerID } >} centerIDs
252
222
  */
253
- RangeRings.prototype.removeCenters = function (centerIDs) {
254
- var _a;
255
- var _b = this, globe = _b.globe, bufferOrchestrator = _b.bufferOrchestrator, bufferManagersCompMap = _b.bufferManagersCompMap, paddingBufferOrchestrator = _b.paddingBufferOrchestrator, bufferManagersCompMapPadding = _b.bufferManagersCompMapPadding, _ringAccount = _b._ringAccount;
256
- var _loop_1 = function (centerID) {
257
- var existingKeys = _ringAccount.ringKeys(centerID);
223
+ removeCenters(centerIDs) {
224
+ const { globe, bufferOrchestrator, bufferManagersCompMap, paddingBufferOrchestrator, bufferManagersCompMapPadding, _ringAccount } = this;
225
+ for (const centerID of centerIDs) {
226
+ const existingKeys = _ringAccount.ringKeys(centerID);
258
227
  if (existingKeys.length) {
259
228
  bufferOrchestrator.deleteBulk(existingKeys, bufferManagersCompMap);
260
- this_1._textWritersMap.forEach(function (textWriter) { return textWriter.deleteTextBulk(existingKeys); });
229
+ this._textWritersMap.forEach((textWriter) => textWriter.deleteTextBulk(existingKeys));
261
230
  }
262
- };
263
- var this_1 = this;
264
- for (var _i = 0, centerIDs_1 = centerIDs; _i < centerIDs_1.length; _i++) {
265
- var centerID = centerIDs_1[_i];
266
- _loop_1(centerID);
267
231
  }
268
- for (var _c = 0, centerIDs_2 = centerIDs; _c < centerIDs_2.length; _c++) {
269
- var centerID = centerIDs_2[_c];
270
- var paddingKeys = _ringAccount.ringBigPaddingKeys(centerID);
232
+ for (const centerID of centerIDs) {
233
+ const paddingKeys = _ringAccount.ringBigPaddingKeys(centerID);
271
234
  if (paddingKeys.length) {
272
235
  paddingBufferOrchestrator.deleteBulk(paddingKeys, bufferManagersCompMapPadding);
273
236
  }
274
237
  }
275
- (_a = this.paddingTextPlugin) === null || _a === void 0 ? void 0 : _a.removeCenters(centerIDs);
238
+ this.paddingTextPlugin?.removeCenters(centerIDs);
276
239
  this._ringAccount.removeCenters(centerIDs);
277
240
  globe.DrawRender();
278
- };
241
+ }
279
242
  /**
280
243
  * @method setOpacity @param { number } opacity
281
244
  */
282
- RangeRings.prototype.setOpacity = function (opacity) {
283
- var _a;
245
+ setOpacity(opacity) {
284
246
  (0, typecheck_1.opacityCheck)(opacity);
285
247
  this._opacity = opacity;
286
- (_a = this.paddingTextPlugin) === null || _a === void 0 ? void 0 : _a.setOpacity(opacity);
287
- this._textWritersMap.forEach(function (writer) { return writer.setOpacity(opacity); });
248
+ this.paddingTextPlugin?.setOpacity(opacity);
249
+ this._textWritersMap.forEach((writer) => writer.setOpacity(opacity));
288
250
  this.globe.DrawRender();
289
- };
251
+ }
290
252
  /**
291
253
  * @method setOneDegreePaddingOn // performance consuming, might be removed
292
254
  */
293
- RangeRings.prototype.setOneDegreePaddingOn = function (isOneDegreePaddingOn) {
255
+ setOneDegreePaddingOn(isOneDegreePaddingOn) {
294
256
  if (typeof isOneDegreePaddingOn !== "boolean")
295
257
  throw new Error("Invalid value for one degree padding");
296
258
  if (this._oneDegreePadding === isOneDegreePaddingOn)
297
259
  return;
298
260
  this._oneDegreePadding = isOneDegreePaddingOn;
299
261
  this.globe.DrawRender();
300
- };
301
- RangeRings.prototype.setZAlphaOnDegreePadding = function (zAlphaOnDegreePadding) {
262
+ }
263
+ setZAlphaOnDegreePadding(zAlphaOnDegreePadding) {
302
264
  if (zAlphaOnDegreePadding !== 0 && zAlphaOnDegreePadding !== 1)
303
265
  throw new Error("Invalid value for zAlphaOnDegreePadding");
304
266
  if (this._zAlphaOnDegreePadding === zAlphaOnDegreePadding)
305
267
  return;
306
268
  this._zAlphaOnDegreePadding = zAlphaOnDegreePadding;
307
269
  this.globe.DrawRender();
308
- };
270
+ }
309
271
  // PRIVATE METHODS
310
- RangeRings.prototype._initPrograms = function () {
311
- var globe = this.globe;
272
+ _initPrograms() {
273
+ const { globe } = this;
312
274
  this._circleProgram2D = circle_accurate_flat_1.CircleCache.get(globe);
313
275
  this._circleProgram3D = circle_accurate_3d_1.CircleCache.get(globe);
314
276
  this._padding2dProgram = lines_color_instanced_flat_1.LinesColorInstancedFlatCache.get(globe);
315
277
  this._padding3dProgram = degree_padding_around_circle_3d_1.CirclePadding3DCache.get(globe);
316
278
  this._lineOnGlobe_bigPadding = naive_accurate_flexible_1.LineOnGlobeCache.get(globe);
317
- };
318
- RangeRings.prototype._initBufferManagers = function () {
319
- var _a, _b, _c, _d;
320
- var _this = this;
321
- var gl = this.gl;
322
- var initialCapacity = 10;
323
- var bufferType = "DYNAMIC_DRAW";
279
+ }
280
+ _initBufferManagers() {
281
+ const { gl } = this;
282
+ const initialCapacity = 10;
283
+ const bufferType = "DYNAMIC_DRAW";
324
284
  // circle2d, circle3d, 1 degree paddings,
325
285
  this.bufferOrchestrator = new account_1.BufferOrchestrator({ capacity: initialCapacity });
326
286
  this.bufferManagersCompMap = new Map([
327
287
  // circle 3D
328
288
  ["centerCoords3d", {
329
- 'bufferManager': new account_1.BufferManager(gl, 3, { bufferType: bufferType, initialCapacity: initialCapacity }),
330
- 'adaptor': function (item) { return new Float32Array(item.centerCoords3d); },
289
+ 'bufferManager': new account_1.BufferManager(gl, 3, { bufferType, initialCapacity }),
290
+ 'adaptor': (item) => new Float32Array(item.centerCoords3d),
331
291
  }],
332
292
  ["targetCoords3d", {
333
- 'bufferManager': new account_1.BufferManager(gl, 3, { bufferType: bufferType, initialCapacity: initialCapacity }),
334
- 'adaptor': function (item) { return new Float32Array(item.targetCoords3d); },
293
+ 'bufferManager': new account_1.BufferManager(gl, 3, { bufferType, initialCapacity }),
294
+ 'adaptor': (item) => new Float32Array(item.targetCoords3d),
335
295
  }],
336
296
  ["rgba", {
337
- 'bufferManager': new account_1.BufferManager(gl, 4, { bufferType: bufferType, initialCapacity: initialCapacity }),
338
- 'adaptor': function (item) { return new Float32Array(item.hide === enum_1.ENUM_HIDE.HIDE ? [0, 0, 0, 0] : item.rgba); }
297
+ 'bufferManager': new account_1.BufferManager(gl, 4, { bufferType, initialCapacity }),
298
+ 'adaptor': (item) => new Float32Array(item.hide === enum_1.ENUM_HIDE.HIDE ? [0, 0, 0, 0] : item.rgba)
339
299
  }],
340
300
  ["radius3d", {
341
- 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType: bufferType, initialCapacity: initialCapacity }),
342
- 'adaptor': function (item) { return new Float32Array([item.radius]); }
301
+ 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType, initialCapacity }),
302
+ 'adaptor': (item) => new Float32Array([item.radius])
343
303
  }],
344
304
  ["radius3dsmall", {
345
- 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType: bufferType, initialCapacity: initialCapacity }),
346
- 'adaptor': function (item) {
305
+ 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType, initialCapacity }),
306
+ 'adaptor': (item) => {
347
307
  if (item.hide === enum_1.ENUM_HIDE.HIDE_1_DEGREE_PADDINGS)
348
308
  return new Float32Array([item.radius]);
349
309
  return new Float32Array([item.radius - item.padding / 3]);
350
310
  }
351
311
  }],
352
312
  ["circleDashAngle", {
353
- 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType: bufferType, initialCapacity: initialCapacity }),
354
- 'adaptor': function (item) { return new Float32Array([1]); },
313
+ 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType, initialCapacity }),
314
+ 'adaptor': (item) => new Float32Array([1]),
355
315
  }],
356
316
  ["dashOpacity", {
357
- 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType: bufferType, initialCapacity: initialCapacity }),
358
- 'adaptor': function (item) { return new Float32Array([1]); },
317
+ 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType, initialCapacity }),
318
+ 'adaptor': (item) => new Float32Array([1]),
359
319
  }],
360
320
  // circle 2D
361
321
  ["centerCoords2dflatForPadding", {
362
- 'bufferManager': new account_1.BufferManager(gl, CIRCLE_FLAT_EDGE_COUNT * 2, { bufferType: bufferType, initialCapacity: initialCapacity }),
363
- 'adaptor': function (item) { return item.centerCoords2dflatForPadding; },
322
+ 'bufferManager': new account_1.BufferManager(gl, CIRCLE_FLAT_EDGE_COUNT * 2, { bufferType, initialCapacity }),
323
+ 'adaptor': (item) => item.centerCoords2dflatForPadding,
364
324
  }],
365
325
  ["centerCoords2dflat", {
366
- 'bufferManager': new account_1.BufferManager(gl, CIRCLE_FLAT_EDGE_COUNT * 2, { bufferType: bufferType, initialCapacity: initialCapacity }),
367
- 'adaptor': function (item) { return item.centerCoords2dflat; },
326
+ 'bufferManager': new account_1.BufferManager(gl, CIRCLE_FLAT_EDGE_COUNT * 2, { bufferType, initialCapacity }),
327
+ 'adaptor': (item) => item.centerCoords2dflat,
368
328
  }],
369
329
  ["rgbaMercator", {
370
- 'bufferManager': new account_1.BufferManager(gl, 4 * CIRCLE_FLAT_EDGE_COUNT, { bufferType: bufferType, initialCapacity: initialCapacity }),
371
- 'adaptor': function (item) { return data_filler_1.populateFloat32Array.fillWithListData(CIRCLE_FLAT_EDGE_COUNT, item.hide === enum_1.ENUM_HIDE.HIDE ? [0, 0, 0, 0] : item.rgba); },
330
+ 'bufferManager': new account_1.BufferManager(gl, 4 * CIRCLE_FLAT_EDGE_COUNT, { bufferType, initialCapacity }),
331
+ 'adaptor': (item) => data_filler_1.populateFloat32Array.fillWithListData(CIRCLE_FLAT_EDGE_COUNT, item.hide === enum_1.ENUM_HIDE.HIDE ? [0, 0, 0, 0] : item.rgba),
372
332
  }],
373
333
  ["circleDashAngleMercator", {
374
- 'bufferManager': new account_1.BufferManager(gl, CIRCLE_FLAT_EDGE_COUNT, { bufferType: bufferType, initialCapacity: initialCapacity }),
375
- 'adaptor': function (item) { return data_filler_1.populateFloat32Array.fillFloat32Array(CIRCLE_FLAT_EDGE_COUNT, 1); },
334
+ 'bufferManager': new account_1.BufferManager(gl, CIRCLE_FLAT_EDGE_COUNT, { bufferType, initialCapacity }),
335
+ 'adaptor': (item) => data_filler_1.populateFloat32Array.fillFloat32Array(CIRCLE_FLAT_EDGE_COUNT, 1),
376
336
  }],
377
337
  ["dashOpacityMercator", {
378
- 'bufferManager': new account_1.BufferManager(gl, CIRCLE_FLAT_EDGE_COUNT, { bufferType: bufferType, initialCapacity: initialCapacity }),
379
- 'adaptor': function (item) { return data_filler_1.populateFloat32Array.fillFloat32Array(CIRCLE_FLAT_EDGE_COUNT, 1); },
338
+ 'bufferManager': new account_1.BufferManager(gl, CIRCLE_FLAT_EDGE_COUNT, { bufferType, initialCapacity }),
339
+ 'adaptor': (item) => data_filler_1.populateFloat32Array.fillFloat32Array(CIRCLE_FLAT_EDGE_COUNT, 1),
380
340
  }],
381
341
  ]);
382
- var obj = function (bufferManagerComp, divisor) {
383
- if (divisor === void 0) { divisor = 1; }
342
+ const obj = function (bufferManagerComp, divisor = 1) {
384
343
  if (bufferManagerComp === null)
385
344
  return null;
386
- return { 'buffer': bufferManagerComp.bufferManager.buffer, 'stride': 0, 'offset': 0, divisor: divisor };
345
+ return { 'buffer': bufferManagerComp.bufferManager.buffer, 'stride': 0, 'offset': 0, divisor };
387
346
  };
388
- this._circle2DVao = (_a = this._circleProgram2D).createVAO.apply(_a, ["centerCoords2dflat", "rgbaMercator", "circleDashAngleMercator", "dashOpacityMercator"].map(function (key) { return obj(_this.bufferManagersCompMap.get(key)); }));
389
- this._circle3DVao = (_b = this._circleProgram3D).createVAO.apply(_b, ["centerCoords3d", "targetCoords3d", "rgba", "circleDashAngle", "dashOpacity"].map(function (key) { return obj(_this.bufferManagersCompMap.get(key)); }));
347
+ this._circle2DVao = this._circleProgram2D.createVAO(...["centerCoords2dflat", "rgbaMercator", "circleDashAngleMercator", "dashOpacityMercator"].map(key => obj(this.bufferManagersCompMap.get(key))));
348
+ this._circle3DVao = this._circleProgram3D.createVAO(...["centerCoords3d", "targetCoords3d", "rgba", "circleDashAngle", "dashOpacity"].map(key => obj(this.bufferManagersCompMap.get(key))));
390
349
  this._oneDegree2DPaddingVao = this._padding2dProgram.createVAO({ buffer: this.bufferManagersCompMap.get("centerCoords2dflat").bufferManager.buffer, size: 2, stride: 0, offset: 0 }, { buffer: this.bufferManagersCompMap.get("centerCoords2dflatForPadding").bufferManager.buffer, size: 2, stride: 0, offset: 0 }, { buffer: this.bufferManagersCompMap.get("rgbaMercator").bufferManager.buffer, size: 4, stride: 0, offset: 0 });
391
350
  // PADDING
392
351
  // this one needs glue to assosiate rings and their big paddings since the count for center is not fixed
393
352
  this.paddingBufferOrchestrator = new account_1.BufferOrchestrator({ capacity: initialCapacity });
394
353
  this.bufferManagersCompMapPadding = new Map([
395
354
  ["circlePoint2d", {
396
- 'bufferManager': new account_1.BufferManager(gl, 2, { bufferType: bufferType, initialCapacity: initialCapacity }),
397
- 'adaptor': function (item) { return item.circlePoint2d; },
355
+ 'bufferManager': new account_1.BufferManager(gl, 2, { bufferType, initialCapacity }),
356
+ 'adaptor': (item) => item.circlePoint2d,
398
357
  }],
399
358
  ["paddingPoint2d", {
400
- 'bufferManager': new account_1.BufferManager(gl, 2, { bufferType: bufferType, initialCapacity: initialCapacity }),
401
- 'adaptor': function (item) { return item.paddingPoint2d; },
359
+ 'bufferManager': new account_1.BufferManager(gl, 2, { bufferType, initialCapacity }),
360
+ 'adaptor': (item) => item.paddingPoint2d,
402
361
  }],
403
362
  ["circlePoint3d", {
404
- 'bufferManager': new account_1.BufferManager(gl, 3, { bufferType: bufferType, initialCapacity: initialCapacity }),
405
- 'adaptor': function (item) { return item.circlePoint3d; }
363
+ 'bufferManager': new account_1.BufferManager(gl, 3, { bufferType, initialCapacity }),
364
+ 'adaptor': (item) => item.circlePoint3d
406
365
  }],
407
366
  ["paddingPoint3d", {
408
- 'bufferManager': new account_1.BufferManager(gl, 3, { bufferType: bufferType, initialCapacity: initialCapacity }),
409
- 'adaptor': function (item) { return item.paddingPoint3d; }
367
+ 'bufferManager': new account_1.BufferManager(gl, 3, { bufferType, initialCapacity }),
368
+ 'adaptor': (item) => item.paddingPoint3d
410
369
  }],
411
370
  ["rgba", {
412
- 'bufferManager': new account_1.BufferManager(gl, 4, { bufferType: bufferType, initialCapacity: initialCapacity }),
413
- 'adaptor': function (item) { return new Float32Array(item.rgba); }
371
+ 'bufferManager': new account_1.BufferManager(gl, 4, { bufferType, initialCapacity }),
372
+ 'adaptor': (item) => new Float32Array(item.rgba)
414
373
  }],
415
374
  // ["dashOpacity", {
416
375
  // 'bufferManager': new BufferManager(gl, 1, { bufferType, initialCapacity }),
@@ -421,26 +380,24 @@ var RangeRings = /** @class */ (function () {
421
380
  // 'adaptor': (item) => new Float32Array([1]),
422
381
  // }],
423
382
  ]);
424
- this._bigPadding3dFlatVAO = (_c = this._lineOnGlobe_bigPadding).createVAO.apply(_c, ["circlePoint2d", "circlePoint3d", "paddingPoint2d", "paddingPoint3d", null, null, "rgba",].map(function (key) {
425
- return (key === null) ? null : obj(_this.bufferManagersCompMapPadding.get(key));
426
- }));
427
- this._padding3dOneDegreeVao = (_d = this._padding3dProgram).createVAO.apply(_d, ["centerCoords3d", "radius3d", "radius3dsmall", "rgba"].map(function (key) { return obj(_this.bufferManagersCompMap.get(key)); }));
428
- };
383
+ this._bigPadding3dFlatVAO = this._lineOnGlobe_bigPadding.createVAO(//"dashRatio", "dashOpacity"
384
+ ...["circlePoint2d", "circlePoint3d", "paddingPoint2d", "paddingPoint3d", null, null, "rgba",].map(key => (key === null) ? null : obj(this.bufferManagersCompMapPadding.get(key))));
385
+ this._padding3dOneDegreeVao = this._padding3dProgram.createVAO(...["centerCoords3d", "radius3d", "radius3dsmall", "rgba"].map(key => obj(this.bufferManagersCompMap.get(key))));
386
+ }
429
387
  // IMPLICIT METHODS
430
- RangeRings.prototype.__reconstructCentralRingsBigPaddings = function (centerID) {
431
- var globe = this.globe;
432
- var centerItem = this._ringAccount.getCenter(centerID);
388
+ __reconstructCentralRingsBigPaddings(centerID) {
389
+ const { globe } = this;
390
+ const centerItem = this._ringAccount.getCenter(centerID);
433
391
  if (centerItem === undefined)
434
392
  throw new Error("Center not found");
435
- var long = centerItem.long, lat = centerItem.lat, stepAngle = centerItem.stepAngle, rgba = centerItem.rgba, rings = centerItem.rings, _a = centerItem.hide, hide = _a === void 0 ? 0 : _a, _b = centerItem.textHide, textHide = _b === void 0 ? 0 : _b, _c = centerItem.altitude, centerAltitude = _c === void 0 ? 0 : _c;
436
- var result = [];
437
- var color = hide === 1 ? new Float32Array([0, 0, 0, 0]) : new Float32Array(rgba);
438
- for (var _i = 0, rings_1 = rings; _i < rings_1.length; _i++) {
439
- var _d = rings_1[_i], ringID = _d.ringID, radius = _d.radius, padding = _d.padding, _e = _d.altitude, altitude = _e === void 0 ? centerAltitude : _e;
440
- var azimuthAngle = 0;
393
+ const { long, lat, stepAngle, rgba, rings, hide = 0, textHide = 0, altitude: centerAltitude = 0 } = centerItem;
394
+ const result = [];
395
+ const color = hide === 1 ? new Float32Array([0, 0, 0, 0]) : new Float32Array(rgba);
396
+ for (const { ringID, radius, padding, altitude = centerAltitude } of rings) {
397
+ let azimuthAngle = 0;
441
398
  while (azimuthAngle < 360) {
442
- var circlePoint = globe.Math.FindPointByPolar(long, lat, radius, azimuthAngle); // long lat
443
- var paddingPoint = globe.Math.FindPointByPolar(long, lat, radius - padding, azimuthAngle); // long lat
399
+ const circlePoint = globe.Math.FindPointByPolar(long, lat, radius, azimuthAngle); // long lat
400
+ const paddingPoint = globe.Math.FindPointByPolar(long, lat, radius - padding, azimuthAngle); // long lat
444
401
  result.push({
445
402
  key: (0, ring_account_1.ringBigPaddingKeyMethod)(centerID, ringID, azimuthAngle),
446
403
  circlePoint2d: new Float32Array(globe.api_GetMercator2DPoint(circlePoint.long, circlePoint.lat)),
@@ -448,84 +405,81 @@ var RangeRings = /** @class */ (function () {
448
405
  circlePoint3d: coordOnSphere(circlePoint.long, circlePoint.lat, globe, altitude / 1000),
449
406
  paddingPoint3d: coordOnSphere(paddingPoint.long, paddingPoint.lat, globe, altitude / 1000),
450
407
  rgba: color,
451
- hide: hide,
452
- textHide: textHide
408
+ hide,
409
+ textHide
453
410
  });
454
411
  azimuthAngle += stepAngle;
455
412
  }
456
413
  }
457
414
  return result;
458
- };
459
- RangeRings.prototype.__reconstructCentralRings = function (centerID) {
460
- var globe = this.globe;
461
- var centerItem = this._ringAccount.getCenter(centerID);
415
+ }
416
+ __reconstructCentralRings(centerID) {
417
+ const { globe } = this;
418
+ const centerItem = this._ringAccount.getCenter(centerID);
462
419
  if (centerItem === undefined)
463
420
  throw new Error("Center not found");
464
- var long = centerItem.long, lat = centerItem.lat, rgba = centerItem.rgba, rings = centerItem.rings, _a = centerItem.hide, hide = _a === void 0 ? 0 : _a, _b = centerItem.textHide, textHide = _b === void 0 ? 0 : _b, _c = centerItem.altitude, centralAltitude = _c === void 0 ? 0 : _c;
465
- var centerCoords3d = coordOnSphere(long, lat, globe, centralAltitude / 1000);
466
- var result = [];
467
- for (var _i = 0, rings_2 = rings; _i < rings_2.length; _i++) {
468
- var _d = rings_2[_i], ringID = _d.ringID, radius = _d.radius, padding = _d.padding, __identity__ = _d.__identity__, _e = _d.altitude, altitude = _e === void 0 ? centralAltitude : _e;
469
- var key = __identity__;
470
- var centerCoords2dflat = (0, circle_accurate_flat_1.centerCoords2dflatDataCreatorWithRadius)(globe, long, lat, radius, { edgeCount: CIRCLE_FLAT_EDGE_COUNT });
471
- var radiusPadding = hide === enum_1.ENUM_HIDE.HIDE_1_DEGREE_PADDINGS ? radius : radius - padding / 3;
472
- var targetPoint = globe.Math.FindPointByPolar(long, lat, radius, 0); // long lat
473
- var targetCoords3d = coordOnSphere(targetPoint.long, targetPoint.lat, globe, altitude / 1000);
474
- var centerCoords2dflatForPadding = (0, circle_accurate_flat_1.centerCoords2dflatDataCreatorWithRadius)(globe, long, lat, radiusPadding, { edgeCount: CIRCLE_FLAT_EDGE_COUNT });
421
+ const { long, lat, rgba, rings, hide = 0, textHide = 0, altitude: centralAltitude = 0 } = centerItem;
422
+ const centerCoords3d = coordOnSphere(long, lat, globe, centralAltitude / 1000);
423
+ const result = [];
424
+ for (const { ringID, radius, padding, __identity__, altitude = centralAltitude } of rings) {
425
+ const key = __identity__;
426
+ const centerCoords2dflat = (0, circle_accurate_flat_1.centerCoords2dflatDataCreatorWithRadius)(globe, long, lat, radius, { edgeCount: CIRCLE_FLAT_EDGE_COUNT });
427
+ const radiusPadding = hide === enum_1.ENUM_HIDE.HIDE_1_DEGREE_PADDINGS ? radius : radius - padding / 3;
428
+ const targetPoint = globe.Math.FindPointByPolar(long, lat, radius, 0); // long lat
429
+ const targetCoords3d = coordOnSphere(targetPoint.long, targetPoint.lat, globe, altitude / 1000);
430
+ const centerCoords2dflatForPadding = (0, circle_accurate_flat_1.centerCoords2dflatDataCreatorWithRadius)(globe, long, lat, radiusPadding, { edgeCount: CIRCLE_FLAT_EDGE_COUNT });
475
431
  result.push({
476
- key: key,
477
- centerCoords3d: centerCoords3d,
478
- targetCoords3d: targetCoords3d,
479
- centerCoords2dflat: centerCoords2dflat,
480
- radius: radius,
481
- padding: padding,
482
- rgba: rgba,
483
- centerCoords2dflatForPadding: centerCoords2dflatForPadding,
484
- hide: hide,
485
- textHide: textHide
432
+ key,
433
+ centerCoords3d,
434
+ targetCoords3d,
435
+ centerCoords2dflat,
436
+ radius,
437
+ padding,
438
+ rgba,
439
+ centerCoords2dflatForPadding,
440
+ hide,
441
+ textHide
486
442
  });
487
443
  }
488
444
  return result;
489
- };
490
- RangeRings.prototype.__reconstructCentralPaddingProperties = function (centerID) {
491
- var centerItem = this._ringAccount.getCenter(centerID);
445
+ }
446
+ __reconstructCentralPaddingProperties(centerID) {
447
+ const centerItem = this._ringAccount.getCenter(centerID);
492
448
  if (centerItem === undefined)
493
449
  throw new Error("Center not found");
494
- var stepAngle = centerItem.stepAngle, rgba = centerItem.rgba, rings = centerItem.rings, _a = centerItem.hide, hide = _a === void 0 ? 0 : _a, _b = centerItem.textHide, textHide = _b === void 0 ? 0 : _b;
495
- var result = [];
496
- for (var _i = 0, rings_3 = rings; _i < rings_3.length; _i++) {
497
- var ringID = rings_3[_i].ringID;
498
- var angle = 0;
450
+ const { stepAngle, rgba, rings, hide = 0, textHide = 0 } = centerItem;
451
+ const result = [];
452
+ for (const { ringID, } of rings) {
453
+ let angle = 0;
499
454
  while (angle < 360) {
500
455
  result.push({
501
456
  key: (0, ring_account_1.ringBigPaddingKeyMethod)(centerID, ringID, angle),
502
457
  rgba: hide === 1 ? new Float32Array([0, 0, 0, 0]) : rgba,
503
- textHide: textHide
458
+ textHide
504
459
  });
505
460
  angle += stepAngle;
506
461
  }
507
462
  }
508
463
  return result;
509
- };
510
- RangeRings.prototype.__reconstructCentralProperties = function (centerID) {
511
- var centerItem = this._ringAccount.getCenter(centerID);
464
+ }
465
+ __reconstructCentralProperties(centerID) {
466
+ const centerItem = this._ringAccount.getCenter(centerID);
512
467
  if (centerItem === undefined)
513
468
  throw new Error("Center not found");
514
- var rgba = centerItem.rgba, rings = centerItem.rings, _a = centerItem.hide, hide = _a === void 0 ? 0 : _a, _b = centerItem.textHide, textHide = _b === void 0 ? 0 : _b;
515
- var result = [];
516
- for (var _i = 0, rings_4 = rings; _i < rings_4.length; _i++) {
517
- var _c = rings_4[_i], ringID = _c.ringID, __identity__ = _c.__identity__;
518
- var key = __identity__;
469
+ const { rgba, rings, hide = 0, textHide = 0 } = centerItem;
470
+ const result = [];
471
+ for (const { ringID, __identity__ } of rings) {
472
+ const key = __identity__;
519
473
  result.push({
520
- key: key,
474
+ key,
521
475
  rgba: hide === enum_1.ENUM_HIDE.HIDE ? new Float32Array([0, 0, 0, 0]) : rgba,
522
- textHide: textHide
476
+ textHide
523
477
  });
524
478
  }
525
479
  return result;
526
- };
480
+ }
527
481
  // GLOBE API
528
- RangeRings.prototype.init = function (globe, gl) {
482
+ init(globe, gl) {
529
483
  this.globe = globe;
530
484
  this.gl = gl;
531
485
  this._initPrograms();
@@ -534,11 +488,11 @@ var RangeRings = /** @class */ (function () {
534
488
  this.paddingTextPlugin = new rangeringangletext_1.default(globe, this.id + "text", { style: this._numbersStyle, opacity: this._opacity });
535
489
  delete this._numbersStyle;
536
490
  }
537
- };
538
- RangeRings.prototype.draw3D = function () {
539
- var _a = this, globe = _a.globe, gl = _a.gl, _circleProgram2D = _a._circleProgram2D, _circleProgram3D = _a._circleProgram3D, _padding2dProgram = _a._padding2dProgram, _padding3dProgram = _a._padding3dProgram, _lineOnGlobe_bigPadding = _a._lineOnGlobe_bigPadding, _circle2DVao = _a._circle2DVao, _circle3DVao = _a._circle3DVao, _oneDegree2DPaddingVao = _a._oneDegree2DPaddingVao, _padding3dOneDegreeVao = _a._padding3dOneDegreeVao, _bigPadding3dFlatVAO = _a._bigPadding3dFlatVAO, bufferOrchestrator = _a.bufferOrchestrator, paddingBufferOrchestrator = _a.paddingBufferOrchestrator, _opacity = _a._opacity, _oneDegreePadding = _a._oneDegreePadding, _zAlphaOnDegreePadding = _a._zAlphaOnDegreePadding;
491
+ }
492
+ draw3D() {
493
+ const { globe, gl, _circleProgram2D, _circleProgram3D, _padding2dProgram, _padding3dProgram, _lineOnGlobe_bigPadding, _circle2DVao, _circle3DVao, _oneDegree2DPaddingVao, _padding3dOneDegreeVao, _bigPadding3dFlatVAO, bufferOrchestrator, paddingBufferOrchestrator, _opacity, _oneDegreePadding, _zAlphaOnDegreePadding } = this;
540
494
  gl.disable(gl.DEPTH_TEST);
541
- var is3D = globe.api_GetCurrentGeometry() === 0;
495
+ const is3D = globe.api_GetCurrentGeometry() === 0;
542
496
  // const lod = globe.api_GetCurrentLOD();
543
497
  if (is3D) {
544
498
  _circleProgram3D.draw(_circle3DVao, bufferOrchestrator.length, _opacity);
@@ -551,24 +505,17 @@ var RangeRings = /** @class */ (function () {
551
505
  if (_oneDegreePadding)
552
506
  _padding2dProgram.draw(_oneDegree2DPaddingVao, bufferOrchestrator.length * CIRCLE_FLAT_EDGE_COUNT, _opacity, _zAlphaOnDegreePadding);
553
507
  }
554
- var drawOptions = { drawRange: { first: 0, count: paddingBufferOrchestrator.length } };
508
+ const drawOptions = { drawRange: { first: 0, count: paddingBufferOrchestrator.length } };
555
509
  _lineOnGlobe_bigPadding.draw(_bigPadding3dFlatVAO, drawOptions, _opacity);
556
- this._textWritersMap.forEach(function (textWriter) { return textWriter.draw(); });
510
+ this._textWritersMap.forEach((textWriter) => textWriter.draw());
557
511
  gl.enable(gl.DEPTH_TEST);
558
- };
559
- RangeRings.prototype.free = function () {
560
- var _a;
512
+ }
513
+ free() {
561
514
  if (this._isFreed)
562
515
  return;
563
- var globe = this.globe;
564
- this.bufferManagersCompMap.forEach(function (_a) {
565
- var bufferManager = _a.bufferManager;
566
- return bufferManager.free();
567
- });
568
- this.bufferManagersCompMapPadding.forEach(function (_a) {
569
- var bufferManager = _a.bufferManager;
570
- return bufferManager.free();
571
- });
516
+ const { globe } = this;
517
+ this.bufferManagersCompMap.forEach(({ bufferManager }) => bufferManager.free());
518
+ this.bufferManagersCompMapPadding.forEach(({ bufferManager }) => bufferManager.free());
572
519
  // delete vaos
573
520
  this.gl.deleteVertexArray(this._circle2DVao);
574
521
  this.gl.deleteVertexArray(this._circle3DVao);
@@ -586,13 +533,11 @@ var RangeRings = /** @class */ (function () {
586
533
  this._padding2dProgram = null;
587
534
  this._padding3dProgram = null;
588
535
  this._lineOnGlobe_bigPadding = null;
589
- (_a = this.paddingTextPlugin) === null || _a === void 0 ? void 0 : _a.free();
536
+ this.paddingTextPlugin?.free();
590
537
  this._isFreed = true;
591
- };
592
- RangeRings.prototype.__contextTextWriterUpdate = function (centerIDs, textWriterIDs) {
593
- var _this = this;
594
- if (textWriterIDs === void 0) { textWriterIDs = null; }
595
- var textWriters = null;
538
+ }
539
+ __contextTextWriterUpdate(centerIDs, textWriterIDs = null) {
540
+ let textWriters = null;
596
541
  if (textWriterIDs === null) {
597
542
  textWriters = Array.from(this._textWritersMap.values());
598
543
  }
@@ -602,9 +547,8 @@ var RangeRings = /** @class */ (function () {
602
547
  else {
603
548
  textWriters = textWriterGetOrThrow(this._textWritersMap, textWriterIDs);
604
549
  }
605
- centerIDs.forEach(function (centerID) { _this._ringAccount.textUpdate(centerID, textWriters, _this._textDataPreAdaptor); });
606
- };
607
- return RangeRings;
608
- }());
550
+ centerIDs.forEach((centerID) => { this._ringAccount.textUpdate(centerID, textWriters, this._textDataPreAdaptor); });
551
+ }
552
+ }
609
553
  exports.RangeRings = RangeRings;
610
- var textWriterGetOrThrow = (0, get_1.mapGetOrThrow)("textWriterIDs is invalid");
554
+ const textWriterGetOrThrow = (0, get_1.mapGetOrThrow)("textWriterIDs is invalid");