@pirireis/webglobeplugins 0.9.11 → 0.9.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/Math/angle-calculation.js +8 -8
  2. package/Math/arc.js +18 -18
  3. package/Math/bounds/line-bbox.js +78 -80
  4. package/Math/constants.js +3 -3
  5. package/Math/juction/arc-plane.js +23 -23
  6. package/Math/juction/line-sphere.js +11 -11
  7. package/Math/juction/plane-plane.js +11 -11
  8. package/Math/line.js +14 -16
  9. package/Math/methods.js +65 -70
  10. package/Math/plane.js +16 -18
  11. package/Math/quaternion.js +45 -49
  12. package/Math/utils.js +2 -2
  13. package/Math/vec3.js +42 -45
  14. package/algorithms/search-binary.js +4 -4
  15. package/altitude-locator/draw-subset-obj.js +7 -8
  16. package/altitude-locator/plugin.js +98 -114
  17. package/arrowfield/adaptor.js +3 -4
  18. package/arrowfield/index.js +2 -2
  19. package/arrowfield/plugin.js +62 -65
  20. package/bearing-line/index.js +1 -1
  21. package/bearing-line/plugin.js +200 -226
  22. package/circle-line-chain/chain-list-map.js +82 -88
  23. package/circle-line-chain/plugin.js +134 -165
  24. package/circle-line-chain/util.js +1 -1
  25. package/compass-rose/compass-rose-padding-flat.js +108 -133
  26. package/compass-rose/compass-text-writer.js +62 -70
  27. package/compass-rose/index.js +2 -2
  28. package/compassrose/compassrose.js +46 -50
  29. package/compassrose/index.js +1 -1
  30. package/heatwave/index.js +2 -2
  31. package/heatwave/isobar/objectarraylabels.js +44 -48
  32. package/heatwave/isobar/plugin.js +104 -123
  33. package/heatwave/isobar/quadtreecontours.js +76 -92
  34. package/heatwave/plugins/heatwaveglobeshell.js +69 -87
  35. package/index.js +11 -11
  36. package/package.json +1 -1
  37. package/partialrings/buffer-manager.js +32 -64
  38. package/partialrings/index.js +1 -1
  39. package/partialrings/plugin.js +48 -84
  40. package/partialrings/program.js +136 -47
  41. package/pin/pin-object-array.js +83 -86
  42. package/pin/pin-point-totem.js +21 -22
  43. package/point-heat-map/adaptors/timetracksplugin-format-to-this.js +10 -10
  44. package/point-heat-map/plugin-webworker.js +40 -45
  45. package/point-heat-map/point-to-heat-map-flow.js +40 -42
  46. package/point-tracks/key-methods.js +1 -1
  47. package/point-tracks/plugin.js +137 -162
  48. package/programs/arrowfield/index.js +1 -1
  49. package/programs/arrowfield/logic.js +170 -62
  50. package/programs/arrowfield/object.js +33 -35
  51. package/programs/data2legend/density-to-legend.js +45 -21
  52. package/programs/data2legend/point-to-density-texture.js +52 -27
  53. package/programs/float2legendwithratio/index.js +1 -1
  54. package/programs/float2legendwithratio/logic.js +88 -42
  55. package/programs/float2legendwithratio/object.js +43 -46
  56. package/programs/globe-util/is-globe-moved.js +10 -11
  57. package/programs/globeshell/index.js +1 -1
  58. package/programs/globeshell/wiggle/index.js +1 -1
  59. package/programs/globeshell/wiggle/logic.js +191 -98
  60. package/programs/globeshell/wiggle/object.js +33 -35
  61. package/programs/helpers/blender/program.js +36 -19
  62. package/programs/helpers/fadeaway/index.js +1 -1
  63. package/programs/helpers/fadeaway/logic.js +35 -13
  64. package/programs/helpers/fadeaway/object.js +9 -10
  65. package/programs/helpers/index.js +1 -1
  66. package/programs/index.js +8 -8
  67. package/programs/line-on-globe/angled-line.js +91 -32
  68. package/programs/line-on-globe/circle-accurate-3d.js +82 -32
  69. package/programs/line-on-globe/circle-accurate-flat.js +108 -50
  70. package/programs/line-on-globe/circle-accurate.js +103 -33
  71. package/programs/line-on-globe/circle.js +97 -32
  72. package/programs/line-on-globe/degree-padding-around-circle-3d.js +83 -33
  73. package/programs/line-on-globe/lines-color-instanced-flat.js +79 -34
  74. package/programs/line-on-globe/linestrip.js +111 -45
  75. package/programs/line-on-globe/naive-accurate-flexible.js +120 -50
  76. package/programs/line-on-globe/to-the-surface.js +58 -29
  77. package/programs/line-on-globe/util.js +1 -1
  78. package/programs/picking/pickable-renderer.js +117 -33
  79. package/programs/point-on-globe/element-globe-surface-glow.js +78 -38
  80. package/programs/point-on-globe/element-point-glow.js +103 -35
  81. package/programs/point-on-globe/square-pixel-point.js +76 -27
  82. package/programs/programcache.js +13 -13
  83. package/programs/rings/distancering/circleflatprogram.js +63 -21
  84. package/programs/rings/distancering/circlepaddingfreeangleprogram.js +156 -145
  85. package/programs/rings/distancering/circlepaddysharedbuffer.js +121 -197
  86. package/programs/rings/distancering/index.js +4 -4
  87. package/programs/rings/distancering/paddyflatprogram.js +73 -20
  88. package/programs/rings/distancering/paddyflatprogram2d.js +75 -22
  89. package/programs/rings/distancering/paddyflatprogram3d.js +73 -20
  90. package/programs/rings/partial-ring/piece-of-pie.js +137 -35
  91. package/programs/totems/camerauniformblock.js +64 -51
  92. package/programs/totems/canvas-webglobe-info.js +48 -40
  93. package/programs/totems/gpu-selection-uniform-block.js +44 -40
  94. package/programs/totems/index.js +1 -1
  95. package/programs/two-d/pixel-padding-for-compass.js +90 -29
  96. package/programs/util.js +6 -7
  97. package/programs/vectorfields/index.js +1 -1
  98. package/programs/vectorfields/logics/drawrectangleparticles.js +70 -29
  99. package/programs/vectorfields/logics/index.js +3 -3
  100. package/programs/vectorfields/logics/pixelbased.js +91 -35
  101. package/programs/vectorfields/logics/ubo.js +31 -25
  102. package/programs/vectorfields/pingpongbuffermanager.js +30 -34
  103. package/rangerings/index.js +4 -4
  104. package/rangerings/plugin.js +202 -258
  105. package/rangerings/rangeringangletext.js +108 -120
  106. package/rangerings/ring-account.js +52 -69
  107. package/shaders/fragment-toy/firework.js +55 -1
  108. package/shaders/fragment-toy/singularity.js +55 -1
  109. package/timetracks/adaptors-line-strip.js +26 -37
  110. package/timetracks/adaptors.js +47 -61
  111. package/timetracks/index.js +4 -4
  112. package/timetracks/plugin-line-strip.js +63 -71
  113. package/timetracks/plugin.js +69 -77
  114. package/timetracks/program-line-strip.js +296 -103
  115. package/timetracks/program.js +419 -113
  116. package/timetracks/programpoint-line-strip.js +97 -44
  117. package/timetracks/programpoint.js +90 -44
  118. package/util/account/bufferoffsetmanager.js +72 -95
  119. package/util/account/index.js +1 -1
  120. package/util/account/single-attribute-buffer-management/buffer-manager.js +44 -44
  121. package/util/account/single-attribute-buffer-management/buffer-orchestrator.js +68 -94
  122. package/util/account/single-attribute-buffer-management/index.js +3 -3
  123. package/util/account/single-attribute-buffer-management/object-store.js +29 -30
  124. package/util/account/util.js +2 -4
  125. package/util/algorithms/search-binary.js +4 -4
  126. package/util/check/get.js +5 -5
  127. package/util/check/typecheck.js +13 -15
  128. package/util/geometry/index.js +9 -11
  129. package/util/gl-util/buffer/attribute-loader.js +8 -20
  130. package/util/gl-util/buffer/index.js +1 -1
  131. package/util/gl-util/draw-options/methods.js +8 -9
  132. package/util/gl-util/uniform-block/manager.js +67 -67
  133. package/util/heatwavedatamanager/datamanager.js +56 -116
  134. package/util/heatwavedatamanager/index.js +2 -2
  135. package/util/heatwavedatamanager/pointcoordinatesdatacalculator.js +37 -40
  136. package/util/heatwavedatamanager/pointcoordsmeta.js +9 -10
  137. package/util/index.js +6 -6
  138. package/util/interpolation/timetrack/index.js +1 -1
  139. package/util/interpolation/timetrack/timetrack-interpolator.js +27 -29
  140. package/util/interpolation/timetrack/web-worker-str.js +179 -1
  141. package/util/interpolation/timetrack/web-worker.js +4 -4
  142. package/util/jshelpers/data-filler.js +7 -7
  143. package/util/jshelpers/timefilters.js +7 -7
  144. package/util/picking/fence.js +7 -7
  145. package/util/picking/picker-displayer.js +46 -52
  146. package/util/programs/draw-texture-on-canvas.js +39 -21
  147. package/util/programs/shapesonglobe.js +104 -64
  148. package/util/programs/supersampletotextures.js +45 -39
  149. package/util/programs/texturetoglobe.js +98 -48
  150. package/util/shaderfunctions/geometrytransformations.js +322 -27
  151. package/util/shaderfunctions/nodata.js +7 -1
  152. package/util/shaderfunctions/noisefunctions.js +39 -9
  153. package/util/surface-line-data/arcs-to-cuts.js +20 -23
  154. package/util/webglobe/rasteroverlay.js +35 -37
  155. package/util/webglobjectbuilders.js +55 -60
  156. package/util/webglobjectbuilders1.js +48 -49
  157. package/waveparticles/adaptor.js +6 -7
  158. package/waveparticles/index.js +2 -2
  159. package/waveparticles/plugin.js +79 -84
  160. package/wind/imagetovectorfieldandmagnitude.js +15 -15
  161. package/wind/index.js +4 -4
  162. package/wind/plugin.js +453 -251
  163. package/wind/vectorfieldimage.js +5 -5
  164. package/write-text/attached-text-writer.js +46 -48
  165. package/write-text/context-text.js +51 -58
  166. package/write-text/context-text3.js +69 -74
