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