@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
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
var webglobe_1 = require("@pirireis/webglobe");
|
|
4
|
+
var enum_1 = require("./enum");
|
|
5
|
+
var fidKey = "__fid__";
|
|
6
|
+
var object = {
|
|
7
7
|
"displayName": "RangeRingAngleText",
|
|
8
8
|
"layerType": 3,
|
|
9
9
|
"wkbGeom": null,
|
|
@@ -16,14 +16,15 @@ const object = {
|
|
|
16
16
|
"MVTXYZName": "hd_seyp",
|
|
17
17
|
"rasterize": false,
|
|
18
18
|
};
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
var RangeRingAngleText = /** @class */ (function () {
|
|
20
|
+
function RangeRingAngleText(globe, id, _a) {
|
|
21
|
+
var _b = _a === void 0 ? {} : _a, _c = _b.style, style = _c === void 0 ? null : _c, _d = _b.hideAll, hideAll = _d === void 0 ? false : _d, _e = _b.opacity, opacity = _e === void 0 ? 1 : _e;
|
|
21
22
|
this.globe = globe;
|
|
22
23
|
this.ObjectArray = globe.ObjectArray;
|
|
23
24
|
this.id = id;
|
|
24
25
|
this._hideAll = hideAll;
|
|
25
26
|
this._opacity = opacity;
|
|
26
|
-
|
|
27
|
+
var style_ = style !== null ? style : this.getDefaultStyle();
|
|
27
28
|
this.object = Object.assign({}, object, { style: style_, id: this.id });
|
|
28
29
|
this._centerCollection = new Map();
|
|
29
30
|
// new inner MAP params
|
|
@@ -31,11 +32,11 @@ class RangeRingAngleText {
|
|
|
31
32
|
// textHide
|
|
32
33
|
this.ObjectArray.Add(this.object);
|
|
33
34
|
}
|
|
34
|
-
getDefaultStyle() {
|
|
35
|
-
|
|
35
|
+
RangeRingAngleText.prototype.getDefaultStyle = function () {
|
|
36
|
+
var style = this.ObjectArray.GetDefaultStyle();
|
|
36
37
|
style.fidKey = fidKey;
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
var labels = style.labels;
|
|
39
|
+
var label = labels[0];
|
|
39
40
|
label.offset = { x: 0, y: 0 };
|
|
40
41
|
label.fontFamily.hollowWidth = 1;
|
|
41
42
|
label.vAlignment = 2;
|
|
@@ -44,24 +45,24 @@ class RangeRingAngleText {
|
|
|
44
45
|
// eslint-disable-next-line
|
|
45
46
|
label.text = "`${aci}`";
|
|
46
47
|
return style;
|
|
47
|
-
}
|
|
48
|
-
setStyle(style) {
|
|
48
|
+
};
|
|
49
|
+
RangeRingAngleText.prototype.setStyle = function (style) {
|
|
49
50
|
if (style === null)
|
|
50
51
|
return;
|
|
51
52
|
style.opacity = this._opacity;
|
|
52
53
|
this.object.style = style;
|
|
53
54
|
this.ObjectArray.StyleChanged(this.object);
|
|
54
|
-
}
|
|
55
|
-
setOpacity(opacity) {
|
|
55
|
+
};
|
|
56
|
+
RangeRingAngleText.prototype.setOpacity = function (opacity) {
|
|
56
57
|
this._opacity = opacity;
|
|
57
|
-
|
|
58
|
+
var style = this.object.style;
|
|
58
59
|
style.opacity = opacity;
|
|
59
60
|
this.ObjectArray.StyleChanged(this.object);
|
|
60
|
-
}
|
|
61
|
-
free() {
|
|
61
|
+
};
|
|
62
|
+
RangeRingAngleText.prototype.free = function () {
|
|
62
63
|
this.flush();
|
|
63
64
|
this.ObjectArray.Delete(this.id);
|
|
64
|
-
}
|
|
65
|
+
};
|
|
65
66
|
/**
|
|
66
67
|
* @param {Array<{centerID,stepAngle, long,lat, rings>} ringDatas
|
|
67
68
|
* centerID: string | ObjectArray fidKey de kullanilir
|
|
@@ -72,25 +73,29 @@ class RangeRingAngleText {
|
|
|
72
73
|
* eger bir centerID zaten var ise: Onceki noktalar dusurulur ve yeniden eklenir
|
|
73
74
|
*
|
|
74
75
|
* */
|
|
75
|
-
insertBulk(ringDatas) {
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
RangeRingAngleText.prototype.insertBulk = function (ringDatas) {
|
|
77
|
+
var _hideAll = this._hideAll;
|
|
78
|
+
var addBucket = {
|
|
78
79
|
coords: [],
|
|
79
80
|
coordsZ: [],
|
|
80
81
|
attribs: []
|
|
81
82
|
};
|
|
82
|
-
|
|
83
|
+
var deleteBucket = {
|
|
83
84
|
coords: [],
|
|
84
85
|
coordsZ: [],
|
|
85
86
|
attribs: []
|
|
86
87
|
};
|
|
87
|
-
for (
|
|
88
|
+
for (var _i = 0, ringDatas_1 = ringDatas; _i < ringDatas_1.length; _i++) {
|
|
89
|
+
var _a = ringDatas_1[_i], centerID = _a.centerID, long = _a.long, lat = _a.lat, rings = _a.rings, stepAngle = _a.stepAngle, _b = _a.hide, hide = _b === void 0 ? enum_1.ENUM_HIDE.SHOW : _b, _c = _a.textHide, textHide = _c === void 0 ? enum_1.ENUM_TEXT_HIDE.SHOW : _c;
|
|
88
90
|
if (this._centerCollection.has(centerID)) {
|
|
89
91
|
this._fillDeleteBucket(centerID, deleteBucket);
|
|
90
92
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
93
|
+
var maxRadius = rings.reduce(function (acc, _a) {
|
|
94
|
+
var radius = _a.radius;
|
|
95
|
+
return Math.max(acc, radius);
|
|
96
|
+
}, 0);
|
|
97
|
+
var textHide_ = _hideAll ? enum_1.ENUM_TEXT_HIDE.HIDE : textHide;
|
|
98
|
+
var show = hide !== enum_1.ENUM_HIDE.HIDE && textHide_ === enum_1.ENUM_TEXT_HIDE.SHOW;
|
|
94
99
|
if (show)
|
|
95
100
|
this._appendCircle(long, lat, maxRadius, stepAngle, centerID, addBucket);
|
|
96
101
|
this._centerCollection.set(centerID, new Map([
|
|
@@ -108,29 +113,30 @@ class RangeRingAngleText {
|
|
|
108
113
|
this._updateData(deleteBucket, webglobe_1.CSObjectArrayUpdateTypes.DELETE);
|
|
109
114
|
if (addBucket.coords.length > 0)
|
|
110
115
|
this._updateData(addBucket, webglobe_1.CSObjectArrayUpdateTypes.ADD);
|
|
111
|
-
}
|
|
116
|
+
};
|
|
112
117
|
/**
|
|
113
118
|
* @param {Array<{centerID, x,y}>} centerDatas
|
|
114
119
|
* aci ve radiuslarin tutulmasi gereklidir.
|
|
115
120
|
* */
|
|
116
|
-
updateCentersXY(centerDatas) {
|
|
117
|
-
|
|
121
|
+
RangeRingAngleText.prototype.updateCentersXY = function (centerDatas) {
|
|
122
|
+
var updateBucket = {
|
|
118
123
|
coords: [],
|
|
119
124
|
coordsZ: [],
|
|
120
125
|
attribs: []
|
|
121
126
|
};
|
|
122
|
-
for (
|
|
127
|
+
for (var _i = 0, centerDatas_1 = centerDatas; _i < centerDatas_1.length; _i++) {
|
|
128
|
+
var _a = centerDatas_1[_i], centerID = _a.centerID, long = _a.long, lat = _a.lat;
|
|
123
129
|
if (this._centerCollection.has(centerID)) {
|
|
124
|
-
|
|
130
|
+
var centerMap = this._centerCollection.get(centerID);
|
|
125
131
|
centerMap.set("long", long);
|
|
126
132
|
centerMap.set("lat", lat);
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
133
|
+
var hide = centerMap.get("hide");
|
|
134
|
+
var textHide = centerMap.get("textHide");
|
|
135
|
+
var isHidden = hide === enum_1.ENUM_HIDE.HIDE || textHide === enum_1.ENUM_TEXT_HIDE.HIDE;
|
|
130
136
|
if (isHidden)
|
|
131
137
|
continue;
|
|
132
|
-
|
|
133
|
-
|
|
138
|
+
var maxRadius = centerMap.get("maxRadius");
|
|
139
|
+
var stepAngle = centerMap.get("stepAngle");
|
|
134
140
|
// long, lat, radius, step, centerID, outBucket
|
|
135
141
|
this._appendCircle(long, lat, maxRadius, stepAngle, centerID, updateBucket);
|
|
136
142
|
}
|
|
@@ -141,35 +147,36 @@ class RangeRingAngleText {
|
|
|
141
147
|
if (updateBucket.coords.length > 0) {
|
|
142
148
|
this._updateData(updateBucket, webglobe_1.CSObjectArrayUpdateTypes.UPDATE);
|
|
143
149
|
}
|
|
144
|
-
}
|
|
150
|
+
};
|
|
145
151
|
/**
|
|
146
152
|
*
|
|
147
153
|
* @param {Array<{centerID:string, hide: bool}>} centerHides
|
|
148
154
|
*/
|
|
149
|
-
updateCentersHide(centerHides) {
|
|
155
|
+
RangeRingAngleText.prototype.updateCentersHide = function (centerHides) {
|
|
150
156
|
if (this._hideAll) {
|
|
151
157
|
console.warn("Tum mesafe halkasi yazilari gizli durum. Islem yapilamaz");
|
|
152
158
|
return;
|
|
153
159
|
}
|
|
154
160
|
;
|
|
155
|
-
|
|
161
|
+
var addBucket = {
|
|
156
162
|
coords: [],
|
|
157
163
|
coordsZ: [],
|
|
158
164
|
attribs: []
|
|
159
165
|
};
|
|
160
|
-
|
|
166
|
+
var deleteBucket = {
|
|
161
167
|
coords: [],
|
|
162
168
|
coordsZ: [],
|
|
163
169
|
attribs: []
|
|
164
170
|
};
|
|
165
|
-
for (
|
|
171
|
+
for (var _i = 0, centerHides_1 = centerHides; _i < centerHides_1.length; _i++) {
|
|
172
|
+
var _a = centerHides_1[_i], centerID = _a.centerID, _b = _a.textHide, textHide = _b === void 0 ? null : _b, _c = _a.hide, hide = _c === void 0 ? null : _c;
|
|
166
173
|
if (!this._centerCollection.has(centerID))
|
|
167
174
|
continue;
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
175
|
+
var centerMap = this._centerCollection.get(centerID);
|
|
176
|
+
var isHidden = centerMap.get("hide") === enum_1.ENUM_HIDE.HIDE || centerMap.get("textHide") === enum_1.ENUM_TEXT_HIDE.HIDE;
|
|
177
|
+
var _hide = hide !== null ? hide : centerMap.get("hide");
|
|
178
|
+
var _textHide = textHide !== null ? textHide : centerMap.get("textHide");
|
|
179
|
+
var show = (_hide !== enum_1.ENUM_HIDE.HIDE) && (_textHide === enum_1.ENUM_TEXT_HIDE.SHOW);
|
|
173
180
|
if (!isHidden && !show) {
|
|
174
181
|
this._fillDeleteBucket(centerID, deleteBucket);
|
|
175
182
|
}
|
|
@@ -185,59 +192,62 @@ class RangeRingAngleText {
|
|
|
185
192
|
this._updateData(deleteBucket, webglobe_1.CSObjectArrayUpdateTypes.DELETE);
|
|
186
193
|
if (addBucket.coords.length > 0)
|
|
187
194
|
this._updateData(addBucket, webglobe_1.CSObjectArrayUpdateTypes.ADD);
|
|
188
|
-
}
|
|
195
|
+
};
|
|
189
196
|
// TODO : Implement this
|
|
190
|
-
removeCenters(centerIDs) {
|
|
191
|
-
|
|
197
|
+
RangeRingAngleText.prototype.removeCenters = function (centerIDs) {
|
|
198
|
+
var deleteBucket = {
|
|
192
199
|
coords: [],
|
|
193
200
|
coordsZ: [],
|
|
194
201
|
attribs: []
|
|
195
202
|
};
|
|
196
|
-
for (
|
|
203
|
+
for (var _i = 0, centerIDs_1 = centerIDs; _i < centerIDs_1.length; _i++) {
|
|
204
|
+
var centerID = centerIDs_1[_i];
|
|
197
205
|
if (this._centerCollection.has(centerID)) {
|
|
198
206
|
this._fillDeleteBucket(centerID, deleteBucket);
|
|
199
207
|
this._centerCollection.delete(centerID);
|
|
200
208
|
}
|
|
201
209
|
}
|
|
202
210
|
this._updateData(deleteBucket, webglobe_1.CSObjectArrayUpdateTypes.DELETE);
|
|
203
|
-
}
|
|
204
|
-
hideAll() {
|
|
211
|
+
};
|
|
212
|
+
RangeRingAngleText.prototype.hideAll = function () {
|
|
205
213
|
this._hideAll = true;
|
|
206
|
-
|
|
214
|
+
var deleteBucket = {
|
|
207
215
|
coords: [],
|
|
208
216
|
coordsZ: [],
|
|
209
217
|
attribs: []
|
|
210
218
|
};
|
|
211
|
-
for (
|
|
212
|
-
|
|
213
|
-
|
|
219
|
+
for (var _i = 0, _a = this._centerCollection; _i < _a.length; _i++) {
|
|
220
|
+
var _b = _a[_i], centerID = _b[0], centerMap = _b[1];
|
|
221
|
+
var hide = centerMap.get("hide");
|
|
222
|
+
var hideText = centerMap.get("textHide");
|
|
214
223
|
centerMap.set("textHide", enum_1.ENUM_TEXT_HIDE.HIDE);
|
|
215
224
|
if (hide === enum_1.ENUM_HIDE.HIDE)
|
|
216
225
|
continue;
|
|
217
|
-
|
|
226
|
+
var isHidden = hideText === enum_1.ENUM_TEXT_HIDE.HIDE;
|
|
218
227
|
if (!isHidden)
|
|
219
228
|
this._fillDeleteBucket(centerID, deleteBucket);
|
|
220
229
|
}
|
|
221
230
|
this._updateData(deleteBucket, webglobe_1.CSObjectArrayUpdateTypes.DELETE);
|
|
222
|
-
}
|
|
223
|
-
showAll() {
|
|
231
|
+
};
|
|
232
|
+
RangeRingAngleText.prototype.showAll = function () {
|
|
224
233
|
this._hideAll = false;
|
|
225
|
-
|
|
234
|
+
var addBucket = {
|
|
226
235
|
coords: [],
|
|
227
236
|
coordsZ: [],
|
|
228
237
|
attribs: []
|
|
229
238
|
};
|
|
230
|
-
for (
|
|
231
|
-
|
|
239
|
+
for (var _i = 0, _a = this._centerCollection; _i < _a.length; _i++) {
|
|
240
|
+
var _b = _a[_i], centerID = _b[0], centerMap = _b[1];
|
|
241
|
+
var hide = centerMap.get("hide");
|
|
232
242
|
if (hide === enum_1.ENUM_HIDE.HIDE)
|
|
233
243
|
continue;
|
|
234
|
-
|
|
235
|
-
|
|
244
|
+
var hideText = centerMap.get("textHide");
|
|
245
|
+
var isHidden = hideText === enum_1.ENUM_TEXT_HIDE.HIDE;
|
|
236
246
|
if (isHidden) {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
247
|
+
var long = centerMap.get("long");
|
|
248
|
+
var lat = centerMap.get("lat");
|
|
249
|
+
var maxRadius = centerMap.get("maxRadius");
|
|
250
|
+
var stepAngle = centerMap.get("stepAngle");
|
|
241
251
|
this._appendCircle(long, lat, maxRadius, stepAngle, centerID, addBucket);
|
|
242
252
|
centerMap.set("hide", enum_1.ENUM_HIDE.SHOW);
|
|
243
253
|
centerMap.set("textHide", enum_1.ENUM_TEXT_HIDE.SHOW);
|
|
@@ -245,29 +255,29 @@ class RangeRingAngleText {
|
|
|
245
255
|
}
|
|
246
256
|
if (addBucket.coords.length)
|
|
247
257
|
this._updateData(addBucket, webglobe_1.CSObjectArrayUpdateTypes.ADD);
|
|
248
|
-
}
|
|
249
|
-
flush() {
|
|
250
|
-
|
|
258
|
+
};
|
|
259
|
+
RangeRingAngleText.prototype.flush = function () {
|
|
260
|
+
var data = {
|
|
251
261
|
coords: [],
|
|
252
262
|
coordsZ: [],
|
|
253
263
|
attribs: []
|
|
254
264
|
};
|
|
255
265
|
this._idCollector = new Set();
|
|
256
266
|
this.ObjectArray.SetData(this.object, data);
|
|
257
|
-
}
|
|
267
|
+
};
|
|
258
268
|
//------------------PRIVATE METHODS------------------//
|
|
259
|
-
_appendCircle(long, lat, radius, step, centerID, outBucket) {
|
|
269
|
+
RangeRingAngleText.prototype._appendCircle = function (long, lat, radius, step, centerID, outBucket) {
|
|
260
270
|
this.__realCoords(long, lat, radius, step, centerID, outBucket);
|
|
261
|
-
}
|
|
262
|
-
__realCoords(longCenter, latCenter, radius, stepAngle, centerID, outBucket) {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
for (
|
|
267
|
-
|
|
271
|
+
};
|
|
272
|
+
RangeRingAngleText.prototype.__realCoords = function (longCenter, latCenter, radius, stepAngle, centerID, outBucket) {
|
|
273
|
+
var globe = this.globe;
|
|
274
|
+
var coords = outBucket.coords, coordsZ = outBucket.coordsZ, attribs = outBucket.attribs;
|
|
275
|
+
var i = 1;
|
|
276
|
+
for (var aci = stepAngle; aci < 360; aci += stepAngle) {
|
|
277
|
+
var _a = globe.Math.FindPointByPolar(longCenter, latCenter, radius, aci), long = _a.long, lat = _a.lat;
|
|
268
278
|
coords.push(long, lat);
|
|
269
279
|
coordsZ.push(0);
|
|
270
|
-
|
|
280
|
+
var key = this._key(centerID, i);
|
|
271
281
|
i++;
|
|
272
282
|
// fidkey is the key
|
|
273
283
|
attribs.push({
|
|
@@ -276,54 +286,56 @@ class RangeRingAngleText {
|
|
|
276
286
|
});
|
|
277
287
|
}
|
|
278
288
|
{ // add 0
|
|
279
|
-
|
|
289
|
+
var _b = globe.Math.FindPointByPolar(longCenter, latCenter, radius, 0), long = _b.long, lat = _b.lat;
|
|
280
290
|
coords.push(long, lat);
|
|
281
291
|
coordsZ.push(0);
|
|
282
|
-
|
|
292
|
+
var key = this._key(centerID, 0);
|
|
283
293
|
// fidkey is the key
|
|
284
294
|
attribs.push({
|
|
285
295
|
"__fid__": key,
|
|
286
296
|
"aci": "K"
|
|
287
297
|
});
|
|
288
298
|
}
|
|
289
|
-
}
|
|
290
|
-
_updateData(bucket, mode) {
|
|
299
|
+
};
|
|
300
|
+
RangeRingAngleText.prototype._updateData = function (bucket, mode) {
|
|
291
301
|
this.ObjectArray.UpdateData(this.object, mode, [bucket], { attribs: false, icon: false, text: false });
|
|
292
|
-
}
|
|
293
|
-
_key(centerRingKey, limpIndex) {
|
|
294
|
-
return
|
|
295
|
-
}
|
|
296
|
-
_fillDeleteBucket(centerID, outDeleteBucket) {
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
for (
|
|
302
|
-
|
|
302
|
+
};
|
|
303
|
+
RangeRingAngleText.prototype._key = function (centerRingKey, limpIndex) {
|
|
304
|
+
return "".concat(centerRingKey, "_").concat(limpIndex);
|
|
305
|
+
};
|
|
306
|
+
RangeRingAngleText.prototype._fillDeleteBucket = function (centerID, outDeleteBucket) {
|
|
307
|
+
var centerMap = this._centerCollection.get(centerID);
|
|
308
|
+
var stepAngle = centerMap.get("stepAngle");
|
|
309
|
+
var coords = outDeleteBucket.coords, coordsZ = outDeleteBucket.coordsZ, attribs = outDeleteBucket.attribs;
|
|
310
|
+
var i = 0;
|
|
311
|
+
for (var aci = 0; aci < 360; aci += stepAngle) {
|
|
312
|
+
var key = this._key(centerID, i++);
|
|
303
313
|
coords.push(0, 0);
|
|
304
314
|
coordsZ.push(0);
|
|
305
315
|
attribs.push({
|
|
306
316
|
"__fid__": key,
|
|
307
317
|
});
|
|
308
318
|
}
|
|
309
|
-
}
|
|
310
|
-
_updateAll() {
|
|
311
|
-
|
|
319
|
+
};
|
|
320
|
+
RangeRingAngleText.prototype._updateAll = function () {
|
|
321
|
+
var updateBucket = {
|
|
312
322
|
coords: [],
|
|
313
323
|
coordsZ: [],
|
|
314
324
|
attribs: []
|
|
315
325
|
};
|
|
316
|
-
for (
|
|
317
|
-
|
|
326
|
+
for (var _i = 0, _a = this._centerCollection; _i < _a.length; _i++) {
|
|
327
|
+
var _b = _a[_i], centerID = _b[0], centerMap = _b[1];
|
|
328
|
+
var isHidden = centerMap.get("hide") === enum_1.ENUM_HIDE.HIDE || centerMap.get("textHide") === enum_1.ENUM_TEXT_HIDE.HIDE;
|
|
318
329
|
if (isHidden)
|
|
319
330
|
continue;
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
331
|
+
var long = centerMap.get("long");
|
|
332
|
+
var lat = centerMap.get("lat");
|
|
333
|
+
var maxRadius = centerMap.get("maxRadius");
|
|
334
|
+
var stepAngle = centerMap.get("stepAngle");
|
|
324
335
|
this._appendCircle(long, lat, maxRadius, stepAngle, centerID, updateBucket);
|
|
325
336
|
}
|
|
326
337
|
this._updateData(updateBucket, webglobe_1.CSObjectArrayUpdateTypes.UPDATE);
|
|
327
|
-
}
|
|
328
|
-
|
|
338
|
+
};
|
|
339
|
+
return RangeRingAngleText;
|
|
340
|
+
}());
|
|
329
341
|
exports.default = RangeRingAngleText;
|
|
@@ -3,48 +3,58 @@
|
|
|
3
3
|
* This account interacts with buffer orchestrations and buffers.
|
|
4
4
|
* For rings, coordinates and paddings
|
|
5
5
|
*/
|
|
6
|
+
var __assign = (this && this.__assign) || function () {
|
|
7
|
+
__assign = Object.assign || function(t) {
|
|
8
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
9
|
+
s = arguments[i];
|
|
10
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
11
|
+
t[p] = s[p];
|
|
12
|
+
}
|
|
13
|
+
return t;
|
|
14
|
+
};
|
|
15
|
+
return __assign.apply(this, arguments);
|
|
16
|
+
};
|
|
6
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
18
|
exports.ringBigPaddingKeyMethod = exports.ringKeyMethod = exports.RingAccount = void 0;
|
|
8
|
-
|
|
19
|
+
var ringKeyMethod = function (centerID, ringID) { return "".concat(centerID, "_").concat(ringID); };
|
|
9
20
|
exports.ringKeyMethod = ringKeyMethod;
|
|
10
|
-
|
|
21
|
+
var ringBigPaddingKeyMethod = function (centerID, ringID, angle) { return "".concat(centerID, "_").concat(ringID, "_").concat(angle); };
|
|
11
22
|
exports.ringBigPaddingKeyMethod = ringBigPaddingKeyMethod;
|
|
12
23
|
/**
|
|
13
24
|
* @typedef { Array < { ringID, radius, paddingRange } >} rings
|
|
14
25
|
* @param { Array < centerID: string, x: number, y: number, stepAngle: number, rgba: [4 numbers], rings: rings } items
|
|
15
26
|
*/
|
|
16
|
-
|
|
17
|
-
|
|
27
|
+
var RingAccount = /** @class */ (function () {
|
|
28
|
+
function RingAccount() {
|
|
18
29
|
this._centralMap = new Map(); // key, new MAP(x,y, rings:[])
|
|
19
30
|
}
|
|
20
31
|
/**
|
|
21
32
|
* @typedef {centerID, long,lat, rings} centralItem
|
|
22
33
|
*
|
|
23
34
|
*/
|
|
24
|
-
insertCenter(centralItem) {
|
|
25
|
-
centralItem.rings.forEach((ring)
|
|
35
|
+
RingAccount.prototype.insertCenter = function (centralItem) {
|
|
36
|
+
centralItem.rings.forEach(function (ring) {
|
|
26
37
|
ring.__identity__ = ringKeyMethod(centralItem.centerID, ring.ringID);
|
|
27
38
|
});
|
|
28
|
-
this._centralMap.set(centralItem.centerID, {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
getCenter(centerID) {
|
|
39
|
+
this._centralMap.set(centralItem.centerID, __assign(__assign({}, centralItem), { rgba: new Float32Array(centralItem.rgba) }));
|
|
40
|
+
};
|
|
41
|
+
RingAccount.prototype.getCenter = function (centerID) {
|
|
34
42
|
return this._centralMap.get(centerID);
|
|
35
|
-
}
|
|
36
|
-
updateCentersCoordinate(items) {
|
|
37
|
-
for (
|
|
38
|
-
|
|
43
|
+
};
|
|
44
|
+
RingAccount.prototype.updateCentersCoordinate = function (items) {
|
|
45
|
+
for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {
|
|
46
|
+
var _a = items_1[_i], centerID = _a.centerID, long = _a.long, lat = _a.lat;
|
|
47
|
+
var center = this.getCenter(centerID);
|
|
39
48
|
if (center) {
|
|
40
49
|
center.long = long;
|
|
41
50
|
center.lat = lat;
|
|
42
51
|
}
|
|
43
52
|
}
|
|
44
|
-
}
|
|
45
|
-
updateCentersHide(items) {
|
|
46
|
-
for (
|
|
47
|
-
|
|
53
|
+
};
|
|
54
|
+
RingAccount.prototype.updateCentersHide = function (items) {
|
|
55
|
+
for (var _i = 0, items_2 = items; _i < items_2.length; _i++) {
|
|
56
|
+
var _a = items_2[_i], centerID = _a.centerID, _b = _a.hide, hide = _b === void 0 ? null : _b, _c = _a.textHide, textHide = _c === void 0 ? null : _c;
|
|
57
|
+
var center = this.getCenter(centerID);
|
|
48
58
|
if (center) {
|
|
49
59
|
if (hide !== null)
|
|
50
60
|
center.hide = hide;
|
|
@@ -52,66 +62,73 @@ class RingAccount {
|
|
|
52
62
|
center.textHide = textHide;
|
|
53
63
|
}
|
|
54
64
|
}
|
|
55
|
-
}
|
|
65
|
+
};
|
|
56
66
|
/**
|
|
57
67
|
*
|
|
58
68
|
* @param {Array<{centerID, rgba}>} centersColor
|
|
59
69
|
*/
|
|
60
|
-
updateCentersColor(centersColor) {
|
|
61
|
-
for (
|
|
62
|
-
|
|
70
|
+
RingAccount.prototype.updateCentersColor = function (centersColor) {
|
|
71
|
+
for (var _i = 0, centersColor_1 = centersColor; _i < centersColor_1.length; _i++) {
|
|
72
|
+
var _a = centersColor_1[_i], centerID = _a.centerID, rgba = _a.rgba;
|
|
73
|
+
var center = this.getCenter(centerID);
|
|
63
74
|
if (center) {
|
|
64
75
|
center.rgba = new Float32Array(rgba);
|
|
65
76
|
}
|
|
66
77
|
}
|
|
67
|
-
}
|
|
78
|
+
};
|
|
68
79
|
// to delete rings and one degree paddings from buffer
|
|
69
|
-
ringKeys(centerID) {
|
|
70
|
-
|
|
71
|
-
|
|
80
|
+
RingAccount.prototype.ringKeys = function (centerID) {
|
|
81
|
+
var result = [];
|
|
82
|
+
var center = this.getCenter(centerID);
|
|
72
83
|
if (center) {
|
|
73
|
-
|
|
74
|
-
for (
|
|
84
|
+
var rings = center.rings;
|
|
85
|
+
for (var _i = 0, rings_1 = rings; _i < rings_1.length; _i++) {
|
|
86
|
+
var __identity__ = rings_1[_i].__identity__;
|
|
75
87
|
result.push(__identity__);
|
|
76
88
|
}
|
|
77
89
|
}
|
|
78
90
|
return result;
|
|
79
|
-
}
|
|
91
|
+
};
|
|
80
92
|
// To delete big paddings from buffer
|
|
81
|
-
ringBigPaddingKeys(centerID) {
|
|
82
|
-
|
|
83
|
-
|
|
93
|
+
RingAccount.prototype.ringBigPaddingKeys = function (centerID) {
|
|
94
|
+
var result = [];
|
|
95
|
+
var center = this.getCenter(centerID);
|
|
84
96
|
if (!center)
|
|
85
97
|
return [];
|
|
86
|
-
|
|
87
|
-
for (
|
|
88
|
-
|
|
98
|
+
var rings = center.rings, stepAngle = center.stepAngle;
|
|
99
|
+
for (var _i = 0, rings_2 = rings; _i < rings_2.length; _i++) {
|
|
100
|
+
var ringID = rings_2[_i].ringID;
|
|
101
|
+
var angle = 0;
|
|
89
102
|
while (angle < 360) {
|
|
90
103
|
result.push(ringBigPaddingKeyMethod(centerID, ringID, angle));
|
|
91
104
|
angle += stepAngle;
|
|
92
105
|
}
|
|
93
106
|
}
|
|
94
107
|
return result;
|
|
95
|
-
}
|
|
96
|
-
removeCenters(centerIDs) {
|
|
97
|
-
|
|
98
|
-
centerIDs.forEach((centerID)
|
|
108
|
+
};
|
|
109
|
+
RingAccount.prototype.removeCenters = function (centerIDs) {
|
|
110
|
+
var centralMap = this._centralMap;
|
|
111
|
+
centerIDs.forEach(function (centerID) {
|
|
99
112
|
centralMap.delete(centerID);
|
|
100
113
|
});
|
|
101
|
-
}
|
|
102
|
-
textUpdate(centerID, textWriterObjs, dataPreAdaptor
|
|
103
|
-
|
|
114
|
+
};
|
|
115
|
+
RingAccount.prototype.textUpdate = function (centerID, textWriterObjs, dataPreAdaptor) {
|
|
116
|
+
if (dataPreAdaptor === void 0) { dataPreAdaptor = null; }
|
|
117
|
+
var center = this.getCenter(centerID);
|
|
104
118
|
if (!center)
|
|
105
119
|
return;
|
|
106
|
-
|
|
107
|
-
textWriterObjs.forEach((writer)
|
|
120
|
+
var data = (dataPreAdaptor) ? dataPreAdaptor(center) : center;
|
|
121
|
+
textWriterObjs.forEach(function (writer) {
|
|
108
122
|
writer.insertTextBulk(data.rings, data);
|
|
109
123
|
});
|
|
110
|
-
}
|
|
111
|
-
updateAllText(textWriterObjs, dataPreAdaptor
|
|
112
|
-
|
|
113
|
-
|
|
124
|
+
};
|
|
125
|
+
RingAccount.prototype.updateAllText = function (textWriterObjs, dataPreAdaptor) {
|
|
126
|
+
var _this = this;
|
|
127
|
+
if (dataPreAdaptor === void 0) { dataPreAdaptor = null; }
|
|
128
|
+
this._centralMap.forEach(function (center) {
|
|
129
|
+
_this.textUpdate(center.centerID, textWriterObjs, dataPreAdaptor);
|
|
114
130
|
});
|
|
115
|
-
}
|
|
116
|
-
|
|
131
|
+
};
|
|
132
|
+
return RingAccount;
|
|
133
|
+
}());
|
|
117
134
|
exports.RingAccount = RingAccount;
|