@@ -1,28 +1,17 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
2
  Object.defineProperty(exports, "__esModule", { value: true });
14
3
  exports.RINGPARTIAL_DRAW_MODE = void 0;
15
- var piece_of_pie_1 = require("../programs/rings/partial-ring/piece-of-pie");
16
- var naive_accurate_flexible_1 = require("../programs/line-on-globe/naive-accurate-flexible");
17
- var circle_accurate_3d_1 = require("../programs/line-on-globe/circle-accurate-3d");
18
- var circle_accurate_flat_1 = require("../programs/line-on-globe/circle-accurate-flat");
19
- var account_1 = require("../util/account");
20
- var get_1 = require("../util/check/get");
21
- var data_filler_1 = require("../util/jshelpers/data-filler");
22
- var context_text3_1 = require("../write-text/context-text3");
23
- var typecheck_1 = require("../util/check/typecheck");
24
- var geometry_1 = require("../util/geometry");
25
- var attribute_loader_1 = require("../util/gl-util/buffer/attribute-loader");
4
+ const piece_of_pie_1 = require("../programs/rings/partial-ring/piece-of-pie");
5
+ const naive_accurate_flexible_1 = require("../programs/line-on-globe/naive-accurate-flexible");
6
+ const circle_accurate_3d_1 = require("../programs/line-on-globe/circle-accurate-3d");
7
+ const circle_accurate_flat_1 = require("../programs/line-on-globe/circle-accurate-flat");
8
+ const account_1 = require("../util/account");
9
+ const get_1 = require("../util/check/get");
10
+ const data_filler_1 = require("../util/jshelpers/data-filler");
11
+ const context_text3_1 = require("../write-text/context-text3");
12
+ const typecheck_1 = require("../util/check/typecheck");
13
+ const geometry_1 = require("../util/geometry");
14
+ const attribute_loader_1 = require("../util/gl-util/buffer/attribute-loader");
26
15
  exports.RINGPARTIAL_DRAW_MODE = Object.freeze({
27
16
  LINE_STRIP: "LINE_STRIP",
28
17
  TRIANGLE_FAN: "TRIANGLE_FAN",
@@ -44,30 +33,29 @@ exports.RINGPARTIAL_DRAW_MODE = Object.freeze({
44
33
  * @property {number} dashOpacity 0-1
45
34
  * @property {number} circleDashAngle 0-360
46
35
  */
47
- var textWriterGetOrThrow = (0, get_1.mapGetOrThrow)("BearingLine textContextInjection id does not exist in map");
48
- var radian = function (degree) { return degree * Math.PI / 180; };
49
- var integralSec = function (angle) {
36
+ const textWriterGetOrThrow = (0, get_1.mapGetOrThrow)("BearingLine textContextInjection id does not exist in map");
37
+ const radian = (degree) => degree * Math.PI / 180;
38
+ const integralSec = (angle) => {
50
39
  return Math.log(Math.tan(angle / 2 + Math.PI / 4));
51
40
  };
52
- var calculateStartAngle = function (long, lat, endLong, endLat) {
53
- var dLat = (integralSec(endLat) - integralSec(lat)); // Because lines are strectes toward poles.
54
- var dLong = endLong - long;
55
- var angle = -Math.atan2(dLat, dLong);
41
+ const calculateStartAngle = (long, lat, endLong, endLat) => {
42
+ const dLat = (integralSec(endLat) - integralSec(lat)); // Because lines are strectes toward poles.
43
+ const dLong = endLong - long;
44
+ let angle = -Math.atan2(dLat, dLong);
56
45
  return angle;
57
46
  };
58
- var BearingLinePlugin = /** @class */ (function () {
47
+ class BearingLinePlugin {
59
48
  /**
60
49
  * @param {*} id
61
50
  * @param {Map<[key, ContextTextWriter3]>} textWritersMap
62
51
  */
63
- function BearingLinePlugin(id, _a) {
64
- var _b = _a === void 0 ? {} : _a, _c = _b.opacity, opacity = _c === void 0 ? 1 : _c, _d = _b.textWritersMap, textWritersMap = _d === void 0 ? new Map() : _d, _e = _b.textDataPreAdaptor, textDataPreAdaptor = _e === void 0 ? function (x) { return x; } : _e, _f = _b.drawVRM, drawVRM = _f === void 0 ? true : _f, _g = _b.drawBearingLine, drawBearingLine = _g === void 0 ? true : _g, _h = _b.drawAngleRing, drawAngleRing = _h === void 0 ? true : _h, _j = _b.drawText, drawText = _j === void 0 ? true : _j, _k = _b.circleFlatEdgeCount, circleFlatEdgeCount = _k === void 0 ? circle_accurate_flat_1.EDGE_COUNT - 2 : _k;
52
+ constructor(id, { opacity = 1, textWritersMap = new Map(), textDataPreAdaptor = (x) => x, drawVRM = true, drawBearingLine = true, drawAngleRing = true, drawText = true, circleFlatEdgeCount = circle_accurate_flat_1.EDGE_COUNT - 2 } = {}) {
65
53
  this.id = id;
66
54
  this._opacity = opacity;
67
55
  this.bufferOrchestrator = new account_1.BufferOrchestrator({ capacity: 10 });
68
56
  this._checkTextContextWriterInjectionMap(textWritersMap);
69
57
  this._textWritersMap = textWritersMap;
70
- this._textWritersMap.forEach(function (writer) { return writer.keyAdaptor = function (item) { return item.key; }; });
58
+ this._textWritersMap.forEach((writer) => writer.keyAdaptor = (item) => item.key);
71
59
  this.drawVRM = drawVRM;
72
60
  this.drawBearingLine = drawBearingLine;
73
61
  this.drawAngleRing = drawAngleRing;
@@ -76,105 +64,97 @@ var BearingLinePlugin = /** @class */ (function () {
76
64
  this._memoryForText = new Map();
77
65
  this.circleFlatEdgeCount = circleFlatEdgeCount + 2;
78
66
  }
79
- BearingLinePlugin.prototype.setDoDrawVRM = function (bool) {
67
+ setDoDrawVRM(bool) {
80
68
  (0, typecheck_1.isBoolean)(bool);
81
69
  if (bool === this.drawVRM)
82
70
  return;
83
71
  this.drawVRM = bool;
84
72
  this.globe.DrawRender();
85
- };
86
- BearingLinePlugin.prototype.setDoDrawText = function (bool) {
73
+ }
74
+ setDoDrawText(bool) {
87
75
  (0, typecheck_1.isBoolean)(bool);
88
76
  if (bool === this.drawText)
89
77
  return;
90
78
  this.drawText = bool;
91
79
  this.globe.DrawRender();
92
- };
93
- BearingLinePlugin.prototype.setDoDrawText = function (bool) {
80
+ }
81
+ setDoDrawText(bool) {
94
82
  (0, typecheck_1.isBoolean)(bool);
95
83
  if (bool === this.drawText)
96
84
  return;
97
85
  this.drawText = bool;
98
86
  this.globe.DrawRender();
99
- };
100
- BearingLinePlugin.prototype.setDoDrawAngleRing = function (bool) {
87
+ }
88
+ setDoDrawAngleRing(bool) {
101
89
  (0, typecheck_1.isBoolean)(bool);
102
90
  if (bool === this.drawAngleRing)
103
91
  return;
104
92
  this.drawAngleRing = bool;
105
93
  this.globe.DrawRender();
106
- };
107
- BearingLinePlugin.prototype.setOpacity = function (opacity) {
94
+ }
95
+ setOpacity(opacity) {
108
96
  (0, typecheck_1.constraintFloat)(opacity, 0, 1);
109
97
  this._opacity = opacity;
110
- this._textWritersMap.forEach(function (writer) { return writer.setOpacity(opacity); });
98
+ this._textWritersMap.forEach((writer) => writer.setOpacity(opacity));
111
99
  this.globe.DrawRender();
112
- };
100
+ }
113
101
  /**
114
102
 
115
103
  * @param {Array<BearingLineItem>} items
116
104
  * @param {Array<string>} textWriterIDs | textWritersMap keys to be used for writing text.
117
105
  */
118
- BearingLinePlugin.prototype.insertBulk = function (items, _a) {
119
- var _b = _a === void 0 ? {} : _a, _c = _b.textWriterIDs, textWriterIDs = _c === void 0 ? [] : _c;
120
- var _d = this, globe = _d.globe, bufferOrchestrator = _d.bufferOrchestrator, bufferManagersCompMap = _d.bufferManagersCompMap; // angleTextContext, distanceTextContext,
121
- var data = [];
122
- for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {
123
- var item = items_1[_i];
106
+ insertBulk(items, { textWriterIDs = [] } = {}) {
107
+ const { globe, bufferOrchestrator, bufferManagersCompMap } = this; // angleTextContext, distanceTextContext,
108
+ const data = [];
109
+ for (let item of items) {
124
110
  data.push(this.__insertAdaptor(item));
125
111
  }
126
112
  bufferOrchestrator.insertBulk(data, bufferManagersCompMap);
127
113
  this.__insertTexts(items, textWriterIDs);
128
114
  globe.DrawRender();
129
- };
115
+ }
130
116
  /**
131
117
  * @param {Array<string>} textWriterIDs | textWritersMap keys to be used for writing text.
132
118
  * @param {Array<string>} itemKeys | if empty, all texts will be updated.
133
119
  */
134
- BearingLinePlugin.prototype.updateText = function (textWriterIDs, itemKeys) {
135
- var _this = this;
136
- if (textWriterIDs === void 0) { textWriterIDs = []; }
137
- if (itemKeys === void 0) { itemKeys = null; }
138
- var textWritersMap = textWriterGetOrThrow(this._textWritersMap, textWriterIDs);
120
+ updateText(textWriterIDs = [], itemKeys = null) {
121
+ const textWritersMap = textWriterGetOrThrow(this._textWritersMap, textWriterIDs);
139
122
  if (itemKeys === null) {
140
- this._memoryForText.forEach(function (item) {
141
- var _item = _this._textDataPreAdaptor(item);
142
- textWritersMap.forEach(function (writer) { return writer.insertText(_item); });
123
+ this._memoryForText.forEach((item) => {
124
+ let _item = this._textDataPreAdaptor(item);
125
+ textWritersMap.forEach((writer) => writer.insertText(_item));
143
126
  });
144
127
  }
145
128
  else {
146
- itemKeys.forEach(function (key) {
147
- var item = _this._memoryForText.get(key);
129
+ itemKeys.forEach((key) => {
130
+ let item = this._memoryForText.get(key);
148
131
  if (item === undefined)
149
132
  return;
150
- var _item = _this._textDataPreAdaptor(item);
151
- textWritersMap.forEach(function (writer) { return writer.insertText(_item); });
133
+ let _item = this._textDataPreAdaptor(item);
134
+ textWritersMap.forEach((writer) => writer.insertText(_item));
152
135
  });
153
136
  }
154
137
  this.globe.DrawRender();
155
- };
156
- BearingLinePlugin.prototype.deleteBulk = function (keys) {
138
+ }
139
+ deleteBulk(keys) {
157
140
  this.bufferOrchestrator.deleteBulk(keys, this.bufferManagersCompMap);
158
- for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
159
- var key = keys_1[_i];
141
+ for (const key of keys) {
160
142
  this._memoryForText.delete(key);
161
143
  }
162
144
  this._deleteTexts(keys);
163
145
  this.globe.DrawRender();
164
- };
165
- BearingLinePlugin.prototype.defrag = function () {
146
+ }
147
+ defrag() {
166
148
  this.bufferOrchestrator.defrag(this.bufferManagersCompMap);
167
- };
149
+ }
168
150
  /**
169
151
  * @param {Array<{key, long, lat, endLong, endLat, bearingAngle}>} items
170
152
  * @param {Array<string>} textWriterIDs | textWritersMap keys to be used for writing text.
171
153
  */
172
- BearingLinePlugin.prototype.updateCoordinatesBulk = function (items, _a) {
173
- var _b = _a === void 0 ? {} : _a, _c = _b.textWriterIDs, textWriterIDs = _c === void 0 ? [] : _c;
174
- var _d = this, globe = _d.globe, bufferOrchestrator = _d.bufferOrchestrator, bufferManagersCompMap = _d.bufferManagersCompMap;
175
- var data = [];
176
- for (var _i = 0, items_2 = items; _i < items_2.length; _i++) {
177
- var item = items_2[_i];
154
+ updateCoordinatesBulk(items, { textWriterIDs = [] } = {}) {
155
+ const { globe, bufferOrchestrator, bufferManagersCompMap, } = this;
156
+ const data = [];
157
+ for (let item of items) {
178
158
  data.push(this.__updateCoordsAdaptor(item));
179
159
  }
180
160
  this.__insertTexts(items, textWriterIDs);
@@ -182,7 +162,7 @@ var BearingLinePlugin = /** @class */ (function () {
182
162
  "startAngle2d", "tailAngle2d", "startAngle3d", "tailAngle3d", "bearingTargetCoords2d", "bearingTargetCoords3d", "centerCoords2dflat",
183
163
  "bigRadius", "radius"]);
184
164
  globe.DrawRender();
185
- };
165
+ }
186
166
  /**
187
167
  *
188
168
  * @param {Array<BearingLineItem>} items some colums EXCEPT positional ones
@@ -191,218 +171,214 @@ var BearingLinePlugin = /** @class */ (function () {
191
171
  * Do NOT send empty data if property ID of this data is entered or NaN is loaded to the buffer, resulting in an unwanted behaviour.
192
172
  *{ textWriterIDs = []}
193
173
  */
194
- BearingLinePlugin.prototype.updatePartial = function (items, propertyIDs, _a) {
195
- if (propertyIDs === void 0) { propertyIDs = []; }
196
- var _b = _a === void 0 ? {} : _a, _c = _b.textWriterIDs, textWriterIDs = _c === void 0 ? [] : _c;
174
+ updatePartial(items, propertyIDs = [], { textWriterIDs = [] } = {}) {
197
175
  if (propertyIDs.length === 0)
198
176
  console.warn("updatePartial is called with no target propertyIDs");
199
- var fixedPropertyIDs = this.__fixPartialProperties(propertyIDs);
200
- var _d = this, bufferOrchestrator = _d.bufferOrchestrator, bufferManagersCompMap = _d.bufferManagersCompMap;
177
+ const fixedPropertyIDs = this.__fixPartialProperties(propertyIDs);
178
+ const { bufferOrchestrator, bufferManagersCompMap } = this;
201
179
  bufferOrchestrator.updateBulk(items, bufferManagersCompMap, fixedPropertyIDs);
202
180
  // patch to update text opacity
203
181
  this.__insertTexts(items, textWriterIDs);
204
182
  this.globe.DrawRender();
205
- };
183
+ }
206
184
  // Private methods
207
- BearingLinePlugin.prototype._checkTextContextWriterInjectionMap = function (textContextWriterInjectionMap) {
185
+ _checkTextContextWriterInjectionMap(textContextWriterInjectionMap) {
208
186
  if (!(textContextWriterInjectionMap instanceof Map))
209
187
  throw new Error("textContextWriterInjectionMap is not an instance of Map");
210
- textContextWriterInjectionMap.forEach(function (v) {
188
+ textContextWriterInjectionMap.forEach((v) => {
211
189
  if (!(v instanceof context_text3_1.ContextTextWriter3))
212
190
  throw new Error("textContextWriterInjectionMap element is not an instance of ContextTextWriter3");
213
191
  });
214
- };
215
- BearingLinePlugin.prototype.__insertTexts = function (items, textWriterIDs) {
216
- var textWritersMap = textWriterGetOrThrow(this._textWritersMap, textWriterIDs);
217
- var _loop_1 = function (item) {
218
- var oldItem = this_1._memoryForText.get(item.key);
219
- var _item = oldItem !== undefined ? __assign(__assign({}, oldItem), item) : item;
220
- this_1._memoryForText.set(item.key, _item);
221
- if (this_1._textDataPreAdaptor !== null)
222
- _item = this_1._textDataPreAdaptor(_item);
223
- textWritersMap.forEach(function (writer) { return writer.insertText(_item); });
224
- };
225
- var this_1 = this;
226
- for (var _i = 0, items_3 = items; _i < items_3.length; _i++) {
227
- var item = items_3[_i];
228
- _loop_1(item);
192
+ }
193
+ __insertTexts(items, textWriterIDs) {
194
+ const textWritersMap = textWriterGetOrThrow(this._textWritersMap, textWriterIDs);
195
+ for (const item of items) {
196
+ const oldItem = this._memoryForText.get(item.key);
197
+ let _item = oldItem !== undefined ? { ...oldItem, ...item } : item;
198
+ this._memoryForText.set(item.key, _item);
199
+ if (this._textDataPreAdaptor !== null)
200
+ _item = this._textDataPreAdaptor(_item);
201
+ textWritersMap.forEach((writer) => writer.insertText(_item));
229
202
  }
230
- };
231
- BearingLinePlugin.prototype.__insertAdaptor = function (item) {
232
- var rgba = item.rgba !== undefined ? item.rgba : [0, 0, 0, 0];
233
- var rgbaMode = item.rgbaMode !== undefined ? item.rgbaMode : 0;
234
- var dashRatio = item.dashRatio !== undefined ? item.dashRatio : 1.0;
235
- var dashOpacity = item.dashOpacity !== undefined ? item.dashOpacity : 0.9;
236
- var circleDashAngle = item.circleDashAngle !== undefined ? item.circleDashAngle : 360;
237
- var coordsData = this.__updateCoordsAdaptor(item);
238
- return __assign(__assign({}, coordsData), { rgba: rgba, dashRatio: dashRatio, dashOpacity: dashOpacity, circleDashAngle: circleDashAngle, rgbaMode: rgbaMode });
239
- };
240
- BearingLinePlugin.prototype.__updateCoordsAdaptor = function (item) {
241
- var _a, _b;
242
- var globe = this.globe;
243
- var lat = radian(item.lat);
244
- var long = radian(item.long);
245
- var endLat = radian(item.endLat);
246
- var endLong = radian(item.endLong);
247
- var altitude = ((_a = item.altitude) !== null && _a !== void 0 ? _a : 0) / 1000;
248
- var bigRadius = (_b = item.bigRadius) !== null && _b !== void 0 ? _b : globe.Math.GetDist2D(item.long, item.lat, item.endLong, item.endLat);
249
- var radius = item.radius !== undefined ? item.radius : bigRadius * 0.2;
250
- var _c = globe.Math.FindPointByPolar(item.long, item.lat, bigRadius, item.bearingAngle), bearingLong = _c.long, bearingLat = _c.lat;
251
- var startAngle2d = calculateStartAngle(long, lat, endLong, endLat);
252
- var bearingAngle2d = calculateStartAngle(long, lat, radian(bearingLong), radian(bearingLat));
253
- var tailAngle2d = bearingAngle2d - startAngle2d;
203
+ }
204
+ __insertAdaptor(item) {
205
+ const rgba = item.rgba !== undefined ? item.rgba : [0, 0, 0, 0];
206
+ const rgbaMode = item.rgbaMode !== undefined ? item.rgbaMode : 0;
207
+ const dashRatio = item.dashRatio !== undefined ? item.dashRatio : 1.0;
208
+ const dashOpacity = item.dashOpacity !== undefined ? item.dashOpacity : 0.9;
209
+ const circleDashAngle = item.circleDashAngle !== undefined ? item.circleDashAngle : 360;
210
+ const coordsData = this.__updateCoordsAdaptor(item);
211
+ return {
212
+ ...coordsData,
213
+ rgba,
214
+ dashRatio,
215
+ dashOpacity,
216
+ circleDashAngle,
217
+ rgbaMode
218
+ };
219
+ }
220
+ __updateCoordsAdaptor(item) {
221
+ const { globe } = this;
222
+ const lat = radian(item.lat);
223
+ const long = radian(item.long);
224
+ const endLat = radian(item.endLat);
225
+ const endLong = radian(item.endLong);
226
+ const altitude = (item.altitude ?? 0) / 1000;
227
+ const bigRadius = item.bigRadius ?? globe.Math.GetDist2D(item.long, item.lat, item.endLong, item.endLat);
228
+ const radius = item.radius !== undefined ? item.radius : bigRadius * 0.2;
229
+ const { long: bearingLong, lat: bearingLat } = globe.Math.FindPointByPolar(item.long, item.lat, bigRadius, item.bearingAngle);
230
+ const startAngle2d = calculateStartAngle(long, lat, endLong, endLat);
231
+ const bearingAngle2d = calculateStartAngle(long, lat, radian(bearingLong), radian(bearingLat));
232
+ let tailAngle2d = bearingAngle2d - startAngle2d;
254
233
  if (tailAngle2d > 0) {
255
234
  tailAngle2d -= Math.PI * 2;
256
235
  }
257
- var bearingAngle = radian(item.bearingAngle - 90);
258
- var startAngleOfCircle = globe.Math.GetAzimuthAngle(item.long, item.lat, item.endLong, item.endLat); //startAngle2d * 180 / Math.PI;
259
- var startAngle3d = radian(startAngleOfCircle) - radian(90);
260
- var tailAngle3d = bearingAngle - startAngle3d;
236
+ const bearingAngle = radian(item.bearingAngle - 90);
237
+ const startAngleOfCircle = globe.Math.GetAzimuthAngle(item.long, item.lat, item.endLong, item.endLat); //startAngle2d * 180 / Math.PI;
238
+ const startAngle3d = radian(startAngleOfCircle) - radian(90);
239
+ let tailAngle3d = bearingAngle - startAngle3d;
261
240
  if (tailAngle3d > 0) {
262
241
  tailAngle3d -= Math.PI * 2;
263
242
  }
264
- var centerCoords2dflat = (0, circle_accurate_flat_1.centerCoords2dflatDataCreator)(globe, item.long, item.lat, item.endLong, item.endLat, { startAngleOfCircle: startAngleOfCircle, edgeCount: this.circleFlatEdgeCount });
243
+ const centerCoords2dflat = (0, circle_accurate_flat_1.centerCoords2dflatDataCreator)(globe, item.long, item.lat, item.endLong, item.endLat, { startAngleOfCircle, edgeCount: this.circleFlatEdgeCount });
265
244
  return {
266
245
  key: item.key,
267
246
  lat: item.lat,
268
247
  long: item.long,
269
248
  endLat: item.endLat,
270
249
  endLong: item.endLong,
271
- altitude: altitude,
272
- bearingAngle: bearingAngle,
273
- radius: radius,
274
- bigRadius: bigRadius,
275
- startAngle2d: startAngle2d,
276
- tailAngle2d: tailAngle2d,
277
- startAngle3d: startAngle3d,
278
- tailAngle3d: tailAngle3d,
279
- bearingLong: bearingLong,
280
- bearingLat: bearingLat,
281
- centerCoords2dflat: centerCoords2dflat
250
+ altitude,
251
+ bearingAngle,
252
+ radius,
253
+ bigRadius,
254
+ startAngle2d,
255
+ tailAngle2d,
256
+ startAngle3d,
257
+ tailAngle3d,
258
+ bearingLong,
259
+ bearingLat,
260
+ centerCoords2dflat
282
261
  };
283
- };
284
- BearingLinePlugin.prototype.__fixPartialProperties = function (propertyIDs) {
285
- var s = new Set(["rgba", "dashOpacity", "circleDashAngle"]);
286
- var result = [];
287
- for (var _i = 0, propertyIDs_1 = propertyIDs; _i < propertyIDs_1.length; _i++) {
288
- var item = propertyIDs_1[_i];
262
+ }
263
+ __fixPartialProperties(propertyIDs) {
264
+ const s = new Set(["rgba", "dashOpacity", "circleDashAngle"]);
265
+ const result = [];
266
+ for (const item of propertyIDs) {
289
267
  result.push(item);
290
268
  if (s.has(item)) {
291
269
  result.push(item + "Mercator");
292
270
  }
293
271
  }
294
272
  return result;
295
- };
273
+ }
296
274
  // Globe API
297
- BearingLinePlugin.prototype.init = function (globe, gl) {
298
- var _a, _b, _c, _d, _e;
299
- var _this = this;
275
+ init(globe, gl) {
300
276
  this.gl = gl;
301
277
  this.globe = globe;
302
278
  this.lineProgram = naive_accurate_flexible_1.LineOnGlobeCache.get(globe);
303
279
  this.pieceOfPieProgram = piece_of_pie_1.PieceOfPieProgramCache.get(globe);
304
280
  this.circleProgram = circle_accurate_flat_1.CircleCache.get(globe);
305
281
  this.circle3DProgram = circle_accurate_3d_1.CircleCache.get(globe);
306
- var circleFlatEdgeCount = this.circleFlatEdgeCount;
282
+ const circleFlatEdgeCount = this.circleFlatEdgeCount;
307
283
  {
308
284
  // createBuffers
309
- var bufferType = "DYNAMIC_DRAW";
310
- var initialCapacity = this.bufferOrchestrator.capacity;
285
+ const bufferType = "DYNAMIC_DRAW";
286
+ const initialCapacity = this.bufferOrchestrator.capacity;
311
287
  this.bufferManagersCompMap = new Map([
312
288
  ["centerCoords2d", {
313
- 'bufferManager': new account_1.BufferManager(gl, 2, { bufferType: bufferType, initialCapacity: initialCapacity }),
314
- 'adaptor': function (item) { return new Float32Array(globe.api_GetMercator2DPoint(item.long, item.lat)); },
289
+ 'bufferManager': new account_1.BufferManager(gl, 2, { bufferType, initialCapacity }),
290
+ 'adaptor': (item) => new Float32Array(globe.api_GetMercator2DPoint(item.long, item.lat)),
315
291
  }],
316
292
  ["centerCoords2dflat", {
317
- 'bufferManager': new account_1.BufferManager(gl, circleFlatEdgeCount * 2, { bufferType: bufferType, initialCapacity: initialCapacity }),
318
- 'adaptor': function (item) { return item.centerCoords2dflat; },
293
+ 'bufferManager': new account_1.BufferManager(gl, circleFlatEdgeCount * 2, { bufferType, initialCapacity }),
294
+ 'adaptor': (item) => item.centerCoords2dflat,
319
295
  }],
320
296
  ["centerCoords3d", {
321
- 'bufferManager': new account_1.BufferManager(gl, 3, { bufferType: bufferType, initialCapacity: initialCapacity }),
322
- 'adaptor': function (item) { return (0, geometry_1.sphereCoord)(item.long, item.lat, globe, item.altitude); },
297
+ 'bufferManager': new account_1.BufferManager(gl, 3, { bufferType, initialCapacity }),
298
+ 'adaptor': (item) => (0, geometry_1.sphereCoord)(item.long, item.lat, globe, item.altitude),
323
299
  }],
324
300
  ["targetCoords2d", {
325
- 'bufferManager': new account_1.BufferManager(gl, 2, { bufferType: bufferType, initialCapacity: initialCapacity }),
326
- 'adaptor': function (item) { return new Float32Array(globe.api_GetMercator2DPoint(item.endLong, item.endLat)); }
301
+ 'bufferManager': new account_1.BufferManager(gl, 2, { bufferType, initialCapacity }),
302
+ 'adaptor': (item) => new Float32Array(globe.api_GetMercator2DPoint(item.endLong, item.endLat))
327
303
  }],
328
304
  ["targetCoords3d", {
329
- 'bufferManager': new account_1.BufferManager(gl, 3, { bufferType: bufferType, initialCapacity: initialCapacity }),
330
- 'adaptor': function (item) { return (0, geometry_1.sphereCoord)(item.endLong, item.endLat, globe, item.altitude); }
305
+ 'bufferManager': new account_1.BufferManager(gl, 3, { bufferType, initialCapacity }),
306
+ 'adaptor': (item) => (0, geometry_1.sphereCoord)(item.endLong, item.endLat, globe, item.altitude)
331
307
  }],
332
308
  ["bearingTargetCoords2d", {
333
- 'bufferManager': new account_1.BufferManager(gl, 2, { bufferType: bufferType, initialCapacity: initialCapacity }),
334
- 'adaptor': function (item) { return new Float32Array(globe.api_GetMercator2DPoint(item.bearingLong, item.bearingLat)); }
309
+ 'bufferManager': new account_1.BufferManager(gl, 2, { bufferType, initialCapacity }),
310
+ 'adaptor': (item) => new Float32Array(globe.api_GetMercator2DPoint(item.bearingLong, item.bearingLat))
335
311
  }],
336
312
  ["bearingTargetCoords3d", {
337
- 'bufferManager': new account_1.BufferManager(gl, 3, { bufferType: bufferType, initialCapacity: initialCapacity }),
338
- 'adaptor': function (item) { return (0, geometry_1.sphereCoord)(item.bearingLong, item.bearingLat, globe, item.altitude); }
313
+ 'bufferManager': new account_1.BufferManager(gl, 3, { bufferType, initialCapacity }),
314
+ 'adaptor': (item) => (0, geometry_1.sphereCoord)(item.bearingLong, item.bearingLat, globe, item.altitude)
339
315
  }],
340
316
  ["startAngle2d", {
341
- 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType: bufferType, initialCapacity: initialCapacity }),
342
- 'adaptor': function (item) { return new Float32Array([item.startAngle2d]); }
317
+ 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType, initialCapacity }),
318
+ 'adaptor': (item) => new Float32Array([item.startAngle2d])
343
319
  }],
344
320
  ["tailAngle2d", {
345
- 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType: bufferType, initialCapacity: initialCapacity }),
346
- 'adaptor': function (item) { return new Float32Array([item.tailAngle2d]); }
321
+ 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType, initialCapacity }),
322
+ 'adaptor': (item) => new Float32Array([item.tailAngle2d])
347
323
  }],
348
324
  ["startAngle3d", {
349
- 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType: bufferType, initialCapacity: initialCapacity }),
350
- 'adaptor': function (item) { return new Float32Array([item.startAngle3d]); }
325
+ 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType, initialCapacity }),
326
+ 'adaptor': (item) => new Float32Array([item.startAngle3d])
351
327
  }],
352
328
  ["tailAngle3d", {
353
- 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType: bufferType, initialCapacity: initialCapacity }),
354
- 'adaptor': function (item) { return new Float32Array([item.tailAngle3d]); }
329
+ 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType, initialCapacity }),
330
+ 'adaptor': (item) => new Float32Array([item.tailAngle3d])
355
331
  }],
356
332
  ["bearingDashRatio", {
357
- 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType: bufferType, initialCapacity: initialCapacity }),
358
- 'adaptor': function (item) { return new Float32Array([0]); }
333
+ 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType, initialCapacity }),
334
+ 'adaptor': (item) => new Float32Array([0])
359
335
  }],
360
336
  ["rgba", {
361
- 'bufferManager': new account_1.BufferManager(gl, 4, { bufferType: bufferType, initialCapacity: initialCapacity }),
362
- 'adaptor': function (item) { return new Float32Array(item.rgba); }
337
+ 'bufferManager': new account_1.BufferManager(gl, 4, { bufferType, initialCapacity }),
338
+ 'adaptor': (item) => new Float32Array(item.rgba)
363
339
  }],
364
340
  ["radius", {
365
- 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType: bufferType, initialCapacity: initialCapacity }),
366
- 'adaptor': function (item) { return new Float32Array([item.radius]); }
341
+ 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType, initialCapacity }),
342
+ 'adaptor': (item) => new Float32Array([item.radius])
367
343
  }],
368
344
  ["rgbaMode", {
369
- 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType: bufferType, initialCapacity: initialCapacity }),
370
- 'adaptor': function (item) { return new Float32Array([item.rgbaMode]); }
345
+ 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType, initialCapacity }),
346
+ 'adaptor': (item) => new Float32Array([item.rgbaMode])
371
347
  }],
372
348
  ["dashRatio", {
373
- 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType: bufferType, initialCapacity: initialCapacity }),
374
- 'adaptor': function (item) { return new Float32Array([item.dashRatio]); }
349
+ 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType, initialCapacity }),
350
+ 'adaptor': (item) => new Float32Array([item.dashRatio])
375
351
  }],
376
352
  ["bigRadius", {
377
- 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType: bufferType, initialCapacity: initialCapacity }),
378
- 'adaptor': function (item) { return new Float32Array([item.bigRadius]); }
353
+ 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType, initialCapacity }),
354
+ 'adaptor': (item) => new Float32Array([item.bigRadius])
379
355
  }],
380
356
  ["dashOpacity", {
381
- 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType: bufferType, initialCapacity: initialCapacity }),
382
- 'adaptor': function (item) { return new Float32Array([item.dashOpacity]); },
357
+ 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType, initialCapacity }),
358
+ 'adaptor': (item) => new Float32Array([item.dashOpacity]),
383
359
  }],
384
360
  ["circleDashAngle", {
385
- 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType: bufferType, initialCapacity: initialCapacity }),
386
- 'adaptor': function (item) { return new Float32Array([item.circleDashAngle / 360]); },
361
+ 'bufferManager': new account_1.BufferManager(gl, 1, { bufferType, initialCapacity }),
362
+ 'adaptor': (item) => new Float32Array([item.circleDashAngle / 360]),
387
363
  }],
388
364
  // Mercator circle properties are duplicated for the sake of performance.
389
365
  ["rgbaMercator", {
390
- 'bufferManager': new account_1.BufferManager(gl, 4 * circleFlatEdgeCount, { bufferType: bufferType, initialCapacity: initialCapacity }),
391
- 'adaptor': function (item) { return data_filler_1.populateFloat32Array.fillWithListData(circleFlatEdgeCount, item.rgba); },
366
+ 'bufferManager': new account_1.BufferManager(gl, 4 * circleFlatEdgeCount, { bufferType, initialCapacity }),
367
+ 'adaptor': (item) => data_filler_1.populateFloat32Array.fillWithListData(circleFlatEdgeCount, item.rgba),
392
368
  }],
393
369
  ["circleDashAngleMercator", {
394
- 'bufferManager': new account_1.BufferManager(gl, circleFlatEdgeCount, { bufferType: bufferType, initialCapacity: initialCapacity }),
395
- 'adaptor': function (item) { return data_filler_1.populateFloat32Array.fillFloat32Array(circleFlatEdgeCount, item.circleDashAngle / 360); },
370
+ 'bufferManager': new account_1.BufferManager(gl, circleFlatEdgeCount, { bufferType, initialCapacity }),
371
+ 'adaptor': (item) => data_filler_1.populateFloat32Array.fillFloat32Array(circleFlatEdgeCount, item.circleDashAngle / 360),
396
372
  }],
397
373
  ["dashOpacityMercator", {
398
- 'bufferManager': new account_1.BufferManager(gl, circleFlatEdgeCount, { bufferType: bufferType, initialCapacity: initialCapacity }),
399
- 'adaptor': function (item) { return data_filler_1.populateFloat32Array.fillFloat32Array(circleFlatEdgeCount, item.dashOpacity); },
374
+ 'bufferManager': new account_1.BufferManager(gl, circleFlatEdgeCount, { bufferType, initialCapacity }),
375
+ 'adaptor': (item) => data_filler_1.populateFloat32Array.fillFloat32Array(circleFlatEdgeCount, item.dashOpacity),
400
376
  }],
401
377
  ]);
402
378
  }
403
- var vaoOBJ = function (key) { return (0, attribute_loader_1.createBufferAndReadInfo)(_this.bufferManagersCompMap.get(key).bufferManager.buffer); };
404
- this.lineVao = (_a = this.lineProgram).createVAO.apply(_a, ['centerCoords2d', 'centerCoords3d', 'targetCoords2d', 'targetCoords3d', 'dashOpacity', 'dashOpacity', 'rgba'].map(function (key) { return vaoOBJ(key); }));
405
- this.ringVao = (_b = this.pieceOfPieProgram).createVAO.apply(_b, ['centerCoords2d',
379
+ const vaoOBJ = (key) => (0, attribute_loader_1.createBufferAndReadInfo)(this.bufferManagersCompMap.get(key).bufferManager.buffer);
380
+ this.lineVao = this.lineProgram.createVAO(...['centerCoords2d', 'centerCoords3d', 'targetCoords2d', 'targetCoords3d', 'dashOpacity', 'dashOpacity', 'rgba'].map(key => vaoOBJ(key)));
381
+ this.ringVao = this.pieceOfPieProgram.createVAO(...['centerCoords2d',
406
382
  'centerCoords3d',
407
383
  'startAngle2d',
408
384
  'tailAngle2d',
@@ -410,27 +386,27 @@ var BearingLinePlugin = /** @class */ (function () {
410
386
  'tailAngle3d',
411
387
  'rgba',
412
388
  'radius',
413
- 'rgbaMode'].map(function (key) { return vaoOBJ(key); }));
414
- this.bearingLineVAO = (_c = this.lineProgram).createVAO.apply(_c, ['centerCoords2d', 'centerCoords3d', 'bearingTargetCoords2d', 'bearingTargetCoords3d', 'bearingDashRatio', 'dashOpacity', 'rgba'
415
- ].map(function (key) { return vaoOBJ(key); }));
416
- this.circleVao = (_d = this.circleProgram).createVAO.apply(_d, ["centerCoords2dflat", "rgbaMercator", "circleDashAngleMercator", "dashOpacityMercator"
417
- ].map(function (key) { return vaoOBJ(key); }));
418
- this.circle3DVao = (_e = this.circle3DProgram).createVAO.apply(_e, ["centerCoords3d", "targetCoords3d", "rgba", "circleDashAngle", "dashOpacity"
419
- ].map(function (key) { return vaoOBJ(key); }));
420
- };
421
- BearingLinePlugin.prototype.draw3D = function () {
422
- var gl = this.gl;
389
+ 'rgbaMode'].map(key => vaoOBJ(key)));
390
+ this.bearingLineVAO = this.lineProgram.createVAO(...['centerCoords2d', 'centerCoords3d', 'bearingTargetCoords2d', 'bearingTargetCoords3d', 'bearingDashRatio', 'dashOpacity', 'rgba'
391
+ ].map(key => vaoOBJ(key)));
392
+ this.circleVao = this.circleProgram.createVAO(...["centerCoords2dflat", "rgbaMercator", "circleDashAngleMercator", "dashOpacityMercator"
393
+ ].map(key => vaoOBJ(key)));
394
+ this.circle3DVao = this.circle3DProgram.createVAO(...["centerCoords3d", "targetCoords3d", "rgba", "circleDashAngle", "dashOpacity"
395
+ ].map(key => vaoOBJ(key)));
396
+ }
397
+ draw3D() {
398
+ const { gl } = this;
423
399
  gl.disable(gl.DEPTH_TEST);
424
- var is3D = this.globe.api_GetCurrentGeometry() === 0;
425
- var drawRange = { first: 0, count: this.bufferOrchestrator.length };
426
- this.lineProgram.draw(this.lineVao, { drawRange: drawRange }, this._opacity);
400
+ const is3D = this.globe.api_GetCurrentGeometry() === 0;
401
+ const drawRange = { first: 0, count: this.bufferOrchestrator.length };
402
+ this.lineProgram.draw(this.lineVao, { drawRange }, this._opacity);
427
403
  if (this.drawAngleRing) {
428
404
  this.pieceOfPieProgram.draw(this.bufferOrchestrator.length, this.ringVao, 360, this._opacity * 0.8, exports.RINGPARTIAL_DRAW_MODE.TRIANGLE_FAN);
429
405
  this.pieceOfPieProgram.draw(this.bufferOrchestrator.length, this.ringVao, 360, this._opacity * 0.8, exports.RINGPARTIAL_DRAW_MODE.LINE_STRIP);
430
406
  }
431
407
  if (this.drawBearingLine) {
432
408
  // this.lineProgram.draw(this.bearingLineVAO, this.bufferOrchestrator.length, this._opacity );
433
- this.lineProgram.draw(this.bearingLineVAO, { drawRange: drawRange }, this._opacity);
409
+ this.lineProgram.draw(this.bearingLineVAO, { drawRange }, this._opacity);
434
410
  }
435
411
  if (this.drawVRM) {
436
412
  if (is3D) {
@@ -441,18 +417,17 @@ var BearingLinePlugin = /** @class */ (function () {
441
417
  }
442
418
  }
443
419
  if (this.drawText) {
444
- this._textWritersMap.forEach(function (writer) { return writer.draw(); });
420
+ this._textWritersMap.forEach((writer) => writer.draw());
445
421
  }
446
422
  gl.enable(gl.DEPTH_TEST);
447
- };
448
- BearingLinePlugin.prototype.free = function () {
423
+ }
424
+ free() {
449
425
  if (this.isFreed)
450
426
  return;
451
- this.bufferManagersCompMap.forEach(function (_a) {
452
- var bufferManager = _a.bufferManager, adaptor = _a.adaptor;
427
+ this.bufferManagersCompMap.forEach(({ bufferManager, adaptor }) => {
453
428
  bufferManager.free();
454
429
  });
455
- var _a = this, gl = _a.gl, globe = _a.globe;
430
+ const { gl, globe } = this;
456
431
  gl.deleteVertexArray(this.lineVao);
457
432
  gl.deleteVertexArray(this.ringVao);
458
433
  gl.deleteVertexArray(this.bearingLineVAO);
@@ -463,12 +438,11 @@ var BearingLinePlugin = /** @class */ (function () {
463
438
  circle_accurate_flat_1.CircleCache.release(globe);
464
439
  circle_accurate_3d_1.CircleCache.release(globe);
465
440
  this.isFreed = true;
466
- };
467
- BearingLinePlugin.prototype._deleteTexts = function (keys) {
468
- this._textWritersMap.forEach(function (writer) {
441
+ }
442
+ _deleteTexts(keys) {
443
+ this._textWritersMap.forEach((writer) => {
469
444
  writer.deleteTextBulk(keys);
470
445
  });
471
- };
472
- return BearingLinePlugin;
473
- }());
446
+ }
447
+ }
474
448
  exports.default = BearingLinePlugin;