@openglobus/og 0.12.1 → 0.13.0
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/README.md +0 -2
- package/dist/@openglobus/og.css +1 -0
- package/dist/@openglobus/og.esm.js +21 -0
- package/dist/@openglobus/og.esm.js.map +1 -0
- package/dist/@openglobus/og.umd.js +21 -0
- package/dist/@openglobus/og.umd.js.map +1 -0
- package/package.json +8 -8
- package/src/og/Extent.js +3 -3
- package/src/og/Globe.js +277 -275
- package/src/og/ImageCanvas.js +3 -3
- package/src/og/LonLat.js +9 -9
- package/src/og/QueueArray.js +2 -2
- package/src/og/Rectangle.js +5 -5
- package/src/og/bv/Box.js +1 -1
- package/src/og/bv/Sphere.js +2 -2
- package/src/og/camera/Camera.js +1 -1
- package/src/og/camera/PlanetCamera.js +649 -646
- package/src/og/control/LayerSwitcher.js +1 -1
- package/src/og/control/MouseNavigation.js +22 -13
- package/src/og/control/MouseWheelZoomControl.js +2 -2
- package/src/og/control/ScaleControl.js +1 -1
- package/src/og/control/TouchNavigation.js +319 -319
- package/src/og/control/ZoomControl.js +132 -132
- package/src/og/control/visibleExtent/Segment.js +12 -12
- package/src/og/ellipsoid/Ellipsoid.js +577 -567
- package/src/og/entity/BillboardHandler.js +878 -1051
- package/src/og/entity/Entity.js +1 -1
- package/src/og/entity/EntityCollection.js +847 -857
- package/src/og/entity/GeoObjectHandler.js +37 -18
- package/src/og/entity/LabelHandler.js +888 -1040
- package/src/og/entity/LabelWorker.js +0 -6
- package/src/og/entity/PointCloud.js +495 -495
- package/src/og/entity/Polyline.js +2218 -2222
- package/src/og/entity/RayHandler.js +1 -1
- package/src/og/layer/CanvasTiles.js +6 -3
- package/src/og/layer/GeoImage.js +1 -1
- package/src/og/layer/KML.js +24 -17
- package/src/og/layer/Layer.js +806 -751
- package/src/og/layer/Vector.js +997 -1010
- package/src/og/layer/XYZ.js +359 -357
- package/src/og/math/Line2.js +4 -4
- package/src/og/math/Quat.js +2 -2
- package/src/og/math/Ray.js +2 -2
- package/src/og/math/Vec2.js +524 -524
- package/src/og/math/Vec3.js +900 -900
- package/src/og/math/Vec4.js +261 -261
- package/src/og/math.js +397 -398
- package/src/og/quadTree/EntityCollectionNode.js +389 -387
- package/src/og/renderer/Renderer.js +14 -20
- package/src/og/renderer/RendererEvents.js +1034 -1045
- package/src/og/scene/Planet.js +26 -23
- package/src/og/scene/RenderNode.js +347 -354
- package/src/og/segment/Segment.js +3 -1
- package/src/og/segment/SegmentLonLat.js +1 -4
- package/src/og/shaders/billboard.js +220 -204
- package/src/og/shaders/drawnode.js +603 -603
- package/src/og/shaders/geoObject.js +15 -6
- package/src/og/shaders/label.js +596 -456
- package/src/og/shaders/polyline.js +365 -361
- package/src/og/terrain/MapboxTerrain.js +1 -1
- package/src/og/utils/FontAtlas.js +209 -200
- package/src/og/utils/GeoImageCreator.js +4 -5
- package/src/og/utils/TextureAtlas.js +4 -4
- package/src/og/utils/VectorTileCreator.js +414 -414
- package/src/og/utils/shared.js +1 -1
- package/src/og/webgl/Handler.js +28 -60
- package/src/og/webgl/Multisample.js +260 -260
- package/src/og/webgl/Program.js +411 -396
- package/types/Clock.d.ts +94 -0
- package/types/Deferred.d.ts +6 -0
- package/types/Events.d.ts +77 -0
- package/types/Extent.d.ts +166 -0
- package/types/Globe.d.ts +85 -0
- package/types/ImageCanvas.d.ts +123 -0
- package/types/Lock.d.ts +12 -0
- package/types/LonLat.d.ts +108 -0
- package/types/Popup.d.ts +42 -0
- package/types/QueueArray.d.ts +19 -0
- package/types/Rectangle.d.ts +80 -0
- package/types/Stack.d.ts +19 -0
- package/types/ajax.d.ts +24 -0
- package/types/arial.d.ts +48 -0
- package/types/astro/astro.d.ts +38 -0
- package/types/astro/earth.d.ts +7 -0
- package/types/astro/jd.d.ts +254 -0
- package/types/bv/Box.d.ts +30 -0
- package/types/bv/Sphere.d.ts +38 -0
- package/types/bv/index.d.ts +3 -0
- package/types/camera/Camera.d.ts +312 -0
- package/types/camera/Frustum.d.ts +133 -0
- package/types/camera/PlanetCamera.d.ts +219 -0
- package/types/camera/index.d.ts +3 -0
- package/types/cons.d.ts +40 -0
- package/types/control/CompassButton.d.ts +17 -0
- package/types/control/Control.d.ts +104 -0
- package/types/control/DebugInfo.d.ts +15 -0
- package/types/control/EarthCoordinates.d.ts +47 -0
- package/types/control/EarthNavigation.d.ts +43 -0
- package/types/control/GeoImageDragControl.d.ts +6 -0
- package/types/control/KeyboardNavigation.d.ts +21 -0
- package/types/control/LayerSwitcher.d.ts +21 -0
- package/types/control/Lighting.d.ts +16 -0
- package/types/control/MouseNavigation.d.ts +48 -0
- package/types/control/MouseWheelZoomControl.d.ts +45 -0
- package/types/control/ScaleControl.d.ts +22 -0
- package/types/control/ShowFps.d.ts +11 -0
- package/types/control/SimpleNavigation.d.ts +25 -0
- package/types/control/Sun.d.ts +50 -0
- package/types/control/ToggleWireframe.d.ts +12 -0
- package/types/control/TouchNavigation.d.ts +48 -0
- package/types/control/ZoomControl.d.ts +27 -0
- package/types/control/index.d.ts +18 -0
- package/types/ellipsoid/Ellipsoid.d.ts +153 -0
- package/types/ellipsoid/index.d.ts +3 -0
- package/types/ellipsoid/wgs84.d.ts +6 -0
- package/types/entity/BaseBillboard.d.ts +215 -0
- package/types/entity/Billboard.d.ts +94 -0
- package/types/entity/BillboardHandler.d.ts +75 -0
- package/types/entity/Entity.d.ts +348 -0
- package/types/entity/EntityCollection.d.ts +309 -0
- package/types/entity/GeoObject.d.ts +111 -0
- package/types/entity/GeoObjectHandler.d.ts +81 -0
- package/types/entity/Geometry.d.ts +74 -0
- package/types/entity/GeometryHandler.d.ts +76 -0
- package/types/entity/Label.d.ts +189 -0
- package/types/entity/LabelHandler.d.ts +29 -0
- package/types/entity/LabelWorker.d.ts +11 -0
- package/types/entity/PointCloud.d.ts +174 -0
- package/types/entity/PointCloudHandler.d.ts +38 -0
- package/types/entity/Polyline.d.ts +306 -0
- package/types/entity/PolylineHandler.d.ts +18 -0
- package/types/entity/Ray.d.ts +124 -0
- package/types/entity/RayHandler.d.ts +67 -0
- package/types/entity/ShapeHandler.d.ts +22 -0
- package/types/entity/Strip.d.ts +119 -0
- package/types/entity/StripHandler.d.ts +38 -0
- package/types/entity/index.d.ts +8 -0
- package/types/index.core.d.ts +65 -0
- package/types/index.d.ts +45 -0
- package/types/index.webgl.d.ts +7 -0
- package/types/input/KeyboardHandler.d.ts +10 -0
- package/types/input/MouseHandler.d.ts +5 -0
- package/types/input/TouchHandler.d.ts +5 -0
- package/types/input/input.d.ts +34 -0
- package/types/layer/BaseGeoImage.d.ts +94 -0
- package/types/layer/CanvasTiles.d.ts +67 -0
- package/types/layer/GeoImage.d.ts +52 -0
- package/types/layer/GeoTexture2d.d.ts +8 -0
- package/types/layer/GeoVideo.d.ts +55 -0
- package/types/layer/KML.d.ts +68 -0
- package/types/layer/Layer.d.ts +315 -0
- package/types/layer/Material.d.ts +45 -0
- package/types/layer/Vector.d.ts +201 -0
- package/types/layer/WMS.d.ts +61 -0
- package/types/layer/XYZ.d.ts +119 -0
- package/types/layer/index.d.ts +10 -0
- package/types/light/LightSource.d.ts +178 -0
- package/types/math/Line2.d.ts +11 -0
- package/types/math/Line3.d.ts +10 -0
- package/types/math/Mat3.d.ts +65 -0
- package/types/math/Mat4.d.ts +176 -0
- package/types/math/Plane.d.ts +18 -0
- package/types/math/Quat.d.ts +379 -0
- package/types/math/Ray.d.ts +82 -0
- package/types/math/Vec2.d.ts +309 -0
- package/types/math/Vec3.d.ts +467 -0
- package/types/math/Vec4.d.ts +162 -0
- package/types/math/coder.d.ts +43 -0
- package/types/math/index.d.ts +11 -0
- package/types/math.d.ts +261 -0
- package/types/mercator.d.ts +92 -0
- package/types/proj/EPSG3857.d.ts +6 -0
- package/types/proj/EPSG4326.d.ts +6 -0
- package/types/proj/Proj.d.ts +42 -0
- package/types/quadTree/EntityCollectionNode.d.ts +34 -0
- package/types/quadTree/Node.d.ts +60 -0
- package/types/quadTree/quadTree.d.ts +40 -0
- package/types/renderer/Renderer.d.ts +290 -0
- package/types/renderer/RendererEvents.d.ts +237 -0
- package/types/res/images.d.ts +3 -0
- package/types/scene/Axes.d.ts +11 -0
- package/types/scene/BaseNode.d.ts +60 -0
- package/types/scene/Planet.d.ts +576 -0
- package/types/scene/RenderNode.d.ts +142 -0
- package/types/scene/SkyBox.d.ts +10 -0
- package/types/scene/index.d.ts +4 -0
- package/types/segment/Segment.d.ts +275 -0
- package/types/segment/SegmentLonLat.d.ts +17 -0
- package/types/segment/Slice.d.ts +10 -0
- package/types/segment/segmentHelper.d.ts +13 -0
- package/types/shaders/billboard.d.ts +3 -0
- package/types/shaders/depth.d.ts +2 -0
- package/types/shaders/drawnode.d.ts +7 -0
- package/types/shaders/geoObject.d.ts +3 -0
- package/types/shaders/label.d.ts +4 -0
- package/types/shaders/pointCloud.d.ts +2 -0
- package/types/shaders/polyline.d.ts +3 -0
- package/types/shaders/ray.d.ts +2 -0
- package/types/shaders/screenFrame.d.ts +2 -0
- package/types/shaders/shape.d.ts +4 -0
- package/types/shaders/skybox.d.ts +2 -0
- package/types/shaders/toneMapping.d.ts +2 -0
- package/types/shapes/BaseShape.d.ts +250 -0
- package/types/shapes/Sphere.d.ts +41 -0
- package/types/terrain/BilTerrain.d.ts +7 -0
- package/types/terrain/EmptyTerrain.d.ts +73 -0
- package/types/terrain/Geoid.d.ts +26 -0
- package/types/terrain/GlobusTerrain.d.ts +116 -0
- package/types/terrain/MapboxTerrain.d.ts +7 -0
- package/types/terrain/index.d.ts +5 -0
- package/types/utils/FontAtlas.d.ts +16 -0
- package/types/utils/GeoImageCreator.d.ts +30 -0
- package/types/utils/ImagesCacheManager.d.ts +10 -0
- package/types/utils/Loader.d.ts +25 -0
- package/types/utils/NormalMapCreator.d.ts +39 -0
- package/types/utils/PlainSegmentWorker.d.ts +10 -0
- package/types/utils/TerrainWorker.d.ts +9 -0
- package/types/utils/TextureAtlas.d.ts +111 -0
- package/types/utils/VectorTileCreator.d.ts +16 -0
- package/types/utils/colorTable.d.ts +143 -0
- package/types/utils/earcut.d.ts +6 -0
- package/types/utils/shared.d.ts +231 -0
- package/types/webgl/Framebuffer.d.ts +135 -0
- package/types/webgl/Handler.d.ts +392 -0
- package/types/webgl/Multisample.d.ts +89 -0
- package/types/webgl/Program.d.ts +163 -0
- package/types/webgl/ProgramController.d.ts +89 -0
- package/types/webgl/callbacks.d.ts +1 -0
- package/types/webgl/index.d.ts +6 -0
- package/types/webgl/types.d.ts +2 -0
|
@@ -14,7 +14,8 @@ const VERTEX_BUFFER = 0,
|
|
|
14
14
|
DIRECTION_BUFFER = 5,
|
|
15
15
|
PITCH_ROLL_BUFFER = 6,
|
|
16
16
|
SIZE_BUFFER = 7,
|
|
17
|
-
PICKINGCOLOR_BUFFER = 8
|
|
17
|
+
PICKINGCOLOR_BUFFER = 8,
|
|
18
|
+
VISIBLE_BUFFER = 9;
|
|
18
19
|
|
|
19
20
|
const setParametersToArray = (arr = [], index = 0, length, itemSize, ...params) => {
|
|
20
21
|
const currIndex = index * length;
|
|
@@ -48,6 +49,7 @@ class GeoObjectHandler {
|
|
|
48
49
|
this._normalsArr = [[]];
|
|
49
50
|
this._indicesArr = [[]];
|
|
50
51
|
this._pickingColorArr = [[]];
|
|
52
|
+
this._vehicleVisibleArr = [[]];
|
|
51
53
|
|
|
52
54
|
this._pitchRollBuffer = [];
|
|
53
55
|
this._sizeBuffer = [];
|
|
@@ -59,6 +61,7 @@ class GeoObjectHandler {
|
|
|
59
61
|
this._normalsBuffer = [];
|
|
60
62
|
this._indicesBuffer = [];
|
|
61
63
|
this._pickingColorBuffer = [];
|
|
64
|
+
this._vehicleVisibleBuffer = [];
|
|
62
65
|
|
|
63
66
|
this.__staticId = GeoObjectHandler._staticCounter++;
|
|
64
67
|
this._buffersUpdateCallbacks = [];
|
|
@@ -71,6 +74,7 @@ class GeoObjectHandler {
|
|
|
71
74
|
this._buffersUpdateCallbacks[VERTEX_BUFFER] = this.createVertexBuffer;
|
|
72
75
|
this._buffersUpdateCallbacks[SIZE_BUFFER] = this.createSizeBuffer;
|
|
73
76
|
this._buffersUpdateCallbacks[PITCH_ROLL_BUFFER] = this.createPitchRollBuffer;
|
|
77
|
+
this._buffersUpdateCallbacks[VISIBLE_BUFFER] = this.createVisibleBuffer;
|
|
74
78
|
|
|
75
79
|
this._changedBuffers = new Array(this._buffersUpdateCallbacks.length);
|
|
76
80
|
|
|
@@ -100,6 +104,15 @@ class GeoObjectHandler {
|
|
|
100
104
|
}
|
|
101
105
|
}
|
|
102
106
|
|
|
107
|
+
createVisibleBuffer() {
|
|
108
|
+
const h = this._renderer.handler;
|
|
109
|
+
for (let i = 0, len = this._vehicleVisibleArr.length; i < len; i++) {
|
|
110
|
+
this._vehicleVisibleBuffer && h.gl.deleteBuffer(this._vehicleVisibleBuffer[i]);
|
|
111
|
+
this._vehicleVisibleArr[i] = makeArrayTyped(this._vehicleVisibleArr[i]);
|
|
112
|
+
this._vehicleVisibleBuffer[i] = h.createArrayBuffer(this._vehicleVisibleArr[i], 1, this._vehicleVisibleArr[i].length);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
103
116
|
createSizeBuffer() {
|
|
104
117
|
const h = this._renderer.handler;
|
|
105
118
|
for (let i = 0, len = this._sizeArr.length; i < len; i++) {
|
|
@@ -225,7 +238,7 @@ class GeoObjectHandler {
|
|
|
225
238
|
* mark object by index for recalc indices array
|
|
226
239
|
*/
|
|
227
240
|
geoObject._tagIndex = tagData.iCounts - 1;
|
|
228
|
-
|
|
241
|
+
|
|
229
242
|
if (!this._vertexArr[ti] || this._vertexArr[ti].length !== geoObject._vertices.length) {
|
|
230
243
|
|
|
231
244
|
this._vertexArr[ti] = concatArrays(
|
|
@@ -250,12 +263,11 @@ class GeoObjectHandler {
|
|
|
250
263
|
)
|
|
251
264
|
);
|
|
252
265
|
}
|
|
253
|
-
|
|
254
|
-
this.
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
}
|
|
266
|
+
this._vehicleVisibleArr[ti] = concatArrays(
|
|
267
|
+
this._vehicleVisibleArr[ti],
|
|
268
|
+
setParametersToArray([], 0, 1, 1, geoObject._visibility ? 1 : 0)
|
|
269
|
+
);
|
|
270
|
+
|
|
259
271
|
let x = geoObject._positionHigh.x,
|
|
260
272
|
y = geoObject._positionHigh.y,
|
|
261
273
|
z = geoObject._positionHigh.z,
|
|
@@ -366,6 +378,9 @@ class GeoObjectHandler {
|
|
|
366
378
|
gl.bindBuffer(gl.ARRAY_BUFFER, this._rgbaBuffer[ti]);
|
|
367
379
|
gl.vertexAttribPointer(a.aColor, this._rgbaBuffer[ti].itemSize, gl.FLOAT, false, 0, 0);
|
|
368
380
|
|
|
381
|
+
gl.bindBuffer(gl.ARRAY_BUFFER, this._vehicleVisibleBuffer[ti]);
|
|
382
|
+
gl.vertexAttribPointer(a.aDispose, this._vehicleVisibleBuffer[ti].itemSize, gl.FLOAT, false, 0, 0);
|
|
383
|
+
|
|
369
384
|
gl.bindBuffer(gl.ARRAY_BUFFER, this._positionHighBuffer[ti]);
|
|
370
385
|
gl.vertexAttribPointer(
|
|
371
386
|
a.aPositionHigh,
|
|
@@ -389,7 +404,7 @@ class GeoObjectHandler {
|
|
|
389
404
|
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this._indicesBuffer[ti]);
|
|
390
405
|
|
|
391
406
|
if (tagData.iCounts) {
|
|
392
|
-
|
|
407
|
+
p.drawElementsInstanced(
|
|
393
408
|
gl.TRIANGLES,
|
|
394
409
|
this._indicesBuffer[ti].numItems / tagData.iCounts,
|
|
395
410
|
gl.UNSIGNED_SHORT,
|
|
@@ -503,10 +518,13 @@ class GeoObjectHandler {
|
|
|
503
518
|
0
|
|
504
519
|
);
|
|
505
520
|
|
|
521
|
+
gl.bindBuffer(gl.ARRAY_BUFFER, this._vehicleVisibleBuffer[ti]);
|
|
522
|
+
gl.vertexAttribPointer(a.aDispose, this._vehicleVisibleBuffer[ti].itemSize, gl.FLOAT, false, 0, 0);
|
|
523
|
+
|
|
506
524
|
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this._indicesBuffer[ti]);
|
|
507
525
|
|
|
508
526
|
if (tagData.iCounts) {
|
|
509
|
-
|
|
527
|
+
p.drawElementsInstanced(
|
|
510
528
|
gl.TRIANGLES,
|
|
511
529
|
this._indicesBuffer[ti].numItems / tagData.iCounts,
|
|
512
530
|
gl.UNSIGNED_SHORT,
|
|
@@ -627,14 +645,12 @@ class GeoObjectHandler {
|
|
|
627
645
|
}
|
|
628
646
|
|
|
629
647
|
setVisibility(index, visibility) {
|
|
630
|
-
const ob = this.getObjectByIndex(index)
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
}
|
|
637
|
-
this.setVertexArr(index, vArr);
|
|
648
|
+
const ob = this.getObjectByIndex(index),
|
|
649
|
+
ti = this.getTagIndexByObjectIndex(index);
|
|
650
|
+
|
|
651
|
+
setParametersToArray(this._vehicleVisibleArr[ti], ob._tagIndex, 1, 1, visibility ? 1 : 0);
|
|
652
|
+
|
|
653
|
+
this._changedBuffers[VISIBLE_BUFFER] = true;
|
|
638
654
|
}
|
|
639
655
|
|
|
640
656
|
setPositionArr(index, positionHigh, positionLow) {
|
|
@@ -753,6 +769,7 @@ class GeoObjectHandler {
|
|
|
753
769
|
this._normalsArr = null;
|
|
754
770
|
this._indicesArr = null;
|
|
755
771
|
this._pickingColorArr = null;
|
|
772
|
+
this._vehicleVisibleArr = null;
|
|
756
773
|
|
|
757
774
|
this._pitchRollArr = [new Float32Array()];
|
|
758
775
|
this._sizeArr = [new Float32Array()];
|
|
@@ -764,6 +781,7 @@ class GeoObjectHandler {
|
|
|
764
781
|
this._normalsArr = [new Float32Array()];
|
|
765
782
|
this._indicesArr = [new Uint16Array()];
|
|
766
783
|
this._pickingColorArr = [new Float32Array()];
|
|
784
|
+
this._vehicleVisibleArr = [new Int8Array()];
|
|
767
785
|
|
|
768
786
|
this._removeGeoObjects();
|
|
769
787
|
this._deleteBuffers();
|
|
@@ -880,6 +898,7 @@ class GeoObjectHandler {
|
|
|
880
898
|
this._pitchRollArr[ti] = spliceArray(this._pitchRollArr[ti], i, 2);
|
|
881
899
|
i = geoObject._tagIndex;
|
|
882
900
|
this._sizeArr[ti] = spliceArray(this._sizeArr[ti], i, 1);
|
|
901
|
+
this._vehicleVisibleArr[ti] = spliceArray(this._vehicleVisibleArr[ti], i, 1);
|
|
883
902
|
|
|
884
903
|
this._removeIndices(geoObject);
|
|
885
904
|
|