@cesium/engine 25.0.0 → 26.1.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/Build/Workers/{chunk-3VDDRF2E.js → chunk-2EFYUSUY.js} +14 -14
- package/Build/Workers/{chunk-4GF4MVPY.js → chunk-5LSOO2KD.js} +7 -7
- package/Build/Workers/{chunk-I3A6DXYZ.js → chunk-6HK6IXK2.js} +4 -4
- package/Build/Workers/{chunk-CZ23Y3RM.js → chunk-6YR6JBMY.js} +2 -2
- package/Build/Workers/{chunk-J7KQEKPK.js → chunk-76FDC45O.js} +13 -13
- package/Build/Workers/{chunk-ZCCIIBZT.js → chunk-7D2HZKH7.js} +6 -6
- package/Build/Workers/{chunk-HSVQATK2.js → chunk-7KVKHY7O.js} +6 -6
- package/Build/Workers/{chunk-ITD2IN7N.js → chunk-A3O6EDBK.js} +2 -2
- package/Build/Workers/{chunk-ND3NTTOF.js → chunk-A6X24AZI.js} +6 -6
- package/Build/Workers/{chunk-DH26SNAB.js → chunk-AHWAZRBV.js} +6 -2
- package/Build/Workers/{chunk-3XY3MVPG.js → chunk-B4CQSLZJ.js} +4 -4
- package/Build/Workers/{chunk-DYT5NR6P.js → chunk-C7JQVRLM.js} +3 -3
- package/Build/Workers/{chunk-WC57YYBN.js → chunk-CDJDJ5LK.js} +2 -2
- package/Build/Workers/{chunk-VQKLRBIK.js → chunk-CEEZE3YZ.js} +7 -7
- package/Build/Workers/{chunk-4QQXGTCE.js → chunk-CLCTQVVL.js} +8 -8
- package/Build/Workers/{chunk-WNN5D4W3.js → chunk-DBD5WWG2.js} +10 -10
- package/Build/Workers/{chunk-URUCCIPS.js → chunk-DIGUUD6G.js} +6 -6
- package/Build/Workers/{chunk-BTX2NL3P.js → chunk-E7NZJOK7.js} +196 -22
- package/Build/Workers/{chunk-3LSD7OOA.js → chunk-EHTS2YPT.js} +16 -16
- package/Build/Workers/{chunk-35H3UBIO.js → chunk-ENNFMWDW.js} +11 -11
- package/Build/Workers/{chunk-GL7DNVUS.js → chunk-FCP2QY4G.js} +5 -5
- package/Build/Workers/{chunk-3RFFPH4M.js → chunk-FDK4K5IA.js} +1 -1
- package/Build/Workers/{chunk-WTQGE7Q6.js → chunk-FGQFQHN5.js} +17 -17
- package/Build/Workers/{chunk-WUBKZFF6.js → chunk-GSWMAFTE.js} +9 -9
- package/Build/Workers/{chunk-3TKLDHV3.js → chunk-GXWQZBAI.js} +2 -2
- package/Build/Workers/{chunk-A7A433MD.js → chunk-HHV3MCGV.js} +5 -5
- package/Build/Workers/{chunk-A7ZBMVFS.js → chunk-HS6AD4P2.js} +14 -14
- package/Build/Workers/{chunk-QXNQQYPV.js → chunk-IGAZBTFZ.js} +8 -8
- package/Build/Workers/{chunk-ZAPOS52G.js → chunk-ILME5BXA.js} +8 -8
- package/Build/Workers/{chunk-4MTRQFJP.js → chunk-JKXV6PG5.js} +1 -1
- package/Build/Workers/{chunk-FVLVVOBQ.js → chunk-JW6OZT4R.js} +10 -10
- package/Build/Workers/{chunk-EZARA5FJ.js → chunk-KGXSYGBG.js} +13 -13
- package/Build/Workers/{chunk-J3OFS2RD.js → chunk-LD64RPYV.js} +12 -12
- package/Build/Workers/{chunk-AWFZHD2B.js → chunk-LGNDTZVX.js} +4 -4
- package/Build/Workers/{chunk-AEAVLYPS.js → chunk-LNSQVXFH.js} +2 -2
- package/Build/Workers/{chunk-TA777BGS.js → chunk-N7CCOFLX.js} +1 -1
- package/Build/Workers/{chunk-7LSFAEWF.js → chunk-NIWITKQK.js} +10 -10
- package/Build/Workers/{chunk-4XXHJI6Y.js → chunk-OBEU25PI.js} +17 -17
- package/Build/Workers/{chunk-5T6QQAJW.js → chunk-QVLAFFJY.js} +1 -1
- package/Build/Workers/{chunk-J647NNZW.js → chunk-R4FPNAZ2.js} +6 -6
- package/Build/Workers/{chunk-HVMG6AG4.js → chunk-RG4F5R57.js} +9 -9
- package/Build/Workers/{chunk-ST2UWDUU.js → chunk-SF6K72D7.js} +5 -5
- package/Build/Workers/{chunk-H2A4USJR.js → chunk-SGRGNDOD.js} +10 -10
- package/Build/Workers/{chunk-DFEI5MAV.js → chunk-SM2CDCYF.js} +7 -7
- package/Build/Workers/{chunk-TAI4HLII.js → chunk-SS5ABQGY.js} +4 -4
- package/Build/Workers/{chunk-ACFFCHHZ.js → chunk-T5QBPLE3.js} +11 -11
- package/Build/Workers/{chunk-BVAIWR7O.js → chunk-TVZD72WJ.js} +12 -12
- package/Build/Workers/{chunk-6SDGQI27.js → chunk-UEY73NRN.js} +1 -1
- package/Build/Workers/{chunk-K6NFIRFB.js → chunk-UVO6COT2.js} +5 -5
- package/Build/Workers/{chunk-77RL3MBD.js → chunk-VAL7DYNR.js} +25 -4
- package/Build/Workers/{chunk-WN6P5UDH.js → chunk-WBSY7HDY.js} +12 -12
- package/Build/Workers/{chunk-FIBS5S7R.js → chunk-XDWCTQCZ.js} +2 -2
- package/Build/Workers/{chunk-CKQP3DSS.js → chunk-XLXSDIP5.js} +6 -6
- package/Build/Workers/{chunk-LH5SF3XV.js → chunk-XQ3SKCMM.js} +5 -5
- package/Build/Workers/{chunk-QSDY4NS7.js → chunk-YKU2Q3A2.js} +9 -9
- package/Build/Workers/{chunk-GPIGURCG.js → chunk-ZMBHFYOX.js} +7 -7
- package/Build/Workers/{chunk-QO2CGXMP.js → chunk-ZSGUV73H.js} +6 -6
- package/Build/Workers/combineGeometry.js +24 -24
- package/Build/Workers/createBoxGeometry.js +18 -18
- package/Build/Workers/createBoxOutlineGeometry.js +16 -16
- package/Build/Workers/createCircleGeometry.js +26 -26
- package/Build/Workers/createCircleOutlineGeometry.js +19 -19
- package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
- package/Build/Workers/createCorridorGeometry.js +29 -29
- package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
- package/Build/Workers/createCylinderGeometry.js +20 -20
- package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
- package/Build/Workers/createEllipseGeometry.js +26 -26
- package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
- package/Build/Workers/createEllipsoidGeometry.js +19 -19
- package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
- package/Build/Workers/createFrustumGeometry.js +18 -18
- package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
- package/Build/Workers/createGeometry.js +24 -24
- package/Build/Workers/createGroundPolylineGeometry.js +22 -22
- package/Build/Workers/createPlaneGeometry.js +16 -16
- package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
- package/Build/Workers/createPolygonGeometry.js +32 -32
- package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
- package/Build/Workers/createPolylineGeometry.js +25 -25
- package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
- package/Build/Workers/createRectangleGeometry.js +27 -27
- package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
- package/Build/Workers/createSimplePolylineGeometry.js +23 -23
- package/Build/Workers/createSphereGeometry.js +19 -19
- package/Build/Workers/createSphereOutlineGeometry.js +18 -18
- package/Build/Workers/createTaskProcessorWorker.js +3 -3
- package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
- package/Build/Workers/createVectorTileGeometries.js +24 -24
- package/Build/Workers/createVectorTilePoints.js +13 -13
- package/Build/Workers/createVectorTilePolygons.js +22 -22
- package/Build/Workers/createVectorTilePolylines.js +14 -14
- package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
- package/Build/Workers/createVerticesFromHeightmap.js +22 -22
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
- package/Build/Workers/createWallGeometry.js +24 -24
- package/Build/Workers/createWallOutlineGeometry.js +23 -23
- package/Build/Workers/decodeDraco.js +10 -10
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +987 -2320
- package/Build/Workers/decodeI3S.js +10 -10
- package/Build/Workers/gaussianSplatSorter.js +4 -4
- package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
- package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
- package/Build/Workers/transcodeKTX2.js +6 -6
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
- package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
- package/Source/Core/BoundingRectangle.js +6 -8
- package/Source/Core/Cartesian2.js +1 -1
- package/Source/Core/Cartesian3.js +1 -1
- package/Source/Core/Cartesian4.js +1 -1
- package/Source/Core/Color.js +1 -0
- package/Source/Core/ComponentDatatype.js +35 -0
- package/Source/Core/InterpolationAlgorithm.js +57 -50
- package/Source/Core/Ion.js +1 -1
- package/Source/Core/MapProjection.js +1 -0
- package/Source/Core/Matrix2.js +1 -1
- package/Source/Core/Matrix3.js +1 -1
- package/Source/Core/Matrix4.js +1 -1
- package/Source/Core/Resource.js +1 -1
- package/Source/Core/ScreenSpaceEventHandler.js +51 -41
- package/Source/Core/TerrainMesh.js +3 -3
- package/Source/Core/TerrainPicker.js +1 -0
- package/Source/Core/createColorRamp.js +37 -0
- package/Source/Core/globalTypes.js +25 -0
- package/Source/Core/writeTextToCanvas.js +1 -0
- package/Source/DataSources/CzmlDataSource.js +12 -0
- package/Source/DataSources/KmlDataSource.js +528 -555
- package/Source/DataSources/PathGraphics.js +8 -1
- package/Source/DataSources/PathMode.js +27 -0
- package/Source/DataSources/PathVisualizer.js +298 -1
- package/Source/Renderer/Pass.js +3 -2
- package/Source/Renderer/Texture.js +1 -1
- package/Source/Renderer/VertexArray.js +1 -0
- package/Source/Renderer/createUniform.js +346 -239
- package/Source/Renderer/createUniformArray.js +494 -381
- package/Source/Scene/ArcGisMapService.js +1 -1
- package/Source/Scene/BillboardTexture.js +5 -3
- package/Source/Scene/BufferPoint.js +1 -0
- package/Source/Scene/BufferPointCollection.js +14 -1
- package/Source/Scene/BufferPolygon.js +3 -2
- package/Source/Scene/BufferPolygonCollection.js +10 -0
- package/Source/Scene/BufferPolyline.js +1 -0
- package/Source/Scene/BufferPolylineCollection.js +2 -0
- package/Source/Scene/BufferPrimitiveCollection.js +79 -28
- package/Source/Scene/CameraEventAggregator.js +30 -18
- package/Source/Scene/Cesium3DTile.js +54 -1
- package/Source/Scene/Cesium3DTileContent.js +195 -254
- package/Source/Scene/Cesium3DTileContentFactory.js +10 -2
- package/Source/Scene/Cesium3DTileOptimizations.js +4 -6
- package/Source/Scene/Cesium3DTileset.js +45 -5
- package/Source/Scene/ClippingPlaneCollection.js +2 -2
- package/Source/Scene/ClippingPolygon.js +2 -0
- package/Source/Scene/ClippingPolygonCollection.js +2 -2
- package/Source/Scene/Composite3DTileContent.js +254 -292
- package/Source/Scene/DerivedCommand.js +4 -0
- package/Source/Scene/EdgeDisplayMode.js +50 -0
- package/Source/Scene/Empty3DTileContent.js +100 -132
- package/Source/Scene/Expression.js +6 -8
- package/Source/Scene/GaussianSplat3DTileContent.js +436 -478
- package/Source/Scene/GeoJsonPrimitive.js +874 -0
- package/Source/Scene/Geometry3DTileContent.js +151 -185
- package/Source/Scene/GlobeSurfaceShaderSet.js +501 -409
- package/Source/Scene/GlobeSurfaceTile.js +540 -401
- package/Source/Scene/GlobeSurfaceTileProvider.js +1259 -1146
- package/Source/Scene/GltfBufferViewLoader.js +3 -3
- package/Source/Scene/GltfLoader.js +110 -0
- package/Source/Scene/GltfLoaderUtil.js +20 -4
- package/Source/Scene/GltfPipeline/forEachTextureInMaterial.js +10 -0
- package/Source/Scene/GltfPipeline/removeUnusedElements.js +21 -11
- package/Source/Scene/ImageryLayer.js +2 -2
- package/Source/Scene/ImageryLayerCollection.js +2 -2
- package/Source/Scene/Implicit3DTileContent.js +179 -214
- package/Source/Scene/MVTDataProvider.js +147 -0
- package/Source/Scene/Material.js +1 -0
- package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +79 -311
- package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +4 -0
- package/Source/Scene/Model/Model.js +37 -0
- package/Source/Scene/Model/Model3DTileContent.js +424 -458
- package/Source/Scene/Model/ModelDrawCommand.js +31 -3
- package/Source/Scene/Model/ModelUtility.js +5 -0
- package/Source/Scene/Model/createVectorTileBuffersFromModelComponents.js +466 -150
- package/Source/Scene/ModelComponents.js +39 -1
- package/Source/Scene/Multiple3DTileContent.js +291 -334
- package/Source/Scene/Picking.js +5 -0
- package/Source/Scene/PntsParser.js +1 -0
- package/Source/Scene/QuadtreePrimitive.js +3 -2
- package/Source/Scene/ResourceCacheKey.js +5 -5
- package/Source/Scene/Scene.js +27 -0
- package/Source/Scene/Tileset3DTileContent.js +113 -146
- package/Source/Scene/UrlTemplate3DTilesDataProvider.js +499 -0
- package/Source/Scene/Vector3DTileContent.js +205 -234
- package/Source/Scene/VectorGltf3DTileContent.js +85 -36
- package/Source/Scene/VoxelPrimitive.js +159 -175
- package/Source/Scene/VoxelProvider.js +64 -91
- package/Source/Scene/buildVectorGltfFromMVT.js +1059 -0
- package/Source/Scene/buildVoxelCustomShader.js +199 -0
- package/Source/Scene/decodeMVT.js +634 -0
- package/Source/Scene/findMeshoptExtension.js +23 -0
- package/Source/Scene/renderBufferPointCollection.js +113 -62
- package/Source/Scene/renderBufferPolygonCollection.js +98 -55
- package/Source/Scene/renderBufferPolylineCollection.js +270 -143
- package/Source/Shaders/BufferPointMaterialFS.glsl +1 -0
- package/Source/Shaders/BufferPointMaterialFS.js +1 -0
- package/Source/Shaders/BufferPointMaterialVS.glsl +19 -9
- package/Source/Shaders/BufferPointMaterialVS.js +20 -10
- package/Source/Shaders/BufferPolygonMaterialVS.glsl +13 -4
- package/Source/Shaders/BufferPolygonMaterialVS.js +14 -5
- package/Source/Shaders/BufferPolylineMaterialVS.glsl +16 -2
- package/Source/Shaders/BufferPolylineMaterialVS.js +17 -3
- package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.js +11 -0
- package/Source/Shaders/Builtin/Constants/passOverlay.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passOverlay.js +1 -1
- package/Source/Shaders/Builtin/CzmBuiltins.js +2 -0
- package/Source/Shaders/Model/EdgeVisibilityStageVS.glsl +0 -1
- package/Source/Shaders/Model/EdgeVisibilityStageVS.js +0 -1
- package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +2 -2
- package/Source/Workers/incrementallyBuildTerrainPicker.js +2 -0
- package/index.d.ts +311 -288
- package/index.js +103 -92
- package/package.json +4 -4
|
@@ -22,21 +22,31 @@ function getPosition(screenSpaceEventHandler, event, result) {
|
|
|
22
22
|
return result;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
function getInputEventKey(type,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
key += `+${modifier}`;
|
|
25
|
+
function getInputEventKey(type, modifiers) {
|
|
26
|
+
if (!defined(modifiers)) {
|
|
27
|
+
return `${type}`;
|
|
29
28
|
}
|
|
30
|
-
|
|
29
|
+
|
|
30
|
+
const modifierList = Array.isArray(modifiers)
|
|
31
|
+
? modifiers.toSorted()
|
|
32
|
+
: [modifiers];
|
|
33
|
+
return `${type}+${modifierList.join("+")}`;
|
|
31
34
|
}
|
|
32
35
|
|
|
33
|
-
function
|
|
36
|
+
function getModifiers(event) {
|
|
37
|
+
const modifiers = [];
|
|
34
38
|
if (event.shiftKey) {
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
39
|
+
modifiers.push(KeyboardEventModifier.SHIFT);
|
|
40
|
+
}
|
|
41
|
+
if (event.ctrlKey) {
|
|
42
|
+
modifiers.push(KeyboardEventModifier.CTRL);
|
|
43
|
+
}
|
|
44
|
+
if (event.altKey) {
|
|
45
|
+
modifiers.push(KeyboardEventModifier.ALT);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
if (modifiers.length) {
|
|
49
|
+
return modifiers;
|
|
40
50
|
}
|
|
41
51
|
|
|
42
52
|
return undefined;
|
|
@@ -223,11 +233,11 @@ function handleMouseDown(screenSpaceEventHandler, event) {
|
|
|
223
233
|
Cartesian2.clone(position, screenSpaceEventHandler._primaryStartPosition);
|
|
224
234
|
Cartesian2.clone(position, screenSpaceEventHandler._primaryPreviousPosition);
|
|
225
235
|
|
|
226
|
-
const
|
|
236
|
+
const modifiers = getModifiers(event);
|
|
227
237
|
|
|
228
238
|
const action = screenSpaceEventHandler.getInputAction(
|
|
229
239
|
screenSpaceEventType,
|
|
230
|
-
|
|
240
|
+
modifiers,
|
|
231
241
|
);
|
|
232
242
|
|
|
233
243
|
if (defined(action)) {
|
|
@@ -252,15 +262,15 @@ function cancelMouseEvent(
|
|
|
252
262
|
clickScreenSpaceEventType,
|
|
253
263
|
event,
|
|
254
264
|
) {
|
|
255
|
-
const
|
|
265
|
+
const modifiers = getModifiers(event);
|
|
256
266
|
|
|
257
267
|
const action = screenSpaceEventHandler.getInputAction(
|
|
258
268
|
screenSpaceEventType,
|
|
259
|
-
|
|
269
|
+
modifiers,
|
|
260
270
|
);
|
|
261
271
|
const clickAction = screenSpaceEventHandler.getInputAction(
|
|
262
272
|
clickScreenSpaceEventType,
|
|
263
|
-
|
|
273
|
+
modifiers,
|
|
264
274
|
);
|
|
265
275
|
|
|
266
276
|
if (defined(action) || defined(clickAction)) {
|
|
@@ -347,7 +357,7 @@ function handleMouseMove(screenSpaceEventHandler, event) {
|
|
|
347
357
|
return;
|
|
348
358
|
}
|
|
349
359
|
|
|
350
|
-
const
|
|
360
|
+
const modifiers = getModifiers(event);
|
|
351
361
|
|
|
352
362
|
const position = getPosition(
|
|
353
363
|
screenSpaceEventHandler,
|
|
@@ -358,7 +368,7 @@ function handleMouseMove(screenSpaceEventHandler, event) {
|
|
|
358
368
|
|
|
359
369
|
const action = screenSpaceEventHandler.getInputAction(
|
|
360
370
|
ScreenSpaceEventType.MOUSE_MOVE,
|
|
361
|
-
|
|
371
|
+
modifiers,
|
|
362
372
|
);
|
|
363
373
|
|
|
364
374
|
if (defined(action)) {
|
|
@@ -393,11 +403,11 @@ function handleDblClick(screenSpaceEventHandler, event) {
|
|
|
393
403
|
return;
|
|
394
404
|
}
|
|
395
405
|
|
|
396
|
-
const
|
|
406
|
+
const modifiers = getModifiers(event);
|
|
397
407
|
|
|
398
408
|
const action = screenSpaceEventHandler.getInputAction(
|
|
399
409
|
screenSpaceEventType,
|
|
400
|
-
|
|
410
|
+
modifiers,
|
|
401
411
|
);
|
|
402
412
|
|
|
403
413
|
if (defined(action)) {
|
|
@@ -437,10 +447,10 @@ function handleWheel(screenSpaceEventHandler, event) {
|
|
|
437
447
|
return;
|
|
438
448
|
}
|
|
439
449
|
|
|
440
|
-
const
|
|
450
|
+
const modifiers = getModifiers(event);
|
|
441
451
|
const action = screenSpaceEventHandler.getInputAction(
|
|
442
452
|
ScreenSpaceEventType.WHEEL,
|
|
443
|
-
|
|
453
|
+
modifiers,
|
|
444
454
|
);
|
|
445
455
|
|
|
446
456
|
if (defined(action)) {
|
|
@@ -530,7 +540,7 @@ const touchHoldEvent = {
|
|
|
530
540
|
};
|
|
531
541
|
|
|
532
542
|
function fireTouchEvents(screenSpaceEventHandler, event) {
|
|
533
|
-
const
|
|
543
|
+
const modifiers = getModifiers(event);
|
|
534
544
|
const positions = screenSpaceEventHandler._positions;
|
|
535
545
|
const numberOfTouches = positions.length;
|
|
536
546
|
let action;
|
|
@@ -551,7 +561,7 @@ function fireTouchEvents(screenSpaceEventHandler, event) {
|
|
|
551
561
|
|
|
552
562
|
action = screenSpaceEventHandler.getInputAction(
|
|
553
563
|
ScreenSpaceEventType.LEFT_UP,
|
|
554
|
-
|
|
564
|
+
modifiers,
|
|
555
565
|
);
|
|
556
566
|
|
|
557
567
|
if (defined(action)) {
|
|
@@ -567,7 +577,7 @@ function fireTouchEvents(screenSpaceEventHandler, event) {
|
|
|
567
577
|
// releasing single touch, check for CLICK
|
|
568
578
|
clickAction = screenSpaceEventHandler.getInputAction(
|
|
569
579
|
ScreenSpaceEventType.LEFT_CLICK,
|
|
570
|
-
|
|
580
|
+
modifiers,
|
|
571
581
|
);
|
|
572
582
|
|
|
573
583
|
if (defined(clickAction)) {
|
|
@@ -602,7 +612,7 @@ function fireTouchEvents(screenSpaceEventHandler, event) {
|
|
|
602
612
|
|
|
603
613
|
action = screenSpaceEventHandler.getInputAction(
|
|
604
614
|
ScreenSpaceEventType.PINCH_END,
|
|
605
|
-
|
|
615
|
+
modifiers,
|
|
606
616
|
);
|
|
607
617
|
|
|
608
618
|
if (defined(action)) {
|
|
@@ -624,7 +634,7 @@ function fireTouchEvents(screenSpaceEventHandler, event) {
|
|
|
624
634
|
|
|
625
635
|
action = screenSpaceEventHandler.getInputAction(
|
|
626
636
|
ScreenSpaceEventType.LEFT_DOWN,
|
|
627
|
-
|
|
637
|
+
modifiers,
|
|
628
638
|
);
|
|
629
639
|
|
|
630
640
|
if (defined(action)) {
|
|
@@ -640,7 +650,7 @@ function fireTouchEvents(screenSpaceEventHandler, event) {
|
|
|
640
650
|
|
|
641
651
|
clickAction = screenSpaceEventHandler.getInputAction(
|
|
642
652
|
ScreenSpaceEventType.RIGHT_CLICK,
|
|
643
|
-
|
|
653
|
+
modifiers,
|
|
644
654
|
);
|
|
645
655
|
|
|
646
656
|
if (defined(clickAction)) {
|
|
@@ -674,7 +684,7 @@ function fireTouchEvents(screenSpaceEventHandler, event) {
|
|
|
674
684
|
|
|
675
685
|
action = screenSpaceEventHandler.getInputAction(
|
|
676
686
|
ScreenSpaceEventType.PINCH_START,
|
|
677
|
-
|
|
687
|
+
modifiers,
|
|
678
688
|
);
|
|
679
689
|
|
|
680
690
|
if (defined(action)) {
|
|
@@ -740,7 +750,7 @@ const touchPinchMovementEvent = {
|
|
|
740
750
|
};
|
|
741
751
|
|
|
742
752
|
function fireTouchMoveEvents(screenSpaceEventHandler, event) {
|
|
743
|
-
const
|
|
753
|
+
const modifiers = getModifiers(event);
|
|
744
754
|
const positions = screenSpaceEventHandler._positions;
|
|
745
755
|
const previousPositions = screenSpaceEventHandler._previousPositions;
|
|
746
756
|
const numberOfTouches = positions.length;
|
|
@@ -758,7 +768,7 @@ function fireTouchMoveEvents(screenSpaceEventHandler, event) {
|
|
|
758
768
|
|
|
759
769
|
action = screenSpaceEventHandler.getInputAction(
|
|
760
770
|
ScreenSpaceEventType.MOUSE_MOVE,
|
|
761
|
-
|
|
771
|
+
modifiers,
|
|
762
772
|
);
|
|
763
773
|
|
|
764
774
|
if (defined(action)) {
|
|
@@ -776,7 +786,7 @@ function fireTouchMoveEvents(screenSpaceEventHandler, event) {
|
|
|
776
786
|
|
|
777
787
|
action = screenSpaceEventHandler.getInputAction(
|
|
778
788
|
ScreenSpaceEventType.PINCH_MOVE,
|
|
779
|
-
|
|
789
|
+
modifiers,
|
|
780
790
|
);
|
|
781
791
|
if (defined(action)) {
|
|
782
792
|
const position1 = positions.values[0];
|
|
@@ -1012,7 +1022,7 @@ function ScreenSpaceEventHandler(element) {
|
|
|
1012
1022
|
*
|
|
1013
1023
|
* @param {ScreenSpaceEventHandler.PositionedEventCallback|ScreenSpaceEventHandler.MotionEventCallback|ScreenSpaceEventHandler.WheelEventCallback|ScreenSpaceEventHandler.TwoPointEventCallback|ScreenSpaceEventHandler.TwoPointMotionEventCallback} action Function to be executed when the input event occurs.
|
|
1014
1024
|
* @param {ScreenSpaceEventType} type The ScreenSpaceEventType of input event.
|
|
1015
|
-
* @param {KeyboardEventModifier} [
|
|
1025
|
+
* @param {KeyboardEventModifier[] | KeyboardEventModifier} [modifiers] The KeyboardEventModifier keys that are held when a <code>type</code>
|
|
1016
1026
|
* event occurs.
|
|
1017
1027
|
*
|
|
1018
1028
|
* @see ScreenSpaceEventHandler#getInputAction
|
|
@@ -1021,7 +1031,7 @@ function ScreenSpaceEventHandler(element) {
|
|
|
1021
1031
|
ScreenSpaceEventHandler.prototype.setInputAction = function (
|
|
1022
1032
|
action,
|
|
1023
1033
|
type,
|
|
1024
|
-
|
|
1034
|
+
modifiers,
|
|
1025
1035
|
) {
|
|
1026
1036
|
//>>includeStart('debug', pragmas.debug);
|
|
1027
1037
|
if (!defined(action)) {
|
|
@@ -1032,7 +1042,7 @@ ScreenSpaceEventHandler.prototype.setInputAction = function (
|
|
|
1032
1042
|
}
|
|
1033
1043
|
//>>includeEnd('debug');
|
|
1034
1044
|
|
|
1035
|
-
const key = getInputEventKey(type,
|
|
1045
|
+
const key = getInputEventKey(type, modifiers);
|
|
1036
1046
|
this._inputEvents[key] = action;
|
|
1037
1047
|
};
|
|
1038
1048
|
|
|
@@ -1040,7 +1050,7 @@ ScreenSpaceEventHandler.prototype.setInputAction = function (
|
|
|
1040
1050
|
* Returns the function to be executed on an input event.
|
|
1041
1051
|
*
|
|
1042
1052
|
* @param {ScreenSpaceEventType} type The ScreenSpaceEventType of input event.
|
|
1043
|
-
* @param {KeyboardEventModifier} [
|
|
1053
|
+
* @param {KeyboardEventModifier[] | KeyboardEventModifier} [modifiers] The KeyboardEventModifier keys that are held when a <code>type</code>
|
|
1044
1054
|
* event occurs.
|
|
1045
1055
|
*
|
|
1046
1056
|
* @returns {ScreenSpaceEventHandler.PositionedEventCallback|ScreenSpaceEventHandler.MotionEventCallback|ScreenSpaceEventHandler.WheelEventCallback|ScreenSpaceEventHandler.TwoPointEventCallback|ScreenSpaceEventHandler.TwoPointMotionEventCallback} The function to be executed on an input event.
|
|
@@ -1048,14 +1058,14 @@ ScreenSpaceEventHandler.prototype.setInputAction = function (
|
|
|
1048
1058
|
* @see ScreenSpaceEventHandler#setInputAction
|
|
1049
1059
|
* @see ScreenSpaceEventHandler#removeInputAction
|
|
1050
1060
|
*/
|
|
1051
|
-
ScreenSpaceEventHandler.prototype.getInputAction = function (type,
|
|
1061
|
+
ScreenSpaceEventHandler.prototype.getInputAction = function (type, modifiers) {
|
|
1052
1062
|
//>>includeStart('debug', pragmas.debug);
|
|
1053
1063
|
if (!defined(type)) {
|
|
1054
1064
|
throw new DeveloperError("type is required.");
|
|
1055
1065
|
}
|
|
1056
1066
|
//>>includeEnd('debug');
|
|
1057
1067
|
|
|
1058
|
-
const key = getInputEventKey(type,
|
|
1068
|
+
const key = getInputEventKey(type, modifiers);
|
|
1059
1069
|
return this._inputEvents[key];
|
|
1060
1070
|
};
|
|
1061
1071
|
|
|
@@ -1063,7 +1073,7 @@ ScreenSpaceEventHandler.prototype.getInputAction = function (type, modifier) {
|
|
|
1063
1073
|
* Removes the function to be executed on an input event.
|
|
1064
1074
|
*
|
|
1065
1075
|
* @param {ScreenSpaceEventType} type The ScreenSpaceEventType of input event.
|
|
1066
|
-
* @param {KeyboardEventModifier} [
|
|
1076
|
+
* @param {KeyboardEventModifier[] | KeyboardEventModifier} [modifiers] The KeyboardEventModifier keys that are held when a <code>type</code>
|
|
1067
1077
|
* event occurs.
|
|
1068
1078
|
*
|
|
1069
1079
|
* @see ScreenSpaceEventHandler#getInputAction
|
|
@@ -1071,7 +1081,7 @@ ScreenSpaceEventHandler.prototype.getInputAction = function (type, modifier) {
|
|
|
1071
1081
|
*/
|
|
1072
1082
|
ScreenSpaceEventHandler.prototype.removeInputAction = function (
|
|
1073
1083
|
type,
|
|
1074
|
-
|
|
1084
|
+
modifiers,
|
|
1075
1085
|
) {
|
|
1076
1086
|
//>>includeStart('debug', pragmas.debug);
|
|
1077
1087
|
if (!defined(type)) {
|
|
@@ -1079,7 +1089,7 @@ ScreenSpaceEventHandler.prototype.removeInputAction = function (
|
|
|
1079
1089
|
}
|
|
1080
1090
|
//>>includeEnd('debug');
|
|
1081
1091
|
|
|
1082
|
-
const key = getInputEventKey(type,
|
|
1092
|
+
const key = getInputEventKey(type, modifiers);
|
|
1083
1093
|
delete this._inputEvents[key];
|
|
1084
1094
|
};
|
|
1085
1095
|
|
|
@@ -328,7 +328,7 @@ function computeTransform2D(mesh, projection, result) {
|
|
|
328
328
|
* @param {SceneMode} mode The scene mode (3D, 2D, or Columbus View).
|
|
329
329
|
* @param {MapProjection} projection The map projection.
|
|
330
330
|
* @returns {Cartesian3} The point on the mesh where the ray intersects, or undefined if there is no intersection.
|
|
331
|
-
* @
|
|
331
|
+
* @ignore
|
|
332
332
|
*/
|
|
333
333
|
TerrainMesh.prototype.pick = function (ray, cullBackFaces, mode, projection) {
|
|
334
334
|
const intersection = this._terrainPicker.rayIntersect(
|
|
@@ -347,7 +347,7 @@ TerrainMesh.prototype.pick = function (ray, cullBackFaces, mode, projection) {
|
|
|
347
347
|
* Updates the terrain mesh to account for changes in vertical exaggeration.
|
|
348
348
|
* @param {Number} exaggeration A scalar used to exaggerate terrain.
|
|
349
349
|
* @param {Number} exaggerationRelativeHeight The relative height from which terrain is exaggerated.
|
|
350
|
-
* @
|
|
350
|
+
* @ignore
|
|
351
351
|
*/
|
|
352
352
|
TerrainMesh.prototype.updateExaggeration = function (
|
|
353
353
|
exaggeration,
|
|
@@ -363,7 +363,7 @@ TerrainMesh.prototype.updateExaggeration = function (
|
|
|
363
363
|
/**
|
|
364
364
|
* Updates the terrain mesh to account for changes in scene mode.
|
|
365
365
|
* @param {SceneMode} mode The scene mode (3D, 2D, or Columbus View).
|
|
366
|
-
* @
|
|
366
|
+
* @ignore
|
|
367
367
|
*/
|
|
368
368
|
TerrainMesh.prototype.updateSceneMode = function (mode) {
|
|
369
369
|
this._terrainPicker.needsRebuild = true;
|
|
@@ -246,6 +246,7 @@ const scratchAABBMax = new Cartesian3();
|
|
|
246
246
|
* @param {number} y The y coordinate of the node.
|
|
247
247
|
* @param {number} level The level of the node.
|
|
248
248
|
* @returns {AxisAlignedBoundingBox} The axis-aligned bounding box for the node.
|
|
249
|
+
* @ignore
|
|
249
250
|
*/
|
|
250
251
|
function createAABBForNode(x, y, level) {
|
|
251
252
|
const sizeAtLevel = 1.0 / Math.pow(2, level);
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
3
|
+
/** @import Color from "./Color.js"; */
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Creates a color ramp that linearly interpolates between the given colors.
|
|
7
|
+
*
|
|
8
|
+
* @param {Color[]} colors The array of colors to use for the color ramp.
|
|
9
|
+
* @param {number} rampLength The length (in number of samples) of the color ramp to create.
|
|
10
|
+
* @returns {Uint8Array} A typed array representing the color ramp.
|
|
11
|
+
*
|
|
12
|
+
* @private
|
|
13
|
+
*/
|
|
14
|
+
function createColorRamp(colors, rampLength) {
|
|
15
|
+
const ramp = document.createElement("canvas");
|
|
16
|
+
ramp.width = rampLength;
|
|
17
|
+
ramp.height = 1;
|
|
18
|
+
const ctx = ramp.getContext("2d");
|
|
19
|
+
const grd = ctx.createLinearGradient(0, 0, ramp.width, 0);
|
|
20
|
+
|
|
21
|
+
const stepSize = 1 / (colors.length - 1);
|
|
22
|
+
for (let i = 0; i < colors.length; i++) {
|
|
23
|
+
const color = colors[i];
|
|
24
|
+
const stop = i * stepSize;
|
|
25
|
+
const cssColor = color.toCssColorString();
|
|
26
|
+
grd.addColorStop(stop, cssColor);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
ctx.fillStyle = grd;
|
|
30
|
+
ctx.fillRect(0, 0, ramp.width, ramp.height);
|
|
31
|
+
|
|
32
|
+
const imageData = ctx.getImageData(0, 0, ramp.width, ramp.height);
|
|
33
|
+
const array = new Uint8Array(imageData.data.buffer);
|
|
34
|
+
return array;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export default createColorRamp;
|
|
@@ -12,6 +12,31 @@
|
|
|
12
12
|
* @typedef {{destroy: Function}} Destroyable
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
+
/**
|
|
16
|
+
* A GeoJSON position expressed as [longitude, latitude] or [longitude, latitude, altitude].
|
|
17
|
+
* @typedef {Array.<number>} GeoJsonPosition
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* A GeoJSON geometry object.
|
|
22
|
+
* @typedef {{type: string, coordinates: (unknown|undefined), geometries: (Array.<GeoJsonGeometry>|undefined)}} GeoJsonGeometry
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* A GeoJSON feature object.
|
|
27
|
+
* @typedef {{type: string, geometry: (GeoJsonGeometry|null), properties: (Object.<string, *>|null), id: (string|number|undefined)}} GeoJsonFeature
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* A GeoJSON feature collection object.
|
|
32
|
+
* @typedef {{type: string, features: Array.<GeoJsonFeature>}} GeoJsonFeatureCollection
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* A top-level GeoJSON object (Geometry, Feature, or FeatureCollection).
|
|
37
|
+
* @typedef {GeoJsonGeometry|GeoJsonFeature|GeoJsonFeatureCollection} GeoJson
|
|
38
|
+
*/
|
|
39
|
+
|
|
15
40
|
/**
|
|
16
41
|
* This file is omitted from 'workspaceSourceFiles' in 'scripts/build.js', and
|
|
17
42
|
* must provide type-only exports exclusively, without runtime values.
|
|
@@ -9,6 +9,7 @@ import DeveloperError from "./DeveloperError.js";
|
|
|
9
9
|
* Rounds metrics, excluding width, to whole pixels. This is purely to minimize
|
|
10
10
|
* rendering differences with migration to in-browser measureText(), and may be
|
|
11
11
|
* revised in the future. See: github.com/CesiumGS/cesium/pull/13081
|
|
12
|
+
* @ignore
|
|
12
13
|
*/
|
|
13
14
|
function measureText(context2D, textString) {
|
|
14
15
|
const metrics = context2D.measureText(textString);
|
|
@@ -65,6 +65,7 @@ import LabelGraphics from "./LabelGraphics.js";
|
|
|
65
65
|
import ModelGraphics from "./ModelGraphics.js";
|
|
66
66
|
import NodeTransformationProperty from "./NodeTransformationProperty.js";
|
|
67
67
|
import PathGraphics from "./PathGraphics.js";
|
|
68
|
+
import PathMode from "./PathMode.js";
|
|
68
69
|
import PointGraphics from "./PointGraphics.js";
|
|
69
70
|
import PolygonGraphics from "./PolygonGraphics.js";
|
|
70
71
|
import PolylineArrowMaterialProperty from "./PolylineArrowMaterialProperty.js";
|
|
@@ -562,6 +563,8 @@ function unwrapInterval(type, czmlInterval, sourceUri) {
|
|
|
562
563
|
return czmlInterval.distanceDisplayCondition;
|
|
563
564
|
case Object:
|
|
564
565
|
return czmlInterval.object ?? czmlInterval.value ?? czmlInterval;
|
|
566
|
+
case PathMode:
|
|
567
|
+
return PathMode[czmlInterval.pathMode ?? czmlInterval];
|
|
565
568
|
case Quaternion:
|
|
566
569
|
return unwrapQuaternionInterval(czmlInterval);
|
|
567
570
|
case Rotation:
|
|
@@ -3654,6 +3657,15 @@ function processPath(entity, packet, entityCollection, sourceUri) {
|
|
|
3654
3657
|
sourceUri,
|
|
3655
3658
|
entityCollection,
|
|
3656
3659
|
);
|
|
3660
|
+
processPacketData(
|
|
3661
|
+
PathMode,
|
|
3662
|
+
path,
|
|
3663
|
+
"materialMode",
|
|
3664
|
+
pathData.materialMode,
|
|
3665
|
+
interval,
|
|
3666
|
+
sourceUri,
|
|
3667
|
+
entityCollection,
|
|
3668
|
+
);
|
|
3657
3669
|
}
|
|
3658
3670
|
|
|
3659
3671
|
function processPoint(entity, packet, entityCollection, sourceUri) {
|