@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
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
// TODO: REMOVE THIS
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
const webglobe_1 = require("@pirireis/webglobe");
|
|
5
|
+
const object = {
|
|
6
6
|
"displayName": "CompassRose",
|
|
7
7
|
"layerType": 3,
|
|
8
8
|
"wkbGeom": null,
|
|
@@ -167,29 +167,28 @@ var object = {
|
|
|
167
167
|
"flashGeo": false
|
|
168
168
|
}
|
|
169
169
|
};
|
|
170
|
-
|
|
170
|
+
const setIconSize = (object, size) => {
|
|
171
171
|
object.style.icon.sizeX = size;
|
|
172
172
|
object.style.icon.sizeY = size;
|
|
173
173
|
object.style.icon.radius = Math.ceil(size / 2);
|
|
174
174
|
};
|
|
175
|
-
|
|
175
|
+
const setMapName = (object, mapName) => {
|
|
176
176
|
object.style.icon.mapName = mapName;
|
|
177
177
|
};
|
|
178
|
-
|
|
178
|
+
const setIconName = (object, name) => {
|
|
179
179
|
object.style.icon.name = name;
|
|
180
180
|
};
|
|
181
|
-
|
|
181
|
+
const setData = (object, data) => {
|
|
182
182
|
object.data = data;
|
|
183
183
|
};
|
|
184
|
-
|
|
184
|
+
const addSingleImageIconMap = symbolSet => url => {
|
|
185
185
|
webglobe_1.GlobeManager.api_AddIconMap(symbolSet, url, null);
|
|
186
|
-
};
|
|
187
|
-
|
|
186
|
+
};
|
|
187
|
+
const setFIDKey = (object, key) => {
|
|
188
188
|
object.style.fidKey = key;
|
|
189
189
|
};
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
var _b = _a.size, size = _b === void 0 ? 100 : _b, _c = _a.primaryKey, primaryKey = _c === void 0 ? "__key__" : _c, _d = _a.symbolSet, symbolSet = _d === void 0 ? "compassRose" : _d, _e = _a.iconSet, iconSet = _e === void 0 ? null : _e, _f = _a.imageURL, imageURL = _f === void 0 ? null : _f, _g = _a.data, data = _g === void 0 ? null : _g;
|
|
190
|
+
class CompassRose {
|
|
191
|
+
constructor(id, globe, { size = 100, primaryKey = "__key__", symbolSet = "compassRose", iconSet = null, imageURL = null, data = null }) {
|
|
193
192
|
this.id = id;
|
|
194
193
|
this.globe = globe;
|
|
195
194
|
this._idCollector = new Set();
|
|
@@ -207,35 +206,35 @@ var CompassRose = /** @class */ (function () {
|
|
|
207
206
|
if (data)
|
|
208
207
|
this.setControlledData(data);
|
|
209
208
|
}
|
|
210
|
-
|
|
211
|
-
|
|
209
|
+
setIconSize(size) {
|
|
210
|
+
const { object, globe } = this;
|
|
212
211
|
setIconSize(object, size);
|
|
213
212
|
globe.ObjectArray.StyleChanged(object);
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
|
|
213
|
+
}
|
|
214
|
+
setMapName(mapName) {
|
|
215
|
+
const { object, globe } = this;
|
|
217
216
|
setMapName(object, mapName);
|
|
218
217
|
globe.ObjectArray.StyleChanged(object);
|
|
219
|
-
}
|
|
220
|
-
|
|
218
|
+
}
|
|
219
|
+
flush() {
|
|
221
220
|
this._idCollector.clear();
|
|
222
221
|
this._setData({ coords: [], coordsZ: [], attribs: [] });
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
|
|
222
|
+
}
|
|
223
|
+
insert(data) {
|
|
224
|
+
const updateBucket = {
|
|
226
225
|
coords: [],
|
|
227
226
|
coordsZ: [],
|
|
228
227
|
attribs: [],
|
|
229
228
|
};
|
|
230
|
-
|
|
229
|
+
const addBucket = {
|
|
231
230
|
coords: [],
|
|
232
231
|
coordsZ: [],
|
|
233
232
|
attribs: [],
|
|
234
233
|
};
|
|
235
|
-
|
|
236
|
-
for (
|
|
237
|
-
|
|
238
|
-
|
|
234
|
+
let bucket;
|
|
235
|
+
for (let i = 0; i < data.attribs.length; i++) {
|
|
236
|
+
const currentPayload = data.attribs[i];
|
|
237
|
+
const id = currentPayload[this.primaryKey];
|
|
239
238
|
if (this._idCollector.has(id)) {
|
|
240
239
|
bucket = updateBucket;
|
|
241
240
|
}
|
|
@@ -253,48 +252,45 @@ var CompassRose = /** @class */ (function () {
|
|
|
253
252
|
if (updateBucket.coords.length > 0) {
|
|
254
253
|
this._updateData(updateBucket, webglobe_1.CSObjectArrayUpdateTypes.UPDATE, { attribs: false, icon: false, label: false, heading: false });
|
|
255
254
|
}
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
var deleteBucket = {
|
|
255
|
+
}
|
|
256
|
+
delete(dataIDs) {
|
|
257
|
+
const deleteBucket = {
|
|
260
258
|
coords: [],
|
|
261
259
|
coordsZ: [],
|
|
262
260
|
attribs: [],
|
|
263
261
|
};
|
|
264
|
-
dataIDs.forEach(
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
_this._idCollector.delete(id);
|
|
262
|
+
dataIDs.forEach(id => {
|
|
263
|
+
if (this._idCollector.has(id)) {
|
|
264
|
+
this._idCollector.delete(id);
|
|
268
265
|
deleteBucket.coords.push(0, 0);
|
|
269
266
|
deleteBucket.coordsZ.push(0);
|
|
270
267
|
// also can be written as follows
|
|
271
|
-
deleteBucket.attribs.push(
|
|
272
|
-
|
|
273
|
-
|
|
268
|
+
deleteBucket.attribs.push({
|
|
269
|
+
[this.primaryKey]: id,
|
|
270
|
+
});
|
|
274
271
|
}
|
|
275
272
|
});
|
|
276
273
|
if (deleteBucket.coords.length > 0) {
|
|
277
274
|
this._updateData(deleteBucket, webglobe_1.CSObjectArrayUpdateTypes.DELETE);
|
|
278
275
|
}
|
|
279
|
-
}
|
|
280
|
-
|
|
276
|
+
}
|
|
277
|
+
removeFromMap() {
|
|
281
278
|
this.globe.ObjectArray.Delete(this.id);
|
|
282
|
-
}
|
|
279
|
+
}
|
|
283
280
|
// private
|
|
284
|
-
|
|
285
|
-
|
|
281
|
+
_setData(data) {
|
|
282
|
+
const { globe, object } = this;
|
|
286
283
|
globe.ObjectArray.SetData(object, [data]);
|
|
287
|
-
}
|
|
284
|
+
}
|
|
288
285
|
/**
|
|
289
286
|
* @param {PointObjectArray} data
|
|
290
287
|
* @param {CSObjectArrayUpdateTypes} operation
|
|
291
288
|
* @param {CanChangeOptions} [canChange]
|
|
292
289
|
*/
|
|
293
|
-
|
|
294
|
-
|
|
290
|
+
_updateData(data, operation, canChange) {
|
|
291
|
+
const { globe, object } = this;
|
|
295
292
|
globe.ObjectArray.UpdateData(object, operation, [data], canChange);
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
}());
|
|
293
|
+
}
|
|
294
|
+
}
|
|
299
295
|
exports.default = CompassRose;
|
|
300
|
-
|
|
296
|
+
const getID = (data, primaryKey) => data.attribs[primaryKey];
|
package/compassrose/index.js
CHANGED
|
@@ -4,5 +4,5 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.CompassRose = void 0;
|
|
7
|
-
|
|
7
|
+
const compassrose_1 = __importDefault(require("./compassrose"));
|
|
8
8
|
exports.CompassRose = compassrose_1.default;
|
package/heatwave/index.js
CHANGED
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.IsobarRasterToVector = exports.HeatWavePlugin = void 0;
|
|
7
|
-
|
|
7
|
+
const heatwaveglobeshell_1 = __importDefault(require("./plugins/heatwaveglobeshell"));
|
|
8
8
|
exports.HeatWavePlugin = heatwaveglobeshell_1.default;
|
|
9
|
-
|
|
9
|
+
const plugin_1 = require("./isobar/plugin");
|
|
10
10
|
Object.defineProperty(exports, "IsobarRasterToVector", { enumerable: true, get: function () { return plugin_1.IsobarRasterToVector; } });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
3
|
+
const webglobe_1 = require("@pirireis/webglobe");
|
|
4
4
|
/**
|
|
5
5
|
* @typedef {Object} IconPayload
|
|
6
6
|
* @property {string} app6DCode
|
|
@@ -22,13 +22,12 @@ var webglobe_1 = require("@pirireis/webglobe");
|
|
|
22
22
|
* @property {number[]} coordsZ [z1, z2, ....]
|
|
23
23
|
* @property {PointPayload[]} attribs
|
|
24
24
|
*/
|
|
25
|
-
|
|
25
|
+
class ObjectArrayLabels {
|
|
26
26
|
/**
|
|
27
27
|
* @param {number | string} id
|
|
28
28
|
* @param {CSGlobe} globe
|
|
29
29
|
*/
|
|
30
|
-
|
|
31
|
-
if (labelStyle === void 0) { labelStyle = null; }
|
|
30
|
+
constructor(id, globe, labelStyle = null) {
|
|
32
31
|
this.id = id;
|
|
33
32
|
this.setGlobe(globe);
|
|
34
33
|
this.data = [
|
|
@@ -49,7 +48,7 @@ var ObjectArrayLabels = /** @class */ (function () {
|
|
|
49
48
|
this._idCollector = new Set();
|
|
50
49
|
this._setStyle(labelStyle);
|
|
51
50
|
}
|
|
52
|
-
|
|
51
|
+
_setStyle(labelStyle) {
|
|
53
52
|
this.style = this.globe.ObjectArray.GetDefaultStyle();
|
|
54
53
|
if (labelStyle) {
|
|
55
54
|
this.style.labels[0] = labelStyle;
|
|
@@ -68,53 +67,52 @@ var ObjectArrayLabels = /** @class */ (function () {
|
|
|
68
67
|
this.style.labels[0].text = "${value}";
|
|
69
68
|
this.style.fidKey = this.primaryKey;
|
|
70
69
|
this.style.iconType = webglobe_1.CSIconTypes.NOICON; // milIcon ekleyebilmek için icon tipi MAP olmalı
|
|
71
|
-
}
|
|
70
|
+
}
|
|
72
71
|
/**
|
|
73
72
|
* @param {CSGlobe} [globe]
|
|
74
73
|
*/
|
|
75
|
-
|
|
74
|
+
setGlobe(globe) {
|
|
76
75
|
if (!globe)
|
|
77
76
|
return;
|
|
78
77
|
this.globe = globe;
|
|
79
|
-
}
|
|
80
|
-
|
|
78
|
+
}
|
|
79
|
+
addToMap() {
|
|
81
80
|
this.globe.ObjectArray.Add(this);
|
|
82
|
-
}
|
|
83
|
-
|
|
81
|
+
}
|
|
82
|
+
removeFromMap() {
|
|
84
83
|
this.flush();
|
|
85
84
|
this.globe.ObjectArray.Delete(this.id);
|
|
86
|
-
}
|
|
85
|
+
}
|
|
87
86
|
/**
|
|
88
87
|
* Haritaya kullanılacak veriyi verir. Her çağrıldığında tüm hesaplamalar yeniden yapılır
|
|
89
88
|
* @param {PointObjectArray} data
|
|
90
89
|
*/
|
|
91
|
-
|
|
90
|
+
setData(data) {
|
|
92
91
|
this.globe.ObjectArray.SetData(this, [data]);
|
|
93
|
-
}
|
|
92
|
+
}
|
|
94
93
|
/**
|
|
95
94
|
* @param {PointObjectArray} data
|
|
96
95
|
* @param {CSObjectArrayUpdateTypes} operation
|
|
97
96
|
* @param {CanChangeOptions} [canChange]
|
|
98
97
|
*/
|
|
99
|
-
|
|
98
|
+
updateData(data, operation, canChange) {
|
|
100
99
|
this.globe.ObjectArray.UpdateData(this, operation, [data], canChange);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
|
|
100
|
+
}
|
|
101
|
+
flush() {
|
|
102
|
+
const deleteBucket = {
|
|
104
103
|
coords: [],
|
|
105
104
|
coordsZ: [],
|
|
106
105
|
attribs: [],
|
|
107
106
|
};
|
|
108
107
|
this.setData(deleteBucket);
|
|
109
108
|
this._idCollector = new Set();
|
|
110
|
-
}
|
|
109
|
+
}
|
|
111
110
|
/**
|
|
112
111
|
* Haritaya kullanılacak veriyi verir. Her çağrıldığında tüm hesaplamalar yeniden yapılmaz, ancak ön hesaplama maliyeti vardır
|
|
113
112
|
* @param {PointObjectArray} data
|
|
114
113
|
*/
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
var paritalData = {
|
|
114
|
+
setControlledData(data) {
|
|
115
|
+
const paritalData = {
|
|
118
116
|
add: {
|
|
119
117
|
coords: [],
|
|
120
118
|
coordsZ: [],
|
|
@@ -142,19 +140,19 @@ var ObjectArrayLabels = /** @class */ (function () {
|
|
|
142
140
|
if (this._idCollector.size === 0) {
|
|
143
141
|
this.setData(data);
|
|
144
142
|
// Eklenen id'ler set edildi
|
|
145
|
-
for (
|
|
146
|
-
|
|
147
|
-
|
|
143
|
+
for (let i = 0; i < data.attribs.length; i++) {
|
|
144
|
+
const currentPayload = data.attribs[i];
|
|
145
|
+
const id = currentPayload[this.primaryKey];
|
|
148
146
|
this._idCollector.add(id);
|
|
149
147
|
}
|
|
150
148
|
return;
|
|
151
149
|
}
|
|
152
150
|
/** @type {Set<string>} */
|
|
153
|
-
|
|
154
|
-
for (
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
151
|
+
const dataIds = new Set();
|
|
152
|
+
for (let i = 0; i < data.attribs.length; i++) {
|
|
153
|
+
const currentPayload = data.attribs[i];
|
|
154
|
+
const id = currentPayload[this.primaryKey];
|
|
155
|
+
let bucket = paritalData.add;
|
|
158
156
|
dataIds.add(id);
|
|
159
157
|
if (this._idCollector.has(id)) {
|
|
160
158
|
bucket = paritalData.update;
|
|
@@ -167,16 +165,15 @@ var ObjectArrayLabels = /** @class */ (function () {
|
|
|
167
165
|
bucket.attribs.push(currentPayload);
|
|
168
166
|
}
|
|
169
167
|
// Artık varolmayan elemenları sil
|
|
170
|
-
|
|
171
|
-
this._idCollector.forEach(
|
|
172
|
-
var _a;
|
|
168
|
+
const deleteBucket = paritalData.delete;
|
|
169
|
+
this._idCollector.forEach((id) => {
|
|
173
170
|
if (!dataIds.has(id)) {
|
|
174
|
-
|
|
171
|
+
this._idCollector.delete(id);
|
|
175
172
|
deleteBucket.coords.push(0, 0);
|
|
176
173
|
deleteBucket.coordsZ.push(0);
|
|
177
|
-
deleteBucket.attribs.push(
|
|
178
|
-
|
|
179
|
-
|
|
174
|
+
deleteBucket.attribs.push({
|
|
175
|
+
[this.primaryKey]: id,
|
|
176
|
+
});
|
|
180
177
|
}
|
|
181
178
|
});
|
|
182
179
|
if (paritalData.add.coords.length > 0) {
|
|
@@ -188,19 +185,18 @@ var ObjectArrayLabels = /** @class */ (function () {
|
|
|
188
185
|
if (paritalData.delete.coords.length > 0) {
|
|
189
186
|
this.updateData(paritalData.delete, webglobe_1.CSObjectArrayUpdateTypes.DELETE);
|
|
190
187
|
}
|
|
191
|
-
}
|
|
192
|
-
|
|
188
|
+
}
|
|
189
|
+
setPrimarykey(key) {
|
|
193
190
|
this.primaryKey = key;
|
|
194
|
-
}
|
|
195
|
-
|
|
191
|
+
}
|
|
192
|
+
setSymbolSet(symbolSet) {
|
|
196
193
|
this.symbolSet = symbolSet;
|
|
197
|
-
}
|
|
198
|
-
|
|
194
|
+
}
|
|
195
|
+
getLabelStyle() {
|
|
199
196
|
return this.style.labels[0];
|
|
200
|
-
}
|
|
201
|
-
|
|
197
|
+
}
|
|
198
|
+
setLabelStyle(style) {
|
|
202
199
|
this.style.labels[0] = style;
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
}());
|
|
200
|
+
}
|
|
201
|
+
}
|
|
206
202
|
exports.default = ObjectArrayLabels;
|