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