@pirireis/webglobeplugins 0.9.11 → 0.9.13

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