@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.
- package/Math/angle-calculation.js +8 -8
- package/Math/arc.js +18 -18
- package/Math/bounds/line-bbox.js +78 -80
- package/Math/constants.js +3 -3
- package/Math/juction/arc-plane.js +23 -23
- package/Math/juction/line-sphere.js +11 -11
- package/Math/juction/plane-plane.js +11 -11
- package/Math/line.js +14 -16
- package/Math/methods.js +65 -70
- package/Math/plane.js +16 -18
- package/Math/quaternion.js +45 -49
- package/Math/utils.js +2 -2
- package/Math/vec3.js +42 -45
- package/algorithms/search-binary.js +4 -4
- package/altitude-locator/draw-subset-obj.js +7 -8
- package/altitude-locator/plugin.js +98 -114
- package/arrowfield/adaptor.js +3 -4
- package/arrowfield/index.js +2 -2
- package/arrowfield/plugin.js +62 -65
- package/bearing-line/index.js +1 -1
- package/bearing-line/plugin.js +200 -226
- package/circle-line-chain/chain-list-map.js +82 -88
- package/circle-line-chain/plugin.js +134 -165
- package/circle-line-chain/util.js +1 -1
- package/compass-rose/compass-rose-padding-flat.js +108 -133
- package/compass-rose/compass-text-writer.js +62 -70
- package/compass-rose/index.js +2 -2
- package/compassrose/compassrose.js +46 -50
- package/compassrose/index.js +1 -1
- package/heatwave/index.js +2 -2
- package/heatwave/isobar/objectarraylabels.js +44 -48
- package/heatwave/isobar/plugin.js +104 -123
- package/heatwave/isobar/quadtreecontours.js +76 -92
- package/heatwave/plugins/heatwaveglobeshell.js +69 -87
- package/index.js +11 -11
- package/package.json +1 -1
- package/partialrings/buffer-manager.js +32 -64
- package/partialrings/index.js +1 -1
- package/partialrings/plugin.js +48 -84
- package/partialrings/program.js +136 -47
- package/pin/pin-object-array.js +83 -86
- package/pin/pin-point-totem.js +21 -22
- package/point-heat-map/adaptors/timetracksplugin-format-to-this.js +10 -10
- package/point-heat-map/plugin-webworker.js +40 -45
- package/point-heat-map/point-to-heat-map-flow.js +40 -42
- package/point-tracks/key-methods.js +1 -1
- package/point-tracks/plugin.js +137 -162
- package/programs/arrowfield/index.js +1 -1
- package/programs/arrowfield/logic.js +170 -62
- package/programs/arrowfield/object.js +33 -35
- package/programs/data2legend/density-to-legend.js +45 -21
- package/programs/data2legend/point-to-density-texture.js +52 -27
- package/programs/float2legendwithratio/index.js +1 -1
- package/programs/float2legendwithratio/logic.js +88 -42
- package/programs/float2legendwithratio/object.js +43 -46
- package/programs/globe-util/is-globe-moved.js +10 -11
- package/programs/globeshell/index.js +1 -1
- package/programs/globeshell/wiggle/index.js +1 -1
- package/programs/globeshell/wiggle/logic.js +191 -98
- package/programs/globeshell/wiggle/object.js +33 -35
- package/programs/helpers/blender/program.js +36 -19
- package/programs/helpers/fadeaway/index.js +1 -1
- package/programs/helpers/fadeaway/logic.js +35 -13
- package/programs/helpers/fadeaway/object.js +9 -10
- package/programs/helpers/index.js +1 -1
- package/programs/index.js +8 -8
- package/programs/line-on-globe/angled-line.js +91 -32
- package/programs/line-on-globe/circle-accurate-3d.js +82 -32
- package/programs/line-on-globe/circle-accurate-flat.js +108 -50
- package/programs/line-on-globe/circle-accurate.js +103 -33
- package/programs/line-on-globe/circle.js +97 -32
- package/programs/line-on-globe/degree-padding-around-circle-3d.js +83 -33
- package/programs/line-on-globe/lines-color-instanced-flat.js +79 -34
- package/programs/line-on-globe/linestrip.js +111 -45
- package/programs/line-on-globe/naive-accurate-flexible.js +120 -50
- package/programs/line-on-globe/to-the-surface.js +58 -29
- package/programs/line-on-globe/util.js +1 -1
- package/programs/picking/pickable-renderer.js +117 -33
- package/programs/point-on-globe/element-globe-surface-glow.js +78 -38
- package/programs/point-on-globe/element-point-glow.js +103 -35
- package/programs/point-on-globe/square-pixel-point.js +76 -27
- package/programs/programcache.js +13 -13
- package/programs/rings/distancering/circleflatprogram.js +63 -21
- package/programs/rings/distancering/circlepaddingfreeangleprogram.js +156 -145
- package/programs/rings/distancering/circlepaddysharedbuffer.js +121 -197
- package/programs/rings/distancering/index.js +4 -4
- package/programs/rings/distancering/paddyflatprogram.js +73 -20
- package/programs/rings/distancering/paddyflatprogram2d.js +75 -22
- package/programs/rings/distancering/paddyflatprogram3d.js +73 -20
- package/programs/rings/partial-ring/piece-of-pie.js +137 -35
- package/programs/totems/camerauniformblock.js +64 -51
- package/programs/totems/canvas-webglobe-info.js +48 -40
- package/programs/totems/gpu-selection-uniform-block.js +44 -40
- package/programs/totems/index.js +1 -1
- package/programs/two-d/pixel-padding-for-compass.js +90 -29
- package/programs/util.js +6 -7
- package/programs/vectorfields/index.js +1 -1
- package/programs/vectorfields/logics/drawrectangleparticles.js +70 -29
- package/programs/vectorfields/logics/index.js +3 -3
- package/programs/vectorfields/logics/pixelbased.js +91 -35
- package/programs/vectorfields/logics/ubo.js +31 -25
- package/programs/vectorfields/pingpongbuffermanager.js +30 -34
- package/rangerings/index.js +4 -4
- package/rangerings/plugin.js +202 -258
- package/rangerings/rangeringangletext.js +108 -120
- package/rangerings/ring-account.js +52 -69
- package/shaders/fragment-toy/firework.js +55 -1
- package/shaders/fragment-toy/singularity.js +55 -1
- package/timetracks/adaptors-line-strip.js +26 -37
- package/timetracks/adaptors.js +47 -61
- package/timetracks/index.js +4 -4
- package/timetracks/plugin-line-strip.js +63 -71
- package/timetracks/plugin.js +69 -77
- package/timetracks/program-line-strip.js +296 -103
- package/timetracks/program.js +419 -113
- package/timetracks/programpoint-line-strip.js +97 -44
- package/timetracks/programpoint.js +90 -44
- package/util/account/bufferoffsetmanager.js +72 -95
- package/util/account/index.js +1 -1
- package/util/account/single-attribute-buffer-management/buffer-manager.js +44 -44
- package/util/account/single-attribute-buffer-management/buffer-orchestrator.js +68 -94
- package/util/account/single-attribute-buffer-management/index.js +3 -3
- package/util/account/single-attribute-buffer-management/object-store.js +29 -30
- package/util/account/util.js +2 -4
- package/util/algorithms/search-binary.js +4 -4
- package/util/check/get.js +5 -5
- package/util/check/typecheck.js +13 -15
- package/util/geometry/index.js +9 -11
- package/util/gl-util/buffer/attribute-loader.js +8 -20
- package/util/gl-util/buffer/index.js +1 -1
- package/util/gl-util/draw-options/methods.js +8 -9
- package/util/gl-util/uniform-block/manager.js +67 -67
- package/util/heatwavedatamanager/datamanager.js +56 -116
- package/util/heatwavedatamanager/index.js +2 -2
- package/util/heatwavedatamanager/pointcoordinatesdatacalculator.js +37 -40
- package/util/heatwavedatamanager/pointcoordsmeta.js +9 -10
- package/util/index.js +6 -6
- package/util/interpolation/timetrack/index.js +1 -1
- package/util/interpolation/timetrack/timetrack-interpolator.js +27 -29
- package/util/interpolation/timetrack/web-worker-str.js +179 -1
- package/util/interpolation/timetrack/web-worker.js +4 -4
- package/util/jshelpers/data-filler.js +7 -7
- package/util/jshelpers/timefilters.js +7 -7
- package/util/picking/fence.js +7 -7
- package/util/picking/picker-displayer.js +46 -52
- package/util/programs/draw-texture-on-canvas.js +39 -21
- package/util/programs/shapesonglobe.js +104 -64
- package/util/programs/supersampletotextures.js +45 -39
- package/util/programs/texturetoglobe.js +98 -48
- package/util/shaderfunctions/geometrytransformations.js +322 -27
- package/util/shaderfunctions/nodata.js +7 -1
- package/util/shaderfunctions/noisefunctions.js +39 -9
- package/util/surface-line-data/arcs-to-cuts.js +20 -23
- package/util/webglobe/rasteroverlay.js +35 -37
- package/util/webglobjectbuilders.js +55 -60
- package/util/webglobjectbuilders1.js +48 -49
- package/waveparticles/adaptor.js +6 -7
- package/waveparticles/index.js +2 -2
- package/waveparticles/plugin.js +79 -84
- package/wind/imagetovectorfieldandmagnitude.js +15 -15
- package/wind/index.js +4 -4
- package/wind/plugin.js +453 -251
- package/wind/vectorfieldimage.js +5 -5
- package/write-text/attached-text-writer.js +46 -48
- package/write-text/context-text.js +51 -58
- package/write-text/context-text3.js +69 -74
package/bearing-line/plugin.js
CHANGED
|
@@ -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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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
|
-
|
|
48
|
-
|
|
49
|
-
|
|
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
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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
|
-
|
|
47
|
+
class BearingLinePlugin {
|
|
59
48
|
/**
|
|
60
49
|
* @param {*} id
|
|
61
50
|
* @param {Map<[key, ContextTextWriter3]>} textWritersMap
|
|
62
51
|
*/
|
|
63
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
94
|
+
}
|
|
95
|
+
setOpacity(opacity) {
|
|
108
96
|
(0, typecheck_1.constraintFloat)(opacity, 0, 1);
|
|
109
97
|
this._opacity = opacity;
|
|
110
|
-
this._textWritersMap.forEach(
|
|
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
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
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
|
-
|
|
135
|
-
|
|
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(
|
|
141
|
-
|
|
142
|
-
textWritersMap.forEach(
|
|
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(
|
|
147
|
-
|
|
129
|
+
itemKeys.forEach((key) => {
|
|
130
|
+
let item = this._memoryForText.get(key);
|
|
148
131
|
if (item === undefined)
|
|
149
132
|
return;
|
|
150
|
-
|
|
151
|
-
textWritersMap.forEach(
|
|
133
|
+
let _item = this._textDataPreAdaptor(item);
|
|
134
|
+
textWritersMap.forEach((writer) => writer.insertText(_item));
|
|
152
135
|
});
|
|
153
136
|
}
|
|
154
137
|
this.globe.DrawRender();
|
|
155
|
-
}
|
|
156
|
-
|
|
138
|
+
}
|
|
139
|
+
deleteBulk(keys) {
|
|
157
140
|
this.bufferOrchestrator.deleteBulk(keys, this.bufferManagersCompMap);
|
|
158
|
-
for (
|
|
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
|
-
|
|
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
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
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
|
-
|
|
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
|
-
|
|
200
|
-
|
|
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
|
-
|
|
185
|
+
_checkTextContextWriterInjectionMap(textContextWriterInjectionMap) {
|
|
208
186
|
if (!(textContextWriterInjectionMap instanceof Map))
|
|
209
187
|
throw new Error("textContextWriterInjectionMap is not an instance of Map");
|
|
210
|
-
textContextWriterInjectionMap.forEach(
|
|
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
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
if (
|
|
222
|
-
_item =
|
|
223
|
-
textWritersMap.forEach(
|
|
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
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
return
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
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
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
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
|
-
|
|
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
|
|
272
|
-
bearingAngle
|
|
273
|
-
radius
|
|
274
|
-
bigRadius
|
|
275
|
-
startAngle2d
|
|
276
|
-
tailAngle2d
|
|
277
|
-
startAngle3d
|
|
278
|
-
tailAngle3d
|
|
279
|
-
bearingLong
|
|
280
|
-
bearingLat
|
|
281
|
-
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
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
for (
|
|
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
|
-
|
|
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
|
-
|
|
282
|
+
const circleFlatEdgeCount = this.circleFlatEdgeCount;
|
|
307
283
|
{
|
|
308
284
|
// createBuffers
|
|
309
|
-
|
|
310
|
-
|
|
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
|
|
314
|
-
'adaptor':
|
|
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
|
|
318
|
-
'adaptor':
|
|
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
|
|
322
|
-
'adaptor':
|
|
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
|
|
326
|
-
'adaptor':
|
|
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
|
|
330
|
-
'adaptor':
|
|
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
|
|
334
|
-
'adaptor':
|
|
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
|
|
338
|
-
'adaptor':
|
|
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
|
|
342
|
-
'adaptor':
|
|
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
|
|
346
|
-
'adaptor':
|
|
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
|
|
350
|
-
'adaptor':
|
|
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
|
|
354
|
-
'adaptor':
|
|
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
|
|
358
|
-
'adaptor':
|
|
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
|
|
362
|
-
'adaptor':
|
|
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
|
|
366
|
-
'adaptor':
|
|
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
|
|
370
|
-
'adaptor':
|
|
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
|
|
374
|
-
'adaptor':
|
|
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
|
|
378
|
-
'adaptor':
|
|
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
|
|
382
|
-
'adaptor':
|
|
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
|
|
386
|
-
'adaptor':
|
|
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
|
|
391
|
-
'adaptor':
|
|
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
|
|
395
|
-
'adaptor':
|
|
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
|
|
399
|
-
'adaptor':
|
|
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
|
-
|
|
404
|
-
this.lineVao =
|
|
405
|
-
this.ringVao =
|
|
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(
|
|
414
|
-
this.bearingLineVAO =
|
|
415
|
-
].map(
|
|
416
|
-
this.circleVao =
|
|
417
|
-
].map(
|
|
418
|
-
this.circle3DVao =
|
|
419
|
-
].map(
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
|
|
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
|
-
|
|
425
|
-
|
|
426
|
-
this.lineProgram.draw(this.lineVao, { drawRange
|
|
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
|
|
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(
|
|
420
|
+
this._textWritersMap.forEach((writer) => writer.draw());
|
|
445
421
|
}
|
|
446
422
|
gl.enable(gl.DEPTH_TEST);
|
|
447
|
-
}
|
|
448
|
-
|
|
423
|
+
}
|
|
424
|
+
free() {
|
|
449
425
|
if (this.isFreed)
|
|
450
426
|
return;
|
|
451
|
-
this.bufferManagersCompMap.forEach(
|
|
452
|
-
var bufferManager = _a.bufferManager, adaptor = _a.adaptor;
|
|
427
|
+
this.bufferManagersCompMap.forEach(({ bufferManager, adaptor }) => {
|
|
453
428
|
bufferManager.free();
|
|
454
429
|
});
|
|
455
|
-
|
|
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
|
-
|
|
468
|
-
this._textWritersMap.forEach(
|
|
441
|
+
}
|
|
442
|
+
_deleteTexts(keys) {
|
|
443
|
+
this._textWritersMap.forEach((writer) => {
|
|
469
444
|
writer.deleteTextBulk(keys);
|
|
470
445
|
});
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
}());
|
|
446
|
+
}
|
|
447
|
+
}
|
|
474
448
|
exports.default = BearingLinePlugin;
|