@cesium/engine 26.2.0 → 26.3.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/ThirdParty/Workers/zip-web-worker.js +656 -518
- package/Build/Workers/{chunk-FU4BGABC.js → chunk-2DKJSPYF.js} +14 -14
- package/Build/Workers/{chunk-NCL22ZUX.js → chunk-2PWVICP6.js} +1 -1
- package/Build/Workers/{chunk-ILME5BXA.js → chunk-2YY724ZX.js} +8 -8
- package/Build/Workers/{chunk-IJZJMIUY.js → chunk-4DMAXPKB.js} +11 -11
- package/Build/Workers/{chunk-IMBVP57H.js → chunk-4LRFYRBX.js} +2 -2
- package/Build/Workers/{chunk-76FDC45O.js → chunk-5JCZHJUU.js} +13 -13
- package/Build/Workers/{chunk-5LSOO2KD.js → chunk-5KG7KDDW.js} +7 -7
- package/Build/Workers/{chunk-UAZUP4I5.js → chunk-6BSNYZZG.js} +5 -5
- package/Build/Workers/{chunk-D6AY775A.js → chunk-6R6SGKYN.js} +6 -6
- package/Build/Workers/{chunk-3PSS3T43.js → chunk-6V2KDEHL.js} +4 -4
- package/Build/Workers/{chunk-GHXVQVUM.js → chunk-75BC2IHI.js} +7 -7
- package/Build/Workers/{chunk-SMTGMFBL.js → chunk-7SESBH2I.js} +4 -4
- package/Build/Workers/{chunk-NEFDMMLY.js → chunk-7WXBTNRV.js} +8 -8
- package/Build/Workers/{chunk-NXGQBQWE.js → chunk-A7SMPV6B.js} +12 -12
- package/Build/Workers/{chunk-O3XFXGPZ.js → chunk-ATSXKJ3L.js} +7 -7
- package/Build/Workers/{chunk-AHWAZRBV.js → chunk-B4AVL7VI.js} +1 -1
- package/Build/Workers/{chunk-OZGPS7FB.js → chunk-B7Q2WF6Q.js} +4 -4
- package/Build/Workers/{chunk-2RGJPWQX.js → chunk-BNDSDQ7D.js} +9 -9
- package/Build/Workers/{chunk-2Z4ZLVOD.js → chunk-CKK6CUXK.js} +6 -6
- package/Build/Workers/{chunk-FCP2QY4G.js → chunk-COKOYTRS.js} +5 -5
- package/Build/Workers/{chunk-6FZDPMTO.js → chunk-CQ4TZXAT.js} +6 -6
- package/Build/Workers/{chunk-HDL4HOXZ.js → chunk-DKSANM4A.js} +12 -12
- package/Build/Workers/{chunk-XCBZVTIV.js → chunk-DZK34ZVD.js} +1 -1
- package/Build/Workers/{chunk-N7CCOFLX.js → chunk-E7G32DWL.js} +1 -1
- package/Build/Workers/{chunk-XDWCTQCZ.js → chunk-EDETO6NY.js} +2 -2
- package/Build/Workers/{chunk-NSKZ6SBK.js → chunk-F34TJJLA.js} +14 -14
- package/Build/Workers/{chunk-GXWQZBAI.js → chunk-GLHDTTTO.js} +2 -2
- package/Build/Workers/{chunk-SJYSIOEM.js → chunk-GS7RY2DH.js} +11 -11
- package/Build/Workers/{chunk-5YPQBFRD.js → chunk-HDD3RFLT.js} +3 -3
- package/Build/Workers/{chunk-36NI5E6W.js → chunk-HDPNFEPP.js} +18 -18
- package/Build/Workers/{chunk-DSGLDRTI.js → chunk-JBJ6BRIM.js} +4 -4
- package/Build/Workers/{chunk-DZUFEE4L.js → chunk-JKTWW7IO.js} +5 -5
- package/Build/Workers/{chunk-O3DKEX7Q.js → chunk-JL4NWWQY.js} +5 -5
- package/Build/Workers/{chunk-I74ZH5LK.js → chunk-JMUUAW4X.js} +10 -10
- package/Build/Workers/{chunk-SXSP3JHS.js → chunk-KBGAHN5R.js} +1 -1
- package/Build/Workers/{chunk-GVA7XQI2.js → chunk-KEWK6VZL.js} +12 -12
- package/Build/Workers/{chunk-EOWDZN5S.js → chunk-L73K5UPP.js} +10 -10
- package/Build/Workers/{chunk-J73T2VOY.js → chunk-LL2SGJYH.js} +6 -6
- package/Build/Workers/{chunk-QFSSCLLZ.js → chunk-LYJUL4XQ.js} +6 -6
- package/Build/Workers/{chunk-MAAHFYPC.js → chunk-M6W46OAP.js} +7 -7
- package/Build/Workers/{chunk-FX3VEAIU.js → chunk-MDDKCLMF.js} +16 -16
- package/Build/Workers/{chunk-M6QKXVAU.js → chunk-MUW4DJV7.js} +17 -17
- package/Build/Workers/{chunk-EZGQPOIG.js → chunk-N5YK44FS.js} +5 -5
- package/Build/Workers/{chunk-27FWRTJI.js → chunk-NZQUP52G.js} +9 -9
- package/Build/Workers/{chunk-A62YI6S6.js → chunk-PKZA44LH.js} +4 -4
- package/Build/Workers/{chunk-7MM3N2VE.js → chunk-Q2JS5LCB.js} +17 -17
- package/Build/Workers/{chunk-KGXSYGBG.js → chunk-QTAEVUED.js} +13 -13
- package/Build/Workers/{chunk-KP5QD7WU.js → chunk-SEJIXZZ4.js} +10 -10
- package/Build/Workers/{chunk-PRWUMCXF.js → chunk-SL2HCFYW.js} +10 -10
- package/Build/Workers/{chunk-NJVBJG63.js → chunk-SLHK3KAR.js} +5 -5
- package/Build/Workers/{chunk-JKXV6PG5.js → chunk-UZY5XRL2.js} +1 -1
- package/Build/Workers/{chunk-LDRQSYBN.js → chunk-VRECSMG3.js} +2 -2
- package/Build/Workers/{chunk-NLLCQBX3.js → chunk-X27HKF5E.js} +2 -2
- package/Build/Workers/{chunk-B3QHNA4A.js → chunk-XBY3354M.js} +6 -6
- package/Build/Workers/{chunk-CRCGE4J4.js → chunk-XRZCS3HE.js} +8 -8
- package/Build/Workers/{chunk-XLQZNQ4Z.js → chunk-XSIUYAT6.js} +2 -2
- package/Build/Workers/{chunk-SA2A2AN5.js → chunk-Z2DW5NM2.js} +4 -4
- 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 +5 -5
- 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/Ion.js +1 -1
- package/Source/Core/IonResource.js +5 -0
- package/Source/Core/IonSnapGeometryType.js +59 -0
- package/Source/Core/IonSnapHeat.js +33 -0
- package/Source/Core/IonSnapMode.js +45 -0
- package/Source/Core/IonSnapParentGeometryType.js +52 -0
- package/Source/Core/IonSnapService.js +369 -0
- package/Source/Core/SnapService.js +63 -0
- package/Source/Core/VectorPipeline.js +139 -45
- package/Source/Core/VectorProvider.js +311 -71
- package/Source/Renderer/AutomaticUniforms.js +44 -2
- package/Source/Renderer/ShaderBuilder.js +1 -1
- package/Source/Renderer/UniformState.js +47 -1
- package/Source/Scene/ArcGisMapService.js +1 -1
- package/Source/Scene/BufferPointCollection.js +4 -7
- package/Source/Scene/BufferPolygonCollection.js +56 -27
- package/Source/Scene/BufferPolylineCollection.js +61 -8
- package/Source/Scene/BufferPolylineMaterial.js +6 -5
- package/Source/Scene/BufferPrimitiveCollection.js +199 -29
- package/Source/Scene/Cesium3DTile.js +12 -0
- package/Source/Scene/Cesium3DTileset.js +61 -8
- package/Source/Scene/Cesium3DTilesetBaseTraversal.js +15 -3
- package/Source/Scene/Cesium3DTilesetCache.js +15 -0
- package/Source/Scene/ClippingPolygon.js +154 -100
- package/Source/Scene/ClippingPolygonCollection.js +352 -694
- package/Source/Scene/CreditDisplay.js +62 -0
- package/Source/Scene/GeoJsonPrimitive.js +114 -24
- package/Source/Scene/GlobeSurfaceShaderSet.js +33 -54
- package/Source/Scene/GlobeSurfaceTile.js +14 -1
- package/Source/Scene/GlobeSurfaceTileProvider.js +232 -25
- package/Source/Scene/GltfLoader.js +56 -6
- package/Source/Scene/HeightReference.js +1 -1
- package/Source/Scene/MVTDataProvider.js +9 -0
- package/Source/Scene/Model/Model.js +242 -16
- package/Source/Scene/Model/Model3DTileContent.js +5 -0
- package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +54 -19
- package/Source/Scene/Model/ModelRenderResources.js +2 -3
- package/Source/Scene/Model/ModelSceneGraph.js +10 -1
- package/Source/Scene/Model/ModelVectorLookupPipelineStage.js +205 -0
- package/Source/Scene/Model/PickingPipelineStage.js +4 -0
- package/Source/Scene/PostProcessStage.js +22 -3
- package/Source/Scene/Scene.js +56 -1
- package/Source/Scene/Snapping.js +57 -0
- package/Source/Scene/UrlTemplate3DTilesDataProvider.js +12 -1
- package/Source/Scene/VectorGltf3DTileContent.js +10 -2
- package/Source/Scene/WebMapServiceImageryProvider.js +5 -1
- package/Source/Scene/WebMapTileServiceImageryProvider.js +6 -1
- package/Source/Scene/renderBufferPolylineCollection.js +5 -1
- package/Source/Shaders/BufferPolylineMaterialVS.glsl +14 -2
- package/Source/Shaders/BufferPolylineMaterialVS.js +14 -2
- package/Source/Shaders/Builtin/CzmBuiltins.js +2 -4
- package/Source/Shaders/Builtin/Functions/eyeToCartographicDelta.glsl +74 -0
- package/Source/Shaders/Builtin/Functions/eyeToCartographicDelta.js +76 -0
- package/Source/Shaders/GlobeFS.glsl +10 -9
- package/Source/Shaders/GlobeFS.js +11 -9
- package/Source/Shaders/GlobeVS.glsl +0 -32
- package/Source/Shaders/GlobeVS.js +0 -32
- package/Source/Shaders/Model/ModelClippingPolygonsStageFS.glsl +15 -3
- package/Source/Shaders/Model/ModelClippingPolygonsStageFS.js +15 -3
- package/Source/Shaders/Model/ModelClippingPolygonsStageVS.glsl +20 -24
- package/Source/Shaders/Model/ModelClippingPolygonsStageVS.js +20 -24
- package/Source/Shaders/Model/ModelFS.glsl +4 -0
- package/Source/Shaders/Model/ModelFS.js +4 -0
- package/Source/Shaders/Model/ModelVS.glsl +7 -2
- package/Source/Shaders/Model/ModelVS.js +7 -2
- package/Source/Shaders/Model/ModelVectorLookupStageFS.glsl +6 -0
- package/Source/Shaders/Model/ModelVectorLookupStageFS.js +8 -0
- package/Source/Shaders/Model/ModelVectorLookupStageVS.glsl +15 -0
- package/Source/Shaders/Model/ModelVectorLookupStageVS.js +17 -0
- package/Source/Shaders/Model/VerticalExaggerationStageVS.glsl +9 -10
- package/Source/Shaders/Model/VerticalExaggerationStageVS.js +9 -11
- package/Source/Shaders/VectorCommon.glsl +177 -50
- package/Source/Shaders/VectorCommon.js +251 -19
- package/Source/ThirdParty/Workers/zip-web-worker.js +1 -1
- package/index.d.ts +556 -55
- package/index.js +20 -13
- package/package.json +6 -6
- package/Build/Workers/chunk-2EFYUSUY.js +0 -1483
- package/Build/Workers/chunk-2H5264K7.js +0 -1284
- package/Build/Workers/chunk-2H73KDBM.js +0 -511
- package/Build/Workers/chunk-2ZKH2QZB.js +0 -387
- package/Build/Workers/chunk-37SW7SYS.js +0 -778
- package/Build/Workers/chunk-3GHVJ3SO.js +0 -455
- package/Build/Workers/chunk-3LB4UVPU.js +0 -387
- package/Build/Workers/chunk-3PONLKEL.js +0 -778
- package/Build/Workers/chunk-3QR662HH.js +0 -3820
- package/Build/Workers/chunk-3SX2WYSO.js +0 -973
- package/Build/Workers/chunk-3UDN6LYX.js +0 -476
- package/Build/Workers/chunk-47MCBSXI.js +0 -9237
- package/Build/Workers/chunk-4E626OCE.js +0 -1067
- package/Build/Workers/chunk-4NW2MJKH.js +0 -455
- package/Build/Workers/chunk-52YK5BSN.js +0 -198
- package/Build/Workers/chunk-5RNAQZK6.js +0 -9234
- package/Build/Workers/chunk-6FHT43QR.js +0 -140
- package/Build/Workers/chunk-6HK6IXK2.js +0 -138
- package/Build/Workers/chunk-6R5X2GUA.js +0 -1284
- package/Build/Workers/chunk-6YR6JBMY.js +0 -163
- package/Build/Workers/chunk-7A2OGDHT.js +0 -305
- package/Build/Workers/chunk-7CGEQUM2.js +0 -305
- package/Build/Workers/chunk-7D2HZKH7.js +0 -455
- package/Build/Workers/chunk-7I325HV6.js +0 -1344
- package/Build/Workers/chunk-7KVKHY7O.js +0 -147
- package/Build/Workers/chunk-7TKLTCZW.js +0 -219
- package/Build/Workers/chunk-7UUKBDH6.js +0 -1054
- package/Build/Workers/chunk-7W6DUHAB.js +0 -693
- package/Build/Workers/chunk-7XM5JK5F.js +0 -162
- package/Build/Workers/chunk-7YG3ND3P.js +0 -454
- package/Build/Workers/chunk-A3O6EDBK.js +0 -73
- package/Build/Workers/chunk-A6X24AZI.js +0 -1992
- package/Build/Workers/chunk-A7TTWVTF.js +0 -2719
- package/Build/Workers/chunk-ACTVJHSP.js +0 -519
- package/Build/Workers/chunk-ADX3CBKD.js +0 -9234
- package/Build/Workers/chunk-AF7DTMJ7.js +0 -398
- package/Build/Workers/chunk-AJSFRY4U.js +0 -1344
- package/Build/Workers/chunk-ARZICEEP.js +0 -301
- package/Build/Workers/chunk-B4CQSLZJ.js +0 -305
- package/Build/Workers/chunk-BKPQFCXH.js +0 -511
- package/Build/Workers/chunk-BSPCI2LO.js +0 -959
- package/Build/Workers/chunk-BUJWSX5S.js +0 -301
- package/Build/Workers/chunk-C7JQVRLM.js +0 -497
- package/Build/Workers/chunk-C7QDUNI3.js +0 -138
- package/Build/Workers/chunk-CDJDJ5LK.js +0 -44
- package/Build/Workers/chunk-CEEZE3YZ.js +0 -476
- package/Build/Workers/chunk-CIV5DJOQ.js +0 -778
- package/Build/Workers/chunk-CLCTQVVL.js +0 -241
- package/Build/Workers/chunk-CQNFIAZU.js +0 -56
- package/Build/Workers/chunk-CUTRKXUQ.js +0 -288
- package/Build/Workers/chunk-DBD5WWG2.js +0 -959
- package/Build/Workers/chunk-DIGUUD6G.js +0 -171
- package/Build/Workers/chunk-DZBQUULR.js +0 -138
- package/Build/Workers/chunk-E2NKV5YT.js +0 -3820
- package/Build/Workers/chunk-E7NZJOK7.js +0 -3792
- package/Build/Workers/chunk-EB3Y5P3A.js +0 -368
- package/Build/Workers/chunk-EHTS2YPT.js +0 -2719
- package/Build/Workers/chunk-ELE6SC2C.js +0 -837
- package/Build/Workers/chunk-ENNFMWDW.js +0 -789
- package/Build/Workers/chunk-ERKUET22.js +0 -3201
- package/Build/Workers/chunk-F2IMBMZY.js +0 -241
- package/Build/Workers/chunk-F4CSNRZO.js +0 -219
- package/Build/Workers/chunk-FBP4DUQJ.js +0 -693
- package/Build/Workers/chunk-FDK4K5IA.js +0 -280
- package/Build/Workers/chunk-FGQFQHN5.js +0 -1054
- package/Build/Workers/chunk-FJWZMGOQ.js +0 -1992
- package/Build/Workers/chunk-FQ42MT7M.js +0 -58
- package/Build/Workers/chunk-GGNWQWSB.js +0 -301
- package/Build/Workers/chunk-GNKXEN4C.js +0 -682
- package/Build/Workers/chunk-GSWMAFTE.js +0 -9230
- package/Build/Workers/chunk-GXDHRC4J.js +0 -1344
- package/Build/Workers/chunk-GYSYP6PC.js +0 -1067
- package/Build/Workers/chunk-H2WCFXLP.js +0 -241
- package/Build/Workers/chunk-HHV3MCGV.js +0 -162
- package/Build/Workers/chunk-HLW2ZRVK.js +0 -368
- package/Build/Workers/chunk-HS6AD4P2.js +0 -398
- package/Build/Workers/chunk-HT6FASOT.js +0 -973
- package/Build/Workers/chunk-IDVHUDZT.js +0 -352
- package/Build/Workers/chunk-IGAZBTFZ.js +0 -3201
- package/Build/Workers/chunk-IOO7Z2AV.js +0 -57
- package/Build/Workers/chunk-IUIFLOYO.js +0 -44
- package/Build/Workers/chunk-JALGQYDY.js +0 -288
- package/Build/Workers/chunk-JW6OZT4R.js +0 -288
- package/Build/Workers/chunk-JXYLJCTC.js +0 -124
- package/Build/Workers/chunk-K27QOAW6.js +0 -97
- package/Build/Workers/chunk-KMV25A63.js +0 -789
- package/Build/Workers/chunk-KZWFWJML.js +0 -2719
- package/Build/Workers/chunk-LCXRRALY.js +0 -387
- package/Build/Workers/chunk-LD64RPYV.js +0 -368
- package/Build/Workers/chunk-LGNDTZVX.js +0 -97
- package/Build/Workers/chunk-LNSQVXFH.js +0 -1800
- package/Build/Workers/chunk-M4JZ6TSZ.js +0 -959
- package/Build/Workers/chunk-MCJDRDJQ.js +0 -102
- package/Build/Workers/chunk-MEENMEAH.js +0 -198
- package/Build/Workers/chunk-NAWU5RF4.js +0 -162
- package/Build/Workers/chunk-NIWITKQK.js +0 -693
- package/Build/Workers/chunk-OA6MYL2C.js +0 -837
- package/Build/Workers/chunk-OBEU25PI.js +0 -1067
- package/Build/Workers/chunk-OHP4ELS7.js +0 -198
- package/Build/Workers/chunk-PCL3Y7H5.js +0 -82
- package/Build/Workers/chunk-PD4GK4EM.js +0 -57
- package/Build/Workers/chunk-PEDU33QG.js +0 -2342
- package/Build/Workers/chunk-PVTSNNVI.js +0 -288
- package/Build/Workers/chunk-QHPZH22L.js +0 -241
- package/Build/Workers/chunk-QIZDWZK6.js +0 -301
- package/Build/Workers/chunk-QV6DG2YX.js +0 -1483
- package/Build/Workers/chunk-QVLAFFJY.js +0 -56
- package/Build/Workers/chunk-R4FPNAZ2.js +0 -352
- package/Build/Workers/chunk-R4K7EHOU.js +0 -171
- package/Build/Workers/chunk-R7JGHDD6.js +0 -789
- package/Build/Workers/chunk-RASQEYD4.js +0 -1483
- package/Build/Workers/chunk-RG4F5R57.js +0 -454
- package/Build/Workers/chunk-RW6ITX7Q.js +0 -3820
- package/Build/Workers/chunk-RYSQVJR6.js +0 -398
- package/Build/Workers/chunk-S6RJU5NM.js +0 -1054
- package/Build/Workers/chunk-SDFHDNS4.js +0 -147
- package/Build/Workers/chunk-SF6K72D7.js +0 -124
- package/Build/Workers/chunk-SGRGNDOD.js +0 -682
- package/Build/Workers/chunk-SM2CDCYF.js +0 -198
- package/Build/Workers/chunk-SS5ABQGY.js +0 -102
- package/Build/Workers/chunk-T5QBPLE3.js +0 -414
- package/Build/Workers/chunk-TN35HP5B.js +0 -1067
- package/Build/Workers/chunk-TNWKJNUZ.js +0 -454
- package/Build/Workers/chunk-TOAF47AQ.js +0 -102
- package/Build/Workers/chunk-TQ4QCOXT.js +0 -2719
- package/Build/Workers/chunk-TSDSILQB.js +0 -124
- package/Build/Workers/chunk-TVZD72WJ.js +0 -778
- package/Build/Workers/chunk-U5LV3F3Z.js +0 -1054
- package/Build/Workers/chunk-UEY73NRN.js +0 -38
- package/Build/Workers/chunk-UF46SZEZ.js +0 -789
- package/Build/Workers/chunk-UNRTMCET.js +0 -398
- package/Build/Workers/chunk-UTB7U3O6.js +0 -1992
- package/Build/Workers/chunk-UVO6COT2.js +0 -352
- package/Build/Workers/chunk-V46YGZE6.js +0 -352
- package/Build/Workers/chunk-VAL7DYNR.js +0 -278
- package/Build/Workers/chunk-VDGOCROW.js +0 -57
- package/Build/Workers/chunk-VFWSSBPT.js +0 -511
- package/Build/Workers/chunk-VVYMXI3I.js +0 -1284
- package/Build/Workers/chunk-VXWHPYQM.js +0 -837
- package/Build/Workers/chunk-VXYUBRSB.js +0 -219
- package/Build/Workers/chunk-VZLDLEWI.js +0 -387
- package/Build/Workers/chunk-W5OCKMPJ.js +0 -101
- package/Build/Workers/chunk-WBSY7HDY.js +0 -837
- package/Build/Workers/chunk-WN3F4CVG.js +0 -3201
- package/Build/Workers/chunk-WPRUWXGV.js +0 -693
- package/Build/Workers/chunk-WTO2ERBP.js +0 -414
- package/Build/Workers/chunk-WVHMDVG4.js +0 -959
- package/Build/Workers/chunk-XGA23TAX.js +0 -73
- package/Build/Workers/chunk-XLXSDIP5.js +0 -973
- package/Build/Workers/chunk-XQ3SKCMM.js +0 -140
- package/Build/Workers/chunk-XQH66YJC.js +0 -147
- package/Build/Workers/chunk-XTA7BXJG.js +0 -682
- package/Build/Workers/chunk-XTIDAFRS.js +0 -476
- package/Build/Workers/chunk-XUEDWBUD.js +0 -682
- package/Build/Workers/chunk-XYFLRH3H.js +0 -124
- package/Build/Workers/chunk-Y7JRTRTO.js +0 -305
- package/Build/Workers/chunk-Y7QSMDCJ.js +0 -352
- package/Build/Workers/chunk-YCB5TYTR.js +0 -1483
- package/Build/Workers/chunk-YEYOSTJX.js +0 -219
- package/Build/Workers/chunk-YGFVAGYF.js +0 -630
- package/Build/Workers/chunk-YIIACKQO.js +0 -368
- package/Build/Workers/chunk-YJGSP6PE.js +0 -511
- package/Build/Workers/chunk-YKU2Q3A2.js +0 -1287
- package/Build/Workers/chunk-Z4LR5EHE.js +0 -454
- package/Build/Workers/chunk-Z66EVE2A.js +0 -44
- package/Build/Workers/chunk-ZHIHHHTB.js +0 -414
- package/Build/Workers/chunk-ZMBHFYOX.js +0 -1344
- package/Build/Workers/chunk-ZNWHFSLE.js +0 -171
- package/Build/Workers/chunk-ZQLZG4IN.js +0 -2342
- package/Build/Workers/chunk-ZRTSMUZ2.js +0 -414
- package/Build/Workers/chunk-ZSGUV73H.js +0 -2342
- package/Build/Workers/chunk-ZZUVT5BM.js +0 -476
- package/Source/Shaders/Builtin/Functions/clipPolygons.glsl +0 -37
- package/Source/Shaders/Builtin/Functions/clipPolygons.js +0 -39
- package/Source/Shaders/Builtin/Functions/unpackClippingExtents.glsl +0 -14
- package/Source/Shaders/Builtin/Functions/unpackClippingExtents.js +0 -15
- package/Source/Shaders/PolygonSignedDistanceFS.glsl +0 -131
- package/Source/Shaders/PolygonSignedDistanceFS.js +0 -132
|
@@ -162,8 +162,10 @@ function UniformState() {
|
|
|
162
162
|
this._frustum2DWidth = 0.0;
|
|
163
163
|
this._eyeHeight = 0.0;
|
|
164
164
|
this._eyeHeight2D = new Cartesian2();
|
|
165
|
+
this._eyeCartographic = new Cartesian3();
|
|
165
166
|
this._eyeEllipsoidNormalEC = new Cartesian3();
|
|
166
167
|
this._eyeEllipsoidCurvature = new Cartesian2();
|
|
168
|
+
this._eyeToEnu = new Matrix3();
|
|
167
169
|
this._modelToEnu = new Matrix4();
|
|
168
170
|
this._enuToModel = new Matrix4();
|
|
169
171
|
this._pixelRatio = 1.0;
|
|
@@ -715,6 +717,19 @@ Object.defineProperties(UniformState.prototype, {
|
|
|
715
717
|
},
|
|
716
718
|
},
|
|
717
719
|
|
|
720
|
+
/**
|
|
721
|
+
* The geodetic longitude (<code>x</code>), latitude (<code>y</code>) in radians and
|
|
722
|
+
* height (<code>z</code>) in meters of the eye (camera).
|
|
723
|
+
* This is only valid when the {@link SceneMode} is <code>SCENE3D</code>.
|
|
724
|
+
* @memberof UniformState.prototype
|
|
725
|
+
* @type {Cartesian3}
|
|
726
|
+
*/
|
|
727
|
+
eyeCartographic: {
|
|
728
|
+
get: function () {
|
|
729
|
+
return this._eyeCartographic;
|
|
730
|
+
},
|
|
731
|
+
},
|
|
732
|
+
|
|
718
733
|
/**
|
|
719
734
|
* The height (<code>x</code>) and the height squared (<code>y</code>)
|
|
720
735
|
* in meters of the eye (camera) above the 2D world plane. This uniform is only valid
|
|
@@ -751,9 +766,22 @@ Object.defineProperties(UniformState.prototype, {
|
|
|
751
766
|
},
|
|
752
767
|
},
|
|
753
768
|
|
|
769
|
+
/**
|
|
770
|
+
* A 3x3 rotation from eye coordinates to an east-north-up coordinate system
|
|
771
|
+
* centered at the position on the ellipsoid below the camera.
|
|
772
|
+
* This uniform is only valid when the {@link SceneMode} is <code>SCENE3D</code>.
|
|
773
|
+
* @memberof UniformState.prototype
|
|
774
|
+
* @type {Matrix3}
|
|
775
|
+
*/
|
|
776
|
+
eyeToEnu: {
|
|
777
|
+
get: function () {
|
|
778
|
+
return this._eyeToEnu;
|
|
779
|
+
},
|
|
780
|
+
},
|
|
781
|
+
|
|
754
782
|
/**
|
|
755
783
|
* A transform from model coordinates to an east-north-up coordinate system
|
|
756
|
-
* centered at the position on the ellipsoid
|
|
784
|
+
* centered at the position on the ellipsoid nearest to the camera.
|
|
757
785
|
* @memberof UniformState.prototype
|
|
758
786
|
* @type {Matrix4}
|
|
759
787
|
*/
|
|
@@ -1241,6 +1269,7 @@ function setInfiniteProjection(uniformState, matrix) {
|
|
|
1241
1269
|
|
|
1242
1270
|
const surfacePositionScratch = new Cartesian3();
|
|
1243
1271
|
const enuTransformScratch = new Matrix4();
|
|
1272
|
+
const enuRotationScratch = new Matrix3();
|
|
1244
1273
|
|
|
1245
1274
|
function setCamera(uniformState, camera) {
|
|
1246
1275
|
Cartesian3.clone(camera.positionWC, uniformState._cameraPosition);
|
|
@@ -1266,6 +1295,12 @@ function setCamera(uniformState, camera) {
|
|
|
1266
1295
|
);
|
|
1267
1296
|
} else {
|
|
1268
1297
|
uniformState._eyeHeight = positionCartographic.height;
|
|
1298
|
+
uniformState._eyeCartographic = Cartesian3.fromElements(
|
|
1299
|
+
positionCartographic.longitude,
|
|
1300
|
+
positionCartographic.latitude,
|
|
1301
|
+
positionCartographic.height,
|
|
1302
|
+
uniformState._eyeCartographic,
|
|
1303
|
+
);
|
|
1269
1304
|
uniformState._eyeEllipsoidNormalEC =
|
|
1270
1305
|
ellipsoid.geodeticSurfaceNormalCartographic(
|
|
1271
1306
|
positionCartographic,
|
|
@@ -1307,6 +1342,17 @@ function setCamera(uniformState, camera) {
|
|
|
1307
1342
|
uniformState._modelToEnu,
|
|
1308
1343
|
);
|
|
1309
1344
|
|
|
1345
|
+
const enuToWorldRotation = Matrix4.getRotation(
|
|
1346
|
+
enuToWorld,
|
|
1347
|
+
enuRotationScratch,
|
|
1348
|
+
);
|
|
1349
|
+
const enuToView = Matrix3.multiply(
|
|
1350
|
+
uniformState._viewRotation,
|
|
1351
|
+
enuToWorldRotation,
|
|
1352
|
+
enuRotationScratch,
|
|
1353
|
+
);
|
|
1354
|
+
uniformState._eyeToEnu = Matrix3.transpose(enuToView, uniformState._eyeToEnu);
|
|
1355
|
+
|
|
1310
1356
|
if (
|
|
1311
1357
|
!CesiumMath.equalsEpsilon(
|
|
1312
1358
|
ellipsoid._radii.x,
|
|
@@ -4,7 +4,7 @@ import Resource from "../Core/Resource.js";
|
|
|
4
4
|
|
|
5
5
|
let defaultTokenCredit;
|
|
6
6
|
const defaultAccessToken =
|
|
7
|
-
"
|
|
7
|
+
"AAPTaeRGM19PsTpo1ePVkJZk4Tg..zqn3rpU4kUaF-8QMW-oWZntlxvKhdUFXLBoo5dQwRNEKd1EoKJh-Ha2zxbrz2Nhz2tV_gLVZTQwFHLzJHKwsGDz4GTKV8jeUgb12Ci9CeU_9sOrauJYnGK2vHhtSSAQ-73rmKzNG_2lZ0zuCCEKslxCmXUw2mT1Cpk0RoCCtDheWByX1e7Lnb3LKCBDt9VhGFSGCOiaFfizFRLld8LWukKgxCgluTpKgUuUi4OytX84roEpm6mP7PE91AT1_5Uash6To";
|
|
8
8
|
/**
|
|
9
9
|
* Default options for accessing the ArcGIS image tile service.
|
|
10
10
|
*
|
|
@@ -12,6 +12,7 @@ import BufferPointMaterial from "./BufferPointMaterial.js";
|
|
|
12
12
|
/** @import ComponentDatatype from "../Core/ComponentDatatype.js"; */
|
|
13
13
|
/** @import Matrix4 from "../Core/Matrix4.js"; */
|
|
14
14
|
/** @import FrameState from "./FrameState.js"; */
|
|
15
|
+
/** @import { BufferPrimitiveCollectionOptions } from "./BufferPrimitiveCollection.js"; */
|
|
15
16
|
|
|
16
17
|
/**
|
|
17
18
|
* @typedef {object} BufferPointOptions
|
|
@@ -91,17 +92,13 @@ class BufferPointCollection extends BufferPrimitiveCollection {
|
|
|
91
92
|
// COLLECTION LIFECYCLE
|
|
92
93
|
|
|
93
94
|
/**
|
|
94
|
-
* @param {
|
|
95
|
+
* @param {BufferPrimitiveCollectionOptions} [options]
|
|
95
96
|
* @returns {BufferPointCollection}
|
|
96
97
|
* @override
|
|
97
98
|
* @ignore
|
|
98
99
|
*/
|
|
99
|
-
|
|
100
|
-
return new BufferPointCollection(
|
|
101
|
-
primitiveCountMax: collection.primitiveCountMax,
|
|
102
|
-
positionDatatype: collection.positionDatatype,
|
|
103
|
-
positionNormalized: collection.positionNormalized,
|
|
104
|
-
});
|
|
100
|
+
_cloneEmpty(options = Frozen.EMPTY_OBJECT) {
|
|
101
|
+
return new BufferPointCollection(this._cloneEmptyBaseArgs(options));
|
|
105
102
|
}
|
|
106
103
|
|
|
107
104
|
/////////////////////////////////////////////////////////////////////////////
|
|
@@ -14,6 +14,7 @@ import BufferPolygonMaterial from "./BufferPolygonMaterial.js";
|
|
|
14
14
|
/** @import { TypedArray } from "../Core/globalTypes.js"; */
|
|
15
15
|
/** @import Matrix4 from "../Core/Matrix4.js"; */
|
|
16
16
|
/** @import FrameState from "./FrameState.js" */
|
|
17
|
+
/** @import HeightReference from "./HeightReference.js"; */
|
|
17
18
|
/** @import ComponentDatatype from "../Core/ComponentDatatype.js"; */
|
|
18
19
|
|
|
19
20
|
const { ERR_CAPACITY } = BufferPrimitiveCollection.Error;
|
|
@@ -31,6 +32,29 @@ const { ERR_CAPACITY } = BufferPrimitiveCollection.Error;
|
|
|
31
32
|
* @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
|
|
32
33
|
*/
|
|
33
34
|
|
|
35
|
+
/**
|
|
36
|
+
* @typedef {object} BufferPolygonCollectionOptions
|
|
37
|
+
* @property {number} [primitiveCountMax=BufferPrimitiveCollection.DEFAULT_CAPACITY] Maximum number of polygons.
|
|
38
|
+
* @property {number} [vertexCountMax=BufferPrimitiveCollection.DEFAULT_CAPACITY] Maximum number of vertices.
|
|
39
|
+
* @property {number} [holeCountMax=BufferPrimitiveCollection.DEFAULT_CAPACITY] Maximum number of holes.
|
|
40
|
+
* @property {number} [triangleCountMax=BufferPrimitiveCollection.DEFAULT_CAPACITY] Maximum number of triangles.
|
|
41
|
+
* @property {ComponentDatatype} [positionDatatype=ComponentDatatype.DOUBLE] The component datatype used to store position values.
|
|
42
|
+
* @property {boolean} [positionNormalized=false] When <code>true</code>, integer position values are treated as normalized,
|
|
43
|
+
* where the full integer range maps to [-1, 1] (signed) or [0, 1] (unsigned). Only relevant for integer position datatypes
|
|
44
|
+
* (BYTE, UNSIGNED_BYTE, SHORT, UNSIGNED_SHORT).
|
|
45
|
+
* @property {boolean} [show=true]
|
|
46
|
+
* @property {boolean} [allowPicking=true] When <code>true</code>, primitives are pickable with {@link Scene#pick}. When <code>false</code>, memory and initialization cost are lower.
|
|
47
|
+
* @property {BoundingSphere} [boundingVolume] Bounding volume, in world space, for the collection. When
|
|
48
|
+
* unspecified, a bounding volume is computed automatically and updated when primitive positions change. When
|
|
49
|
+
* specified, users are responsible for updating bounding volume as needed. Pre-computing the bounding volume
|
|
50
|
+
* manually, and updating it only as needed, will improve performance for larger dynamic collections.
|
|
51
|
+
* @property {boolean} [debugShowBoundingVolume=false]
|
|
52
|
+
* @property {BlendOption} [blendOption=BlendOption.TRANSLUCENT]
|
|
53
|
+
* @property {HeightReference} [heightReference=HeightReference.NONE] When set to a clamping value, the
|
|
54
|
+
* collection is draped onto terrain and/or 3D Tiles, rather than drawn as geometry of its own.
|
|
55
|
+
* @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
|
|
56
|
+
*/
|
|
57
|
+
|
|
34
58
|
/**
|
|
35
59
|
* Collection of polygons held in ArrayBuffer storage for performance and memory optimization.
|
|
36
60
|
*
|
|
@@ -76,21 +100,7 @@ const { ERR_CAPACITY } = BufferPrimitiveCollection.Error;
|
|
|
76
100
|
*/
|
|
77
101
|
class BufferPolygonCollection extends BufferPrimitiveCollection {
|
|
78
102
|
/**
|
|
79
|
-
* @param {
|
|
80
|
-
* @param {number} [options.primitiveCountMax=BufferPrimitiveCollection.DEFAULT_CAPACITY]
|
|
81
|
-
* @param {number} [options.vertexCountMax=BufferPrimitiveCollection.DEFAULT_CAPACITY]
|
|
82
|
-
* @param {number} [options.holeCountMax=BufferPrimitiveCollection.DEFAULT_CAPACITY]
|
|
83
|
-
* @param {number} [options.triangleCountMax=BufferPrimitiveCollection.DEFAULT_CAPACITY]
|
|
84
|
-
* @param {ComponentDatatype} [options.positionDatatype=ComponentDatatype.DOUBLE]
|
|
85
|
-
* @param {boolean} [options.positionNormalized=false]
|
|
86
|
-
* @param {boolean} [options.show=true]
|
|
87
|
-
* @param {boolean} [options.allowPicking=true] When <code>true</code>, primitives are pickable with {@link Scene#pick}. When <code>false</code>, memory and initialization cost are lower.
|
|
88
|
-
* @param {BoundingSphere} [options.boundingVolume] Bounding volume, in world space, for the collection. When
|
|
89
|
-
* unspecified, a bounding volume is computed automatically and updated when primitive positions change. When
|
|
90
|
-
* specified, users are responsible for updating bounding volume as needed. Pre-computing the bounding volume
|
|
91
|
-
* manually, and updating it only as needed, will improve performance for larger dynamic collections.
|
|
92
|
-
* @param {boolean} [options.debugShowBoundingVolume=false]
|
|
93
|
-
* @param {BlendOption} [options.blendOption=BlendOption.TRANSLUCENT]
|
|
103
|
+
* @param {BufferPolygonCollectionOptions} [options]
|
|
94
104
|
*/
|
|
95
105
|
constructor(options = Frozen.EMPTY_OBJECT) {
|
|
96
106
|
super(options);
|
|
@@ -193,10 +203,16 @@ class BufferPolygonCollection extends BufferPrimitiveCollection {
|
|
|
193
203
|
*
|
|
194
204
|
* @param {BufferPolygonCollection} collection
|
|
195
205
|
* @param {BufferPolygonCollection} result
|
|
206
|
+
* @param {function(BufferPolygon, number): boolean} [predicate] When provided, only polygons for which this returns <code>true</code> are copied. Surviving polygons are compacted into contiguous indices.
|
|
196
207
|
* @returns {BufferPolygonCollection}
|
|
197
208
|
*/
|
|
198
|
-
static clone(collection, result) {
|
|
199
|
-
super.clone(collection, result);
|
|
209
|
+
static clone(collection, result, predicate) {
|
|
210
|
+
super.clone(collection, result, predicate);
|
|
211
|
+
|
|
212
|
+
// Base class's filtered clone uses PrimitiveClass.clone, which handles holes and triangles, so just return the result.
|
|
213
|
+
if (defined(predicate)) {
|
|
214
|
+
return result;
|
|
215
|
+
}
|
|
200
216
|
|
|
201
217
|
//>>includeStart('debug', pragmas.debug);
|
|
202
218
|
assert(collection.holeCount <= result.holeCountMax, ERR_CAPACITY);
|
|
@@ -222,19 +238,33 @@ class BufferPolygonCollection extends BufferPrimitiveCollection {
|
|
|
222
238
|
}
|
|
223
239
|
|
|
224
240
|
/**
|
|
225
|
-
*
|
|
241
|
+
* Returns a copy of the given collection, overriding any constructor options
|
|
242
|
+
* provided. Omitted options are inherited from the source collection. Any
|
|
243
|
+
* resized buffers must be large enough to hold every polygon.
|
|
244
|
+
*
|
|
245
|
+
* @param {BufferPolygonCollection} collection Source collection to copy.
|
|
246
|
+
* @param {BufferPolygonCollectionOptions} [options] Constructor options to override. Omitted options are inherited from the source collection.
|
|
247
|
+
* @param {function(BufferPolygon, number): boolean} [predicate] When provided, only polygons for which this returns <code>true</code> are copied. Surviving polygons are compacted into contiguous indices.
|
|
248
|
+
* @returns {BufferPolygonCollection}
|
|
249
|
+
* @override
|
|
250
|
+
*/
|
|
251
|
+
static fromCollection(collection, options, predicate) {
|
|
252
|
+
return /** @type {BufferPolygonCollection} */ (
|
|
253
|
+
super.fromCollection(collection, options, predicate)
|
|
254
|
+
);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* @param {BufferPolygonCollectionOptions} [options]
|
|
226
259
|
* @returns {BufferPolygonCollection}
|
|
227
260
|
* @override
|
|
228
261
|
* @ignore
|
|
229
262
|
*/
|
|
230
|
-
|
|
263
|
+
_cloneEmpty(options = Frozen.EMPTY_OBJECT) {
|
|
231
264
|
return new BufferPolygonCollection({
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
triangleCountMax: collection.triangleCountMax,
|
|
236
|
-
positionDatatype: collection.positionDatatype,
|
|
237
|
-
positionNormalized: collection.positionNormalized,
|
|
265
|
+
holeCountMax: this.holeCountMax,
|
|
266
|
+
triangleCountMax: this.triangleCountMax,
|
|
267
|
+
...this._cloneEmptyBaseArgs(options),
|
|
238
268
|
});
|
|
239
269
|
}
|
|
240
270
|
|
|
@@ -305,8 +335,7 @@ class BufferPolygonCollection extends BufferPrimitiveCollection {
|
|
|
305
335
|
update(frameState) {
|
|
306
336
|
super.update(frameState);
|
|
307
337
|
|
|
308
|
-
|
|
309
|
-
if (this.show && (passes.render || passes.pick)) {
|
|
338
|
+
if (this._isRendered(frameState)) {
|
|
310
339
|
this._renderContext = renderPolygons(
|
|
311
340
|
this,
|
|
312
341
|
frameState,
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// @ts-check
|
|
2
2
|
|
|
3
3
|
import defined from "../Core/defined.js";
|
|
4
|
+
import DeveloperError from "../Core/DeveloperError.js";
|
|
5
|
+
import Frozen from "../Core/Frozen.js";
|
|
4
6
|
import BufferPrimitiveCollection from "./BufferPrimitiveCollection.js";
|
|
5
7
|
import BufferPolyline from "./BufferPolyline.js";
|
|
6
8
|
import renderPolylines from "./renderBufferPolylineCollection.js";
|
|
@@ -8,7 +10,12 @@ import BufferPolylineMaterial from "./BufferPolylineMaterial.js";
|
|
|
8
10
|
|
|
9
11
|
/** @import { TypedArray } from "../Core/globalTypes.js"; */
|
|
10
12
|
/** @import Matrix4 from "../Core/Matrix4.js"; */
|
|
13
|
+
/** @import BoundingSphere from "../Core/BoundingSphere.js"; */
|
|
14
|
+
/** @import ComponentDatatype from "../Core/ComponentDatatype.js"; */
|
|
15
|
+
/** @import BlendOption from "./BlendOption.js"; */
|
|
16
|
+
/** @import HeightReference from "./HeightReference.js"; */
|
|
11
17
|
/** @import FrameState from "./FrameState.js" */
|
|
18
|
+
/** @import { BufferPrimitiveCollectionOptions } from "./BufferPrimitiveCollection.js"; */
|
|
12
19
|
|
|
13
20
|
/**
|
|
14
21
|
* @typedef {object} BufferPolylineOptions
|
|
@@ -57,6 +64,55 @@ import BufferPolylineMaterial from "./BufferPolylineMaterial.js";
|
|
|
57
64
|
* @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
|
|
58
65
|
*/
|
|
59
66
|
class BufferPolylineCollection extends BufferPrimitiveCollection {
|
|
67
|
+
/**
|
|
68
|
+
* @param {object} [options]
|
|
69
|
+
* @param {Matrix4} [options.modelMatrix=Matrix4.IDENTITY] Transforms geometry from model to world coordinates.
|
|
70
|
+
* @param {number} [options.primitiveCountMax=BufferPrimitiveCollection.DEFAULT_CAPACITY]
|
|
71
|
+
* @param {number} [options.vertexCountMax=BufferPrimitiveCollection.DEFAULT_CAPACITY]
|
|
72
|
+
* @param {boolean} [options.show=true]
|
|
73
|
+
* @param {ComponentDatatype} [options.positionDatatype=ComponentDatatype.DOUBLE]
|
|
74
|
+
* @param {boolean} [options.positionNormalized=false]
|
|
75
|
+
* @param {boolean} [options.allowPicking=false] When <code>true</code>, primitives are pickable with {@link Scene#pick}. When <code>false</code>, memory and initialization cost are lower.
|
|
76
|
+
* @param {BoundingSphere} [options.boundingVolume] Bounding volume, in world space, for the collection.
|
|
77
|
+
* @param {boolean} [options.debugShowBoundingVolume=false]
|
|
78
|
+
* @param {BlendOption} [options.blendOption=BlendOption.TRANSLUCENT]
|
|
79
|
+
* @param {HeightReference} [options.heightReference=HeightReference.NONE]
|
|
80
|
+
* @param {"pixels"|"meters"} [options.widthUnits="pixels"] Unit of polyline widths in this collection:
|
|
81
|
+
* <code>"pixels"</code> on the screen, or <code>"meters"</code> in world space. A clamped
|
|
82
|
+
* {@link HeightReference} measures those meters on the ellipsoid surface, so elevation and terrain
|
|
83
|
+
* slope stretch the drawn width.
|
|
84
|
+
*/
|
|
85
|
+
constructor(options = Frozen.EMPTY_OBJECT) {
|
|
86
|
+
super(options);
|
|
87
|
+
|
|
88
|
+
const widthUnits = options.widthUnits ?? "pixels";
|
|
89
|
+
|
|
90
|
+
//>>includeStart('debug', pragmas.debug);
|
|
91
|
+
if (widthUnits !== "pixels" && widthUnits !== "meters") {
|
|
92
|
+
throw new DeveloperError(
|
|
93
|
+
'options.widthUnits must be "pixels" or "meters".',
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
//>>includeEnd('debug');
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* @type {"pixels"|"meters"}
|
|
100
|
+
* @private
|
|
101
|
+
*/
|
|
102
|
+
this._widthUnits = widthUnits;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Unit of polyline widths in this collection: <code>"pixels"</code> on the screen, or
|
|
107
|
+
* <code>"meters"</code> in world space, measured on the ellipsoid surface when clamped.
|
|
108
|
+
*
|
|
109
|
+
* @type {"pixels"|"meters"}
|
|
110
|
+
* @readonly
|
|
111
|
+
*/
|
|
112
|
+
get widthUnits() {
|
|
113
|
+
return this._widthUnits;
|
|
114
|
+
}
|
|
115
|
+
|
|
60
116
|
_getCollectionClass() {
|
|
61
117
|
return BufferPolylineCollection;
|
|
62
118
|
}
|
|
@@ -73,17 +129,15 @@ class BufferPolylineCollection extends BufferPrimitiveCollection {
|
|
|
73
129
|
// COLLECTION LIFECYCLE
|
|
74
130
|
|
|
75
131
|
/**
|
|
76
|
-
* @param {
|
|
132
|
+
* @param {BufferPrimitiveCollectionOptions} [options]
|
|
77
133
|
* @returns {BufferPolylineCollection}
|
|
78
134
|
* @override
|
|
79
135
|
* @ignore
|
|
80
136
|
*/
|
|
81
|
-
|
|
137
|
+
_cloneEmpty(options = Frozen.EMPTY_OBJECT) {
|
|
82
138
|
return new BufferPolylineCollection({
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
positionDatatype: collection.positionDatatype,
|
|
86
|
-
positionNormalized: collection.positionNormalized,
|
|
139
|
+
widthUnits: this._widthUnits,
|
|
140
|
+
...this._cloneEmptyBaseArgs(options),
|
|
87
141
|
});
|
|
88
142
|
}
|
|
89
143
|
|
|
@@ -126,8 +180,7 @@ class BufferPolylineCollection extends BufferPrimitiveCollection {
|
|
|
126
180
|
update(frameState) {
|
|
127
181
|
super.update(frameState);
|
|
128
182
|
|
|
129
|
-
|
|
130
|
-
if (this.show && (passes.render || passes.pick)) {
|
|
183
|
+
if (this._isRendered(frameState)) {
|
|
131
184
|
this._renderContext = renderPolylines(
|
|
132
185
|
this,
|
|
133
186
|
frameState,
|
|
@@ -11,7 +11,8 @@ import BufferPrimitiveMaterial from "./BufferPrimitiveMaterial.js";
|
|
|
11
11
|
* @property {Color} [color=Color.WHITE] Color of fill.
|
|
12
12
|
* @property {Color} [outlineColor=Color.WHITE] Color of outline.
|
|
13
13
|
* @property {number} [outlineWidth=0.0] Width of outline, 0-255px.
|
|
14
|
-
* @property {number} [width=1.0] Width of line,
|
|
14
|
+
* @property {number} [width=1.0] Width of line, in the unit selected by
|
|
15
|
+
* {@link BufferPolylineCollection#widthUnits}.
|
|
15
16
|
*/
|
|
16
17
|
|
|
17
18
|
/**
|
|
@@ -28,7 +29,7 @@ class BufferPolylineMaterial extends BufferPrimitiveMaterial {
|
|
|
28
29
|
/** @ignore */
|
|
29
30
|
static Layout = {
|
|
30
31
|
...BufferPrimitiveMaterial.Layout,
|
|
31
|
-
|
|
32
|
+
WIDTH_F32: BufferPrimitiveMaterial.Layout.__BYTE_LENGTH,
|
|
32
33
|
__BYTE_LENGTH: BufferPrimitiveMaterial.Layout.__BYTE_LENGTH + 4,
|
|
33
34
|
};
|
|
34
35
|
|
|
@@ -45,7 +46,7 @@ class BufferPolylineMaterial extends BufferPrimitiveMaterial {
|
|
|
45
46
|
super(options);
|
|
46
47
|
|
|
47
48
|
/**
|
|
48
|
-
* Width of polyline,
|
|
49
|
+
* Width of polyline, in the unit selected by {@link BufferPolylineCollection#widthUnits}.
|
|
49
50
|
* @type {number}
|
|
50
51
|
*/
|
|
51
52
|
this.width = options.width ?? 1;
|
|
@@ -59,7 +60,7 @@ class BufferPolylineMaterial extends BufferPrimitiveMaterial {
|
|
|
59
60
|
*/
|
|
60
61
|
static pack(material, view, byteOffset) {
|
|
61
62
|
super.pack(material, view, byteOffset);
|
|
62
|
-
view.
|
|
63
|
+
view.setFloat32(this.Layout.WIDTH_F32 + byteOffset, material.width, true);
|
|
63
64
|
}
|
|
64
65
|
|
|
65
66
|
/**
|
|
@@ -71,7 +72,7 @@ class BufferPolylineMaterial extends BufferPrimitiveMaterial {
|
|
|
71
72
|
*/
|
|
72
73
|
static unpack(view, byteOffset, result) {
|
|
73
74
|
super.unpack(view, byteOffset, result);
|
|
74
|
-
result.width = view.
|
|
75
|
+
result.width = view.getFloat32(this.Layout.WIDTH_F32 + byteOffset, true);
|
|
75
76
|
return result;
|
|
76
77
|
}
|
|
77
78
|
|