@cesium/engine 10.1.0 → 11.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.
Files changed (845) hide show
  1. package/Build/Workers/{chunk-EB7PNZTK.js → chunk-26GA3JAM.js} +6 -5
  2. package/Build/Workers/{chunk-RZLZWKFN.js → chunk-27HUZ7SA.js} +4 -4
  3. package/Build/Workers/{chunk-A5CODJ4M.js → chunk-2ZGOQXYU.js} +6 -6
  4. package/Build/Workers/{chunk-TF776XCO.js → chunk-3Q2L65QU.js} +7 -7
  5. package/Build/Workers/{chunk-NVOABL76.js → chunk-472HQ3EH.js} +5 -5
  6. package/Build/Workers/{chunk-QX5XS4LC.js → chunk-5ODQSF26.js} +2 -2
  7. package/Build/Workers/{chunk-4YSNMHZ4.js → chunk-5OOFQLKF.js} +6 -6
  8. package/Build/Workers/{chunk-OXALEQPI.js → chunk-5PTXS2GO.js} +49 -23
  9. package/Build/Workers/{chunk-T77JILCU.js → chunk-6CHGCNMW.js} +2 -2
  10. package/Build/Workers/{chunk-FEVVHITK.js → chunk-76BYBWHP.js} +4 -4
  11. package/Build/Workers/{chunk-65MZOUNU.js → chunk-7BMOHCPM.js} +13 -13
  12. package/Build/Workers/{chunk-VE7BFUIX.js → chunk-7JO7GPJN.js} +1 -1
  13. package/Build/Workers/{chunk-5BLJ5ZM6.js → chunk-7KTQP4VB.js} +5 -5
  14. package/Build/Workers/{chunk-G5V4GPZE.js → chunk-7O373FFS.js} +8 -34
  15. package/Build/Workers/{chunk-S3PI2KFM.js → chunk-AD63PIY6.js} +2 -2
  16. package/Build/Workers/{chunk-6D66DPRV.js → chunk-BHQJ2NT7.js} +6 -6
  17. package/Build/Workers/{chunk-I2RC4XVN.js → chunk-C6YYBQXW.js} +4 -4
  18. package/Build/Workers/{chunk-X2ZQ7RJR.js → chunk-CKY7HOHV.js} +9 -9
  19. package/Build/Workers/{chunk-TO2PVHKI.js → chunk-DHYHSFFJ.js} +2 -2
  20. package/Build/Workers/{chunk-R6B7UCQB.js → chunk-DI5NGJUP.js} +2 -2
  21. package/Build/Workers/{chunk-X23FRWHJ.js → chunk-E27BLMDD.js} +7 -9
  22. package/Build/Workers/{chunk-N4QEHO3U.js → chunk-E63IIM5T.js} +1 -1
  23. package/Build/Workers/{chunk-BY3E4ONI.js → chunk-E6V6SQZW.js} +6 -6
  24. package/Build/Workers/{chunk-LSSWVB2X.js → chunk-EJZTDTUH.js} +4 -4
  25. package/Build/Workers/{chunk-XLTOBCDI.js → chunk-FDOV2LBJ.js} +7 -7
  26. package/Build/Workers/{chunk-ACRTCBN5.js → chunk-FIGIZHAQ.js} +11 -11
  27. package/Build/Workers/{chunk-4RMIRG6T.js → chunk-GESF4OXQ.js} +2 -2
  28. package/Build/Workers/{chunk-PNFHVBSF.js → chunk-GGZJN2TI.js} +16 -15
  29. package/Build/Workers/{chunk-KV4EQHK4.js → chunk-GNBFYG7F.js} +83 -79
  30. package/Build/Workers/{chunk-FOZWUH4T.js → chunk-GWCFU2SA.js} +7 -7
  31. package/Build/Workers/{chunk-Q55ECN3Y.js → chunk-I2ITFFPX.js} +1 -1
  32. package/Build/Workers/{chunk-XQI7XZHX.js → chunk-IBLIYJZR.js} +6 -6
  33. package/Build/Workers/{chunk-D2U4RI64.js → chunk-JW4FOI6M.js} +7 -7
  34. package/Build/Workers/{chunk-2J3JKXCP.js → chunk-K4GQUNB5.js} +9 -5
  35. package/Build/Workers/{chunk-POSRARY7.js → chunk-M3GMB5OP.js} +10 -10
  36. package/Build/Workers/{chunk-OOK53QUQ.js → chunk-MXIZJAPH.js} +1 -1
  37. package/Build/Workers/{chunk-OWGTMVDB.js → chunk-N5KJGGCM.js} +18 -20
  38. package/Build/Workers/{chunk-J7MQUQJY.js → chunk-NGPPMXRM.js} +12 -7
  39. package/Build/Workers/{chunk-OOMCT7OL.js → chunk-O3E4OAOE.js} +13 -13
  40. package/Build/Workers/{chunk-C3Z23UUJ.js → chunk-PGRPDNHG.js} +19 -23
  41. package/Build/Workers/{chunk-4VFBBNQ3.js → chunk-PRGYLLJT.js} +1 -1
  42. package/Build/Workers/{chunk-XZZNKIEV.js → chunk-S6MRMMQU.js} +6 -6
  43. package/Build/Workers/{chunk-76BYYG7N.js → chunk-SMDOP47J.js} +10 -10
  44. package/Build/Workers/{chunk-ZU334IDQ.js → chunk-TGONEMZO.js} +11 -11
  45. package/Build/Workers/{chunk-VRZ46QZ5.js → chunk-TKVT5GQM.js} +13 -13
  46. package/Build/Workers/{chunk-FDCLACT5.js → chunk-U72QNFOJ.js} +15 -25
  47. package/Build/Workers/{chunk-F3NDOSTZ.js → chunk-VJZB3WAV.js} +7 -7
  48. package/Build/Workers/{chunk-GPJR7MPQ.js → chunk-VU2MNO7L.js} +7 -7
  49. package/Build/Workers/{chunk-R4OIEIPE.js → chunk-XY4BATBS.js} +4 -4
  50. package/Build/Workers/{chunk-T6LPN7RI.js → chunk-YFXQECWV.js} +5 -5
  51. package/Build/Workers/{chunk-UCIPJSZX.js → chunk-YSGTGQQO.js} +14 -14
  52. package/Build/Workers/{chunk-BGE4QVG7.js → chunk-YZ733KKS.js} +12 -12
  53. package/Build/Workers/combineGeometry.js +23 -25
  54. package/Build/Workers/createBoxGeometry.js +16 -16
  55. package/Build/Workers/createBoxOutlineGeometry.js +14 -14
  56. package/Build/Workers/createCircleGeometry.js +24 -24
  57. package/Build/Workers/createCircleOutlineGeometry.js +17 -17
  58. package/Build/Workers/createCoplanarPolygonGeometry.js +31 -31
  59. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +29 -29
  60. package/Build/Workers/createCorridorGeometry.js +27 -27
  61. package/Build/Workers/createCorridorOutlineGeometry.js +26 -26
  62. package/Build/Workers/createCylinderGeometry.js +18 -18
  63. package/Build/Workers/createCylinderOutlineGeometry.js +16 -16
  64. package/Build/Workers/createEllipseGeometry.js +24 -24
  65. package/Build/Workers/createEllipseOutlineGeometry.js +17 -17
  66. package/Build/Workers/createEllipsoidGeometry.js +17 -17
  67. package/Build/Workers/createEllipsoidOutlineGeometry.js +16 -16
  68. package/Build/Workers/createFrustumGeometry.js +16 -16
  69. package/Build/Workers/createFrustumOutlineGeometry.js +16 -16
  70. package/Build/Workers/createGeometry.js +25 -26
  71. package/Build/Workers/createGroundPolylineGeometry.js +20 -20
  72. package/Build/Workers/createPlaneGeometry.js +14 -14
  73. package/Build/Workers/createPlaneOutlineGeometry.js +13 -13
  74. package/Build/Workers/createPolygonGeometry.js +36 -40
  75. package/Build/Workers/createPolygonOutlineGeometry.js +40 -48
  76. package/Build/Workers/createPolylineGeometry.js +23 -23
  77. package/Build/Workers/createPolylineVolumeGeometry.js +32 -31
  78. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +25 -25
  79. package/Build/Workers/createRectangleGeometry.js +28 -30
  80. package/Build/Workers/createRectangleOutlineGeometry.js +19 -19
  81. package/Build/Workers/createSimplePolylineGeometry.js +21 -21
  82. package/Build/Workers/createSphereGeometry.js +17 -17
  83. package/Build/Workers/createSphereOutlineGeometry.js +16 -16
  84. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  85. package/Build/Workers/createVectorTileClampedPolylines.js +13 -13
  86. package/Build/Workers/createVectorTileGeometries.js +22 -22
  87. package/Build/Workers/createVectorTilePoints.js +12 -12
  88. package/Build/Workers/createVectorTilePolygons.js +20 -20
  89. package/Build/Workers/createVectorTilePolylines.js +13 -13
  90. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -26
  91. package/Build/Workers/createVerticesFromHeightmap.js +26 -26
  92. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +42 -32
  93. package/Build/Workers/createWallGeometry.js +22 -22
  94. package/Build/Workers/createWallOutlineGeometry.js +21 -21
  95. package/Build/Workers/decodeDraco.js +11 -11
  96. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +28 -5
  97. package/Build/Workers/decodeI3S.js +10 -10
  98. package/Build/Workers/transcodeKTX2.js +19 -18
  99. package/Build/Workers/transferTypedArrayTest.js +1 -1
  100. package/Build/Workers/upsampleQuantizedTerrainMesh.js +20 -20
  101. package/Source/Core/ApproximateTerrainHeights.js +15 -15
  102. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +33 -35
  103. package/Source/Core/AttributeCompression.js +12 -12
  104. package/Source/Core/AxisAlignedBoundingBox.js +2 -2
  105. package/Source/Core/BingMapsGeocoderService.js +1 -1
  106. package/Source/Core/BoundingRectangle.js +3 -3
  107. package/Source/Core/BoundingSphere.js +44 -44
  108. package/Source/Core/BoxGeometry.js +6 -6
  109. package/Source/Core/BoxOutlineGeometry.js +3 -3
  110. package/Source/Core/Cartesian2.js +7 -7
  111. package/Source/Core/Cartesian3.js +20 -20
  112. package/Source/Core/Cartesian4.js +8 -8
  113. package/Source/Core/Cartographic.js +6 -6
  114. package/Source/Core/CatmullRomSpline.js +6 -6
  115. package/Source/Core/CesiumTerrainProvider.js +66 -68
  116. package/Source/Core/Check.d.ts +3 -3
  117. package/Source/Core/Check.js +11 -11
  118. package/Source/Core/CircleGeometry.js +6 -6
  119. package/Source/Core/CircleOutlineGeometry.js +4 -4
  120. package/Source/Core/Clock.js +4 -4
  121. package/Source/Core/Color.js +11 -8
  122. package/Source/Core/ColorGeometryInstanceAttribute.js +1 -1
  123. package/Source/Core/ComponentDatatype.js +4 -4
  124. package/Source/Core/CompressedTextureBuffer.js +13 -2
  125. package/Source/Core/ConstantSpline.js +1 -1
  126. package/Source/Core/CoplanarPolygonGeometry.js +44 -41
  127. package/Source/Core/CoplanarPolygonGeometryLibrary.js +5 -5
  128. package/Source/Core/CoplanarPolygonOutlineGeometry.js +6 -6
  129. package/Source/Core/CorridorGeometry.js +77 -77
  130. package/Source/Core/CorridorGeometryLibrary.js +45 -45
  131. package/Source/Core/CorridorOutlineGeometry.js +16 -16
  132. package/Source/Core/CullingVolume.js +4 -4
  133. package/Source/Core/CustomHeightmapTerrainProvider.js +13 -13
  134. package/Source/Core/CylinderGeometry.js +8 -8
  135. package/Source/Core/CylinderGeometryLibrary.js +1 -1
  136. package/Source/Core/CylinderOutlineGeometry.js +4 -4
  137. package/Source/Core/DeveloperError.js +1 -1
  138. package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +20 -21
  139. package/Source/Core/DoubleEndedPriorityQueue.js +2 -2
  140. package/Source/Core/EarthOrientationParameters.js +21 -25
  141. package/Source/Core/EarthOrientationParametersSample.js +1 -1
  142. package/Source/Core/EllipseGeometry.js +54 -55
  143. package/Source/Core/EllipseGeometryLibrary.js +12 -12
  144. package/Source/Core/EllipseOutlineGeometry.js +19 -19
  145. package/Source/Core/Ellipsoid.js +25 -33
  146. package/Source/Core/EllipsoidGeodesic.js +17 -16
  147. package/Source/Core/EllipsoidGeometry.js +9 -8
  148. package/Source/Core/EllipsoidOutlineGeometry.js +4 -4
  149. package/Source/Core/EllipsoidRhumbLine.js +33 -32
  150. package/Source/Core/EllipsoidTangentPlane.js +16 -16
  151. package/Source/Core/EllipsoidTerrainProvider.js +11 -10
  152. package/Source/Core/EllipsoidalOccluder.js +110 -130
  153. package/Source/Core/FeatureDetection.js +4 -4
  154. package/Source/Core/FrustumGeometry.js +14 -14
  155. package/Source/Core/FrustumOutlineGeometry.js +4 -4
  156. package/Source/Core/GeographicTilingScheme.js +6 -6
  157. package/Source/Core/Geometry.js +15 -17
  158. package/Source/Core/GeometryAttribute.js +4 -9
  159. package/Source/Core/GeometryAttributes.js +6 -6
  160. package/Source/Core/GeometryInstance.js +3 -4
  161. package/Source/Core/GeometryInstanceAttribute.js +1 -6
  162. package/Source/Core/GeometryPipeline.js +133 -137
  163. package/Source/Core/GoogleEarthEnterpriseMetadata.js +19 -20
  164. package/Source/Core/GoogleEarthEnterpriseTerrainData.js +25 -24
  165. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +17 -21
  166. package/Source/Core/GoogleEarthEnterpriseTileInformation.js +2 -2
  167. package/Source/Core/GoogleMaps.js +1 -1
  168. package/Source/Core/GregorianDate.js +4 -4
  169. package/Source/Core/GroundPolylineGeometry.js +104 -104
  170. package/Source/Core/HeadingPitchRoll.js +7 -7
  171. package/Source/Core/HeightmapTerrainData.js +58 -54
  172. package/Source/Core/HeightmapTessellator.js +22 -23
  173. package/Source/Core/HermitePolynomialApproximation.js +8 -8
  174. package/Source/Core/HermiteSpline.js +11 -11
  175. package/Source/Core/HilbertOrder.js +1 -1
  176. package/Source/Core/Iau2006XysData.js +6 -6
  177. package/Source/Core/IauOrientationAxes.js +2 -2
  178. package/Source/Core/IauOrientationParameters.js +1 -1
  179. package/Source/Core/IndexDatatype.js +5 -5
  180. package/Source/Core/IntersectionTests.js +36 -78
  181. package/Source/Core/Intersections2D.js +3 -3
  182. package/Source/Core/Ion.js +1 -1
  183. package/Source/Core/IonGeocoderService.js +2 -2
  184. package/Source/Core/IonResource.js +5 -5
  185. package/Source/Core/Iso8601.js +3 -3
  186. package/Source/Core/JulianDate.js +23 -33
  187. package/Source/Core/KTX2Transcoder.js +11 -18
  188. package/Source/Core/LagrangePolynomialApproximation.js +1 -1
  189. package/Source/Core/LinearApproximation.js +4 -4
  190. package/Source/Core/LinearSpline.js +2 -2
  191. package/Source/Core/Math.js +4 -4
  192. package/Source/Core/Matrix2.js +3 -3
  193. package/Source/Core/Matrix3.js +16 -16
  194. package/Source/Core/Matrix4.js +31 -31
  195. package/Source/Core/MorphWeightSpline.js +2 -2
  196. package/Source/Core/NearFarScalar.js +1 -1
  197. package/Source/Core/Occluder.js +52 -56
  198. package/Source/Core/OpenCageGeocoderService.js +2 -2
  199. package/Source/Core/OrientedBoundingBox.js +52 -51
  200. package/Source/Core/OrthographicFrustum.js +11 -11
  201. package/Source/Core/OrthographicOffCenterFrustum.js +17 -17
  202. package/Source/Core/PeliasGeocoderService.js +1 -1
  203. package/Source/Core/PerspectiveFrustum.js +61 -55
  204. package/Source/Core/PerspectiveOffCenterFrustum.js +58 -59
  205. package/Source/Core/PinBuilder.js +1 -1
  206. package/Source/Core/PixelFormat.js +7 -21
  207. package/Source/Core/Plane.js +9 -9
  208. package/Source/Core/PlaneGeometry.js +1 -1
  209. package/Source/Core/PolygonGeometry.js +95 -94
  210. package/Source/Core/PolygonGeometryLibrary.js +49 -51
  211. package/Source/Core/PolygonOutlineGeometry.js +49 -51
  212. package/Source/Core/PolygonPipeline.js +31 -31
  213. package/Source/Core/PolylineGeometry.js +10 -10
  214. package/Source/Core/PolylinePipeline.js +25 -25
  215. package/Source/Core/PolylineVolumeGeometry.js +9 -9
  216. package/Source/Core/PolylineVolumeGeometryLibrary.js +51 -51
  217. package/Source/Core/PolylineVolumeOutlineGeometry.js +6 -6
  218. package/Source/Core/QuadraticRealPolynomial.js +1 -1
  219. package/Source/Core/QuantizedMeshTerrainData.js +28 -28
  220. package/Source/Core/QuarticRealPolynomial.js +1 -1
  221. package/Source/Core/Quaternion.js +19 -19
  222. package/Source/Core/QuaternionSpline.js +2 -2
  223. package/Source/Core/Rectangle.js +34 -13
  224. package/Source/Core/RectangleCollisionChecker.js +3 -3
  225. package/Source/Core/RectangleGeometry.js +55 -56
  226. package/Source/Core/RectangleGeometryLibrary.js +8 -8
  227. package/Source/Core/RectangleOutlineGeometry.js +20 -20
  228. package/Source/Core/RequestScheduler.js +6 -6
  229. package/Source/Core/Resource.js +24 -24
  230. package/Source/Core/S2Cell.js +16 -80
  231. package/Source/Core/ScreenSpaceEventHandler.js +54 -53
  232. package/Source/Core/Simon1994PlanetaryPositions.js +13 -13
  233. package/Source/Core/SimplePolylineGeometry.js +7 -7
  234. package/Source/Core/SphereGeometry.js +2 -2
  235. package/Source/Core/SphereOutlineGeometry.js +3 -3
  236. package/Source/Core/Spline.js +1 -1
  237. package/Source/Core/SteppedSpline.js +1 -1
  238. package/Source/Core/Stereographic.js +9 -9
  239. package/Source/Core/TaskProcessor.js +13 -13
  240. package/Source/Core/TerrainEncoding.js +33 -38
  241. package/Source/Core/TerrainMesh.js +1 -1
  242. package/Source/Core/TerrainProvider.js +12 -12
  243. package/Source/Core/TileAvailability.js +28 -28
  244. package/Source/Core/TileProviderError.js +5 -5
  245. package/Source/Core/TilingScheme.js +1 -1
  246. package/Source/Core/TimeInterval.js +4 -4
  247. package/Source/Core/TimeIntervalCollection.js +16 -15
  248. package/Source/Core/Tipsify.js +2 -2
  249. package/Source/Core/Transforms.js +52 -54
  250. package/Source/Core/TranslationRotationScale.js +1 -1
  251. package/Source/Core/TridiagonalSystemSolver.js +4 -4
  252. package/Source/Core/VRTheWorldTerrainProvider.js +28 -26
  253. package/Source/Core/VertexFormat.js +6 -6
  254. package/Source/Core/VerticalExaggeration.js +4 -4
  255. package/Source/Core/VideoSynchronizer.js +1 -1
  256. package/Source/Core/WallGeometry.js +18 -18
  257. package/Source/Core/WallGeometryLibrary.js +7 -7
  258. package/Source/Core/WallOutlineGeometry.js +8 -8
  259. package/Source/Core/WebMercatorProjection.js +5 -6
  260. package/Source/Core/WebMercatorTilingScheme.js +13 -13
  261. package/Source/Core/WireframeIndexGenerator.js +8 -8
  262. package/Source/Core/arrayRemoveDuplicates.js +1 -1
  263. package/Source/Core/buildModuleUrl.js +2 -2
  264. package/Source/Core/decodeGoogleEarthEnterpriseData.js +3 -3
  265. package/Source/Core/decodeVectorPolylinePositions.js +4 -4
  266. package/Source/Core/destroyObject.js +1 -1
  267. package/Source/Core/getJsonFromTypedArray.js +1 -1
  268. package/Source/Core/getMagic.js +1 -1
  269. package/Source/Core/loadImageFromTypedArray.js +2 -2
  270. package/Source/Core/loadKTX2.js +1 -1
  271. package/Source/Core/pointInsideTriangle.js +1 -1
  272. package/Source/Core/resizeImageToNextPowerOfTwo.js +1 -1
  273. package/Source/Core/sampleTerrain.js +7 -7
  274. package/Source/Core/sampleTerrainMostDetailed.js +7 -7
  275. package/Source/Core/scaleToGeodeticSurface.js +3 -3
  276. package/Source/Core/srgbToLinear.js +1 -1
  277. package/Source/Core/writeTextToCanvas.js +1 -1
  278. package/Source/DataSources/BillboardGraphics.js +13 -13
  279. package/Source/DataSources/BillboardVisualizer.js +24 -24
  280. package/Source/DataSources/BoxGeometryUpdater.js +33 -32
  281. package/Source/DataSources/BoxGraphics.js +3 -3
  282. package/Source/DataSources/CallbackPositionProperty.js +173 -0
  283. package/Source/DataSources/CallbackProperty.js +8 -2
  284. package/Source/DataSources/Cesium3DTilesetGraphics.js +1 -1
  285. package/Source/DataSources/Cesium3DTilesetVisualizer.js +6 -6
  286. package/Source/DataSources/CheckerboardMaterialProperty.js +9 -3
  287. package/Source/DataSources/ColorMaterialProperty.js +8 -2
  288. package/Source/DataSources/CompositeEntityCollection.js +14 -15
  289. package/Source/DataSources/CompositeMaterialProperty.js +10 -11
  290. package/Source/DataSources/CompositePositionProperty.js +11 -6
  291. package/Source/DataSources/CompositeProperty.js +7 -7
  292. package/Source/DataSources/ConstantPositionProperty.js +9 -3
  293. package/Source/DataSources/CorridorGeometryUpdater.js +61 -56
  294. package/Source/DataSources/CorridorGraphics.js +6 -6
  295. package/Source/DataSources/CylinderGeometryUpdater.js +42 -40
  296. package/Source/DataSources/CylinderGraphics.js +4 -4
  297. package/Source/DataSources/CzmlDataSource.js +365 -368
  298. package/Source/DataSources/DataSourceCollection.js +1 -1
  299. package/Source/DataSources/DataSourceDisplay.js +23 -23
  300. package/Source/DataSources/DynamicGeometryBatch.js +2 -2
  301. package/Source/DataSources/DynamicGeometryUpdater.js +14 -18
  302. package/Source/DataSources/EllipseGeometryUpdater.js +67 -63
  303. package/Source/DataSources/EllipseGraphics.js +7 -7
  304. package/Source/DataSources/EllipsoidGeometryUpdater.js +88 -86
  305. package/Source/DataSources/EllipsoidGraphics.js +5 -5
  306. package/Source/DataSources/Entity.js +14 -14
  307. package/Source/DataSources/EntityCluster.js +29 -27
  308. package/Source/DataSources/EntityCollection.js +7 -7
  309. package/Source/DataSources/EntityView.js +23 -23
  310. package/Source/DataSources/GeoJsonDataSource.js +25 -25
  311. package/Source/DataSources/GeometryUpdater.js +9 -10
  312. package/Source/DataSources/GeometryUpdaterSet.js +3 -3
  313. package/Source/DataSources/GeometryVisualizer.js +65 -71
  314. package/Source/DataSources/GpxDataSource.js +10 -10
  315. package/Source/DataSources/GridMaterialProperty.js +12 -6
  316. package/Source/DataSources/GroundGeometryUpdater.js +6 -6
  317. package/Source/DataSources/ImageMaterialProperty.js +10 -3
  318. package/Source/DataSources/KmlDataSource.js +212 -212
  319. package/Source/DataSources/LabelGraphics.js +14 -14
  320. package/Source/DataSources/LabelVisualizer.js +24 -24
  321. package/Source/DataSources/MaterialProperty.js +7 -1
  322. package/Source/DataSources/ModelGraphics.js +37 -17
  323. package/Source/DataSources/ModelVisualizer.js +41 -32
  324. package/Source/DataSources/NodeTransformationProperty.js +10 -4
  325. package/Source/DataSources/PathGraphics.js +2 -2
  326. package/Source/DataSources/PathVisualizer.js +99 -35
  327. package/Source/DataSources/PlaneGeometryUpdater.js +38 -37
  328. package/Source/DataSources/PlaneGraphics.js +2 -2
  329. package/Source/DataSources/PointGraphics.js +8 -8
  330. package/Source/DataSources/PointVisualizer.js +29 -29
  331. package/Source/DataSources/PolygonGeometryUpdater.js +68 -64
  332. package/Source/DataSources/PolygonGraphics.js +9 -9
  333. package/Source/DataSources/PolylineArrowMaterialProperty.js +8 -2
  334. package/Source/DataSources/PolylineDashMaterialProperty.js +11 -5
  335. package/Source/DataSources/PolylineGeometryUpdater.js +39 -44
  336. package/Source/DataSources/PolylineGlowMaterialProperty.js +10 -4
  337. package/Source/DataSources/PolylineGraphics.js +4 -4
  338. package/Source/DataSources/PolylineOutlineMaterialProperty.js +10 -4
  339. package/Source/DataSources/PolylineVisualizer.js +39 -43
  340. package/Source/DataSources/PolylineVolumeGeometryUpdater.js +70 -68
  341. package/Source/DataSources/PolylineVolumeGraphics.js +2 -2
  342. package/Source/DataSources/PositionProperty.js +5 -4
  343. package/Source/DataSources/PositionPropertyArray.js +10 -4
  344. package/Source/DataSources/Property.js +2 -2
  345. package/Source/DataSources/PropertyArray.js +6 -6
  346. package/Source/DataSources/PropertyBag.js +10 -9
  347. package/Source/DataSources/RectangleGeometryUpdater.js +68 -63
  348. package/Source/DataSources/RectangleGraphics.js +6 -6
  349. package/Source/DataSources/ReferenceProperty.js +13 -7
  350. package/Source/DataSources/Rotation.js +2 -2
  351. package/Source/DataSources/SampledPositionProperty.js +13 -7
  352. package/Source/DataSources/SampledProperty.js +22 -20
  353. package/Source/DataSources/ScaledPositionProperty.js +8 -2
  354. package/Source/DataSources/StaticGeometryColorBatch.js +41 -41
  355. package/Source/DataSources/StaticGeometryPerMaterialBatch.js +40 -40
  356. package/Source/DataSources/StaticGroundGeometryColorBatch.js +26 -27
  357. package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +46 -44
  358. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +44 -43
  359. package/Source/DataSources/StaticOutlineGeometryBatch.js +28 -29
  360. package/Source/DataSources/StripeMaterialProperty.js +9 -3
  361. package/Source/DataSources/TerrainOffsetProperty.js +20 -11
  362. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +35 -31
  363. package/Source/DataSources/TimeIntervalCollectionProperty.js +6 -6
  364. package/Source/DataSources/VelocityOrientationProperty.js +9 -4
  365. package/Source/DataSources/VelocityVectorProperty.js +7 -9
  366. package/Source/DataSources/WallGeometryUpdater.js +25 -25
  367. package/Source/DataSources/WallGraphics.js +4 -4
  368. package/Source/DataSources/createPropertyDescriptor.js +3 -3
  369. package/Source/DataSources/exportKml.js +90 -86
  370. package/Source/DataSources/getElement.js +1 -1
  371. package/Source/DataSources/heightReferenceOnEntityPropertyChanged.js +4 -4
  372. package/Source/Renderer/AutomaticUniforms.js +3 -18
  373. package/Source/Renderer/Buffer.js +18 -18
  374. package/Source/Renderer/ClearCommand.js +1 -1
  375. package/Source/Renderer/ComputeEngine.js +1 -1
  376. package/Source/Renderer/Context.js +55 -40
  377. package/Source/Renderer/CubeMap.js +332 -354
  378. package/Source/Renderer/CubeMapFace.js +43 -65
  379. package/Source/Renderer/DrawCommand.js +50 -5
  380. package/Source/Renderer/Framebuffer.js +48 -49
  381. package/Source/Renderer/FramebufferManager.js +40 -34
  382. package/Source/Renderer/MultisampleFramebuffer.js +35 -14
  383. package/Source/Renderer/PixelDatatype.js +23 -0
  384. package/Source/Renderer/RenderState.js +36 -36
  385. package/Source/Renderer/Renderbuffer.js +3 -3
  386. package/Source/Renderer/Sampler.js +9 -15
  387. package/Source/Renderer/ShaderBuilder.js +8 -8
  388. package/Source/Renderer/ShaderCache.js +11 -15
  389. package/Source/Renderer/ShaderFunction.js +1 -1
  390. package/Source/Renderer/ShaderProgram.js +22 -15
  391. package/Source/Renderer/ShaderSource.js +40 -40
  392. package/Source/Renderer/Texture.js +455 -380
  393. package/Source/Renderer/UniformState.js +68 -80
  394. package/Source/Renderer/VertexArray.js +20 -20
  395. package/Source/Renderer/VertexArrayFacade.js +15 -16
  396. package/Source/Renderer/createUniform.js +1 -1
  397. package/Source/Renderer/createUniformArray.js +4 -4
  398. package/Source/Renderer/demodernizeShader.js +7 -5
  399. package/Source/Renderer/loadCubeMap.js +3 -8
  400. package/Source/Scene/ArcGisMapServerImageryProvider.js +39 -45
  401. package/Source/Scene/ArcGisMapService.js +4 -7
  402. package/Source/Scene/AutoExposure.js +4 -5
  403. package/Source/Scene/Axis.js +6 -6
  404. package/Source/Scene/B3dmParser.js +9 -9
  405. package/Source/Scene/BatchTable.js +7 -7
  406. package/Source/Scene/BatchTableHierarchy.js +62 -59
  407. package/Source/Scene/BatchTexture.js +2 -2
  408. package/Source/Scene/Billboard.js +45 -43
  409. package/Source/Scene/BillboardCollection.js +81 -83
  410. package/Source/Scene/BingMapsImageryProvider.js +13 -13
  411. package/Source/Scene/BoundingVolumeSemantics.js +10 -10
  412. package/Source/Scene/BoxEmitter.js +1 -1
  413. package/Source/Scene/BufferLoader.js +1 -1
  414. package/Source/Scene/Camera.js +161 -164
  415. package/Source/Scene/CameraEventAggregator.js +67 -23
  416. package/Source/Scene/CameraFlightPath.js +25 -25
  417. package/Source/Scene/Cesium3DTile.js +89 -95
  418. package/Source/Scene/Cesium3DTileBatchTable.js +61 -61
  419. package/Source/Scene/Cesium3DTileContentFactory.js +7 -7
  420. package/Source/Scene/Cesium3DTileFeature.js +1 -1
  421. package/Source/Scene/Cesium3DTileFeatureTable.js +8 -8
  422. package/Source/Scene/Cesium3DTileOptimizations.js +1 -1
  423. package/Source/Scene/Cesium3DTilePointFeature.js +11 -11
  424. package/Source/Scene/Cesium3DTileStyle.js +26 -24
  425. package/Source/Scene/Cesium3DTilesVoxelProvider.js +14 -20
  426. package/Source/Scene/Cesium3DTileset.js +81 -83
  427. package/Source/Scene/Cesium3DTilesetBaseTraversal.js +8 -16
  428. package/Source/Scene/Cesium3DTilesetCache.js +2 -2
  429. package/Source/Scene/Cesium3DTilesetHeatmap.js +5 -5
  430. package/Source/Scene/Cesium3DTilesetMetadata.js +2 -2
  431. package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +2 -2
  432. package/Source/Scene/Cesium3DTilesetSkipTraversal.js +8 -12
  433. package/Source/Scene/Cesium3DTilesetStatistics.js +1 -1
  434. package/Source/Scene/Cesium3DTilesetTraversal.js +8 -10
  435. package/Source/Scene/ClassificationPrimitive.js +70 -69
  436. package/Source/Scene/ClippingPlaneCollection.js +39 -41
  437. package/Source/Scene/ClippingPolygon.js +8 -8
  438. package/Source/Scene/ClippingPolygonCollection.js +62 -63
  439. package/Source/Scene/CloudCollection.js +3 -10
  440. package/Source/Scene/Composite3DTileContent.js +6 -6
  441. package/Source/Scene/ConditionsExpression.js +5 -5
  442. package/Source/Scene/ContentMetadata.js +4 -4
  443. package/Source/Scene/CreditDisplay.js +8 -8
  444. package/Source/Scene/CumulusCloud.js +4 -4
  445. package/Source/Scene/DebugAppearance.js +2 -2
  446. package/Source/Scene/DebugCameraPrimitive.js +2 -2
  447. package/Source/Scene/DebugInspector.js +3 -3
  448. package/Source/Scene/DebugModelMatrixPrimitive.js +4 -4
  449. package/Source/Scene/DepthPlane.js +7 -7
  450. package/Source/Scene/DerivedCommand.js +422 -238
  451. package/Source/Scene/DiscardMissingTileImagePolicy.js +1 -1
  452. package/Source/Scene/DracoLoader.js +3 -3
  453. package/Source/Scene/EllipsoidPrimitive.js +7 -7
  454. package/Source/Scene/EllipsoidSurfaceAppearance.js +3 -3
  455. package/Source/Scene/Empty3DTileContent.js +1 -1
  456. package/Source/Scene/Expression.js +91 -91
  457. package/Source/Scene/Fog.js +8 -41
  458. package/Source/Scene/FrameRateMonitor.js +22 -22
  459. package/Source/Scene/FrameState.js +31 -0
  460. package/Source/Scene/Geometry3DTileContent.js +20 -20
  461. package/Source/Scene/GetFeatureInfoFormat.js +15 -14
  462. package/Source/Scene/Globe.js +33 -28
  463. package/Source/Scene/GlobeDepth.js +95 -66
  464. package/Source/Scene/GlobeSurfaceShaderSet.js +41 -34
  465. package/Source/Scene/GlobeSurfaceTile.js +33 -33
  466. package/Source/Scene/GlobeSurfaceTileProvider.js +132 -127
  467. package/Source/Scene/GlobeTranslucency.js +4 -4
  468. package/Source/Scene/GlobeTranslucencyFramebuffer.js +9 -9
  469. package/Source/Scene/GlobeTranslucencyState.js +53 -55
  470. package/Source/Scene/GltfBufferViewLoader.js +2 -2
  471. package/Source/Scene/GltfIndexBufferLoader.js +5 -5
  472. package/Source/Scene/GltfJsonLoader.js +2 -2
  473. package/Source/Scene/GltfLoader.js +177 -100
  474. package/Source/Scene/GltfStructuralMetadataLoader.js +9 -8
  475. package/Source/Scene/GltfTextureLoader.js +5 -5
  476. package/Source/Scene/GltfVertexBufferLoader.js +12 -13
  477. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +9 -9
  478. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +9 -9
  479. package/Source/Scene/GridImageryProvider.js +2 -2
  480. package/Source/Scene/GroundPolylinePrimitive.js +38 -39
  481. package/Source/Scene/GroundPrimitive.js +47 -45
  482. package/Source/Scene/GroupMetadata.js +4 -4
  483. package/Source/Scene/I3SDataProvider.js +12 -12
  484. package/Source/Scene/I3SDecoder.js +7 -8
  485. package/Source/Scene/I3SField.js +8 -8
  486. package/Source/Scene/I3SGeometry.js +14 -14
  487. package/Source/Scene/I3SLayer.js +26 -20
  488. package/Source/Scene/I3SNode.js +17 -17
  489. package/Source/Scene/I3SSublayer.js +4 -4
  490. package/Source/Scene/I3SSymbology.js +8 -8
  491. package/Source/Scene/I3dmParser.js +9 -9
  492. package/Source/Scene/ImageBasedLighting.js +58 -56
  493. package/Source/Scene/Imagery.js +3 -3
  494. package/Source/Scene/ImageryLayer.js +64 -66
  495. package/Source/Scene/ImageryLayerCollection.js +13 -15
  496. package/Source/Scene/ImageryLayerFeatureInfo.js +19 -20
  497. package/Source/Scene/ImageryProvider.js +1 -1
  498. package/Source/Scene/Implicit3DTileContent.js +34 -37
  499. package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -2
  500. package/Source/Scene/ImplicitMetadataView.js +2 -2
  501. package/Source/Scene/ImplicitSubtree.js +29 -30
  502. package/Source/Scene/ImplicitSubtreeCache.js +1 -1
  503. package/Source/Scene/ImplicitSubtreeMetadata.js +5 -5
  504. package/Source/Scene/ImplicitTileCoordinates.js +11 -11
  505. package/Source/Scene/ImplicitTileset.js +2 -2
  506. package/Source/Scene/InvertClassification.js +7 -7
  507. package/Source/Scene/IonImageryProvider.js +6 -6
  508. package/Source/Scene/JobScheduler.js +4 -4
  509. package/Source/Scene/Label.js +31 -31
  510. package/Source/Scene/LabelCollection.js +17 -15
  511. package/Source/Scene/MapboxImageryProvider.js +3 -3
  512. package/Source/Scene/MapboxStyleImageryProvider.js +4 -4
  513. package/Source/Scene/Material.js +50 -29
  514. package/Source/Scene/MaterialAppearance.js +4 -4
  515. package/Source/Scene/Megatexture.js +21 -24
  516. package/Source/Scene/MetadataClassProperty.js +11 -11
  517. package/Source/Scene/MetadataComponentType.js +1 -1
  518. package/Source/Scene/MetadataEntity.js +8 -8
  519. package/Source/Scene/MetadataEnum.js +1 -1
  520. package/Source/Scene/MetadataPicking.js +305 -0
  521. package/Source/Scene/MetadataSchemaLoader.js +1 -1
  522. package/Source/Scene/MetadataTable.js +2 -2
  523. package/Source/Scene/MetadataTableProperty.js +22 -22
  524. package/Source/Scene/Model/AlphaPipelineStage.js +2 -2
  525. package/Source/Scene/Model/AtmospherePipelineStage.js +3 -3
  526. package/Source/Scene/Model/B3dmLoader.js +8 -8
  527. package/Source/Scene/Model/BatchTexturePipelineStage.js +2 -2
  528. package/Source/Scene/Model/CPUStylingPipelineStage.js +4 -4
  529. package/Source/Scene/Model/ClassificationModelDrawCommand.js +8 -8
  530. package/Source/Scene/Model/ClassificationPipelineStage.js +5 -5
  531. package/Source/Scene/Model/CustomShader.js +9 -9
  532. package/Source/Scene/Model/CustomShaderPipelineStage.js +37 -38
  533. package/Source/Scene/Model/DequantizationPipelineStage.js +5 -5
  534. package/Source/Scene/Model/Extensions/Gpm/AnchorPointDirect.js +61 -0
  535. package/Source/Scene/Model/Extensions/Gpm/AnchorPointIndirect.js +77 -0
  536. package/Source/Scene/Model/Extensions/Gpm/CorrelationGroup.js +81 -0
  537. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +248 -0
  538. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLocal.js +179 -0
  539. package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +548 -0
  540. package/Source/Scene/Model/Extensions/Gpm/MeshPrimitiveGpmLocal.js +28 -0
  541. package/Source/Scene/Model/Extensions/Gpm/PpeMetadata.js +79 -0
  542. package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +75 -0
  543. package/Source/Scene/Model/Extensions/Gpm/PpeTexture.js +127 -0
  544. package/Source/Scene/Model/Extensions/Gpm/Spdcf.js +103 -0
  545. package/Source/Scene/Model/Extensions/Gpm/StorageType.js +30 -0
  546. package/Source/Scene/Model/FeatureIdPipelineStage.js +40 -40
  547. package/Source/Scene/Model/GeoJsonLoader.js +17 -17
  548. package/Source/Scene/Model/GeometryPipelineStage.js +23 -24
  549. package/Source/Scene/Model/I3dmLoader.js +36 -36
  550. package/Source/Scene/Model/ImageBasedLightingPipelineStage.js +22 -30
  551. package/Source/Scene/Model/InstancingPipelineStage.js +86 -86
  552. package/Source/Scene/Model/LightingPipelineStage.js +4 -4
  553. package/Source/Scene/Model/MaterialPipelineStage.js +78 -93
  554. package/Source/Scene/Model/MetadataPickingPipelineStage.js +96 -0
  555. package/Source/Scene/Model/MetadataPipelineStage.js +39 -47
  556. package/Source/Scene/Model/Model.js +134 -54
  557. package/Source/Scene/Model/Model3DTileContent.js +32 -13
  558. package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
  559. package/Source/Scene/Model/ModelAnimationCollection.js +9 -9
  560. package/Source/Scene/Model/ModelArticulation.js +2 -2
  561. package/Source/Scene/Model/ModelArticulationStage.js +4 -4
  562. package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +11 -11
  563. package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +6 -6
  564. package/Source/Scene/Model/ModelColorPipelineStage.js +12 -13
  565. package/Source/Scene/Model/ModelDrawCommand.js +5 -5
  566. package/Source/Scene/Model/{buildDrawCommand.js → ModelDrawCommands.js} +85 -28
  567. package/Source/Scene/Model/ModelFeatureTable.js +5 -5
  568. package/Source/Scene/Model/ModelMatrixUpdateStage.js +24 -12
  569. package/Source/Scene/Model/ModelRenderResources.js +1 -1
  570. package/Source/Scene/Model/ModelRuntimeNode.js +15 -15
  571. package/Source/Scene/Model/ModelRuntimePrimitive.js +8 -5
  572. package/Source/Scene/Model/ModelSceneGraph.js +42 -43
  573. package/Source/Scene/Model/ModelSilhouettePipelineStage.js +4 -4
  574. package/Source/Scene/Model/ModelSkin.js +4 -4
  575. package/Source/Scene/Model/ModelSplitterPipelineStage.js +8 -9
  576. package/Source/Scene/Model/ModelUtility.js +5 -5
  577. package/Source/Scene/Model/MorphTargetsPipelineStage.js +18 -18
  578. package/Source/Scene/Model/NodeRenderResources.js +1 -1
  579. package/Source/Scene/Model/NodeStatisticsPipelineStage.js +1 -1
  580. package/Source/Scene/Model/PickingPipelineStage.js +5 -5
  581. package/Source/Scene/Model/PntsLoader.js +7 -7
  582. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +22 -23
  583. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +6 -6
  584. package/Source/Scene/Model/PrimitiveOutlinePipelineStage.js +7 -7
  585. package/Source/Scene/Model/PrimitiveRenderResources.js +3 -3
  586. package/Source/Scene/Model/PrimitiveStatisticsPipelineStage.js +1 -1
  587. package/Source/Scene/Model/SceneMode2DPipelineStage.js +23 -23
  588. package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +10 -14
  589. package/Source/Scene/Model/SkinningPipelineStage.js +5 -5
  590. package/Source/Scene/Model/StyleCommandsNeeded.js +1 -1
  591. package/Source/Scene/Model/TextureManager.js +2 -2
  592. package/Source/Scene/Model/TextureUniform.js +3 -3
  593. package/Source/Scene/Model/TilesetPipelineStage.js +2 -2
  594. package/Source/Scene/Model/VerticalExaggerationPipelineStage.js +4 -4
  595. package/Source/Scene/Model/WireframePipelineStage.js +7 -7
  596. package/Source/Scene/Model/pickModel.js +26 -26
  597. package/Source/Scene/ModelComponents.js +13 -4
  598. package/Source/Scene/Moon.js +6 -5
  599. package/Source/Scene/Multiple3DTileContent.js +15 -14
  600. package/Source/Scene/OIT.js +48 -97
  601. package/Source/Scene/OpenStreetMapImageryProvider.js +8 -7
  602. package/Source/Scene/OrderedGroundPrimitiveCollection.js +2 -2
  603. package/Source/Scene/Particle.js +3 -3
  604. package/Source/Scene/ParticleEmitter.js +1 -1
  605. package/Source/Scene/ParticleSystem.js +32 -32
  606. package/Source/Scene/PerInstanceColorAppearance.js +1 -1
  607. package/Source/Scene/PickDepth.js +16 -4
  608. package/Source/Scene/PickDepthFramebuffer.js +1 -1
  609. package/Source/Scene/PickFramebuffer.js +24 -12
  610. package/Source/Scene/PickedMetadataInfo.js +39 -0
  611. package/Source/Scene/Picking.js +270 -120
  612. package/Source/Scene/PntsParser.js +28 -28
  613. package/Source/Scene/PointCloud.js +39 -38
  614. package/Source/Scene/PointCloudEyeDomeLighting.js +6 -6
  615. package/Source/Scene/PointCloudShading.js +3 -3
  616. package/Source/Scene/PointPrimitive.js +31 -28
  617. package/Source/Scene/PointPrimitiveCollection.js +34 -33
  618. package/Source/Scene/Polyline.js +9 -9
  619. package/Source/Scene/PolylineCollection.js +55 -57
  620. package/Source/Scene/PolylineColorAppearance.js +3 -3
  621. package/Source/Scene/PolylineMaterialAppearance.js +3 -3
  622. package/Source/Scene/PostProcessStage.js +95 -115
  623. package/Source/Scene/PostProcessStageCollection.js +73 -49
  624. package/Source/Scene/PostProcessStageComposite.js +2 -2
  625. package/Source/Scene/PostProcessStageLibrary.js +30 -4
  626. package/Source/Scene/PostProcessStageTextureCache.js +10 -10
  627. package/Source/Scene/Primitive.js +93 -93
  628. package/Source/Scene/PrimitiveCollection.js +1 -1
  629. package/Source/Scene/PrimitiveLoadPlan.js +1 -1
  630. package/Source/Scene/PrimitivePipeline.js +30 -30
  631. package/Source/Scene/PropertyTable.js +5 -5
  632. package/Source/Scene/PropertyTextureProperty.js +36 -7
  633. package/Source/Scene/QuadtreePrimitive.js +56 -58
  634. package/Source/Scene/QuadtreeTile.js +4 -4
  635. package/Source/Scene/QuadtreeTileProvider.js +1 -1
  636. package/Source/Scene/ResourceCache.js +7 -7
  637. package/Source/Scene/ResourceCacheKey.js +15 -15
  638. package/Source/Scene/Scene.js +897 -677
  639. package/Source/Scene/SceneFramebuffer.js +2 -2
  640. package/Source/Scene/SceneTransforms.js +30 -92
  641. package/Source/Scene/SceneTransitioner.js +47 -47
  642. package/Source/Scene/ScreenSpaceCameraController.js +171 -157
  643. package/Source/Scene/SensorVolumePortionToDisplay.js +1 -1
  644. package/Source/Scene/ShadowMap.js +71 -72
  645. package/Source/Scene/ShadowMapShader.js +9 -9
  646. package/Source/Scene/ShadowVolumeAppearance.js +39 -39
  647. package/Source/Scene/SingleTileImageryProvider.js +3 -3
  648. package/Source/Scene/SkyAtmosphere.js +8 -8
  649. package/Source/Scene/SkyBox.js +17 -24
  650. package/Source/Scene/SpatialNode.js +13 -13
  651. package/Source/Scene/SpecularEnvironmentCubeMap.js +240 -0
  652. package/Source/Scene/SphereEmitter.js +1 -1
  653. package/Source/Scene/StructuralMetadata.js +1 -1
  654. package/Source/Scene/StyleExpression.js +1 -1
  655. package/Source/Scene/Sun.js +11 -7
  656. package/Source/Scene/SunPostProcess.js +6 -6
  657. package/Source/Scene/TerrainFillMesh.js +157 -156
  658. package/Source/Scene/TextureAtlas.js +11 -11
  659. package/Source/Scene/TileBoundingRegion.js +31 -31
  660. package/Source/Scene/TileBoundingS2Cell.js +37 -40
  661. package/Source/Scene/TileBoundingSphere.js +2 -2
  662. package/Source/Scene/TileCoordinatesImageryProvider.js +3 -3
  663. package/Source/Scene/TileImagery.js +7 -11
  664. package/Source/Scene/TileMapServiceImageryProvider.js +26 -25
  665. package/Source/Scene/TileMetadata.js +4 -4
  666. package/Source/Scene/TileOrientedBoundingBox.js +6 -6
  667. package/Source/Scene/Tileset3DTileContent.js +1 -1
  668. package/Source/Scene/TilesetMetadata.js +4 -4
  669. package/Source/Scene/TimeDynamicImagery.js +3 -3
  670. package/Source/Scene/TimeDynamicPointCloud.js +9 -9
  671. package/Source/Scene/Tonemapper.js +35 -23
  672. package/Source/Scene/TranslucentTileClassification.js +48 -58
  673. package/Source/Scene/TweenCollection.js +9 -9
  674. package/Source/Scene/UrlTemplateImageryProvider.js +23 -23
  675. package/Source/Scene/Vector3DTileClampedPolylines.js +21 -21
  676. package/Source/Scene/Vector3DTileContent.js +38 -39
  677. package/Source/Scene/Vector3DTileGeometry.js +11 -8
  678. package/Source/Scene/Vector3DTilePoints.js +18 -22
  679. package/Source/Scene/Vector3DTilePolygons.js +6 -6
  680. package/Source/Scene/Vector3DTilePolylines.js +8 -8
  681. package/Source/Scene/Vector3DTilePrimitive.js +30 -31
  682. package/Source/Scene/View.js +111 -80
  683. package/Source/Scene/VoxelBoxShape.js +34 -34
  684. package/Source/Scene/VoxelCell.js +7 -7
  685. package/Source/Scene/VoxelContent.js +1 -1
  686. package/Source/Scene/VoxelCylinderShape.js +48 -48
  687. package/Source/Scene/VoxelEllipsoidShape.js +83 -97
  688. package/Source/Scene/VoxelPrimitive.js +80 -109
  689. package/Source/Scene/VoxelRenderResources.js +13 -16
  690. package/Source/Scene/VoxelTraversal.js +41 -41
  691. package/Source/Scene/WebMapServiceImageryProvider.js +12 -12
  692. package/Source/Scene/WebMapTileServiceImageryProvider.js +8 -8
  693. package/Source/Scene/buildVoxelDrawCommands.js +10 -14
  694. package/Source/Scene/computeFlyToLocationForRectangle.js +7 -5
  695. package/Source/Scene/createBillboardPointCallback.js +2 -2
  696. package/Source/Scene/createElevationBandMaterial.js +8 -8
  697. package/Source/Scene/createGooglePhotorealistic3DTileset.js +1 -1
  698. package/Source/Scene/createOsmBuildingsAsync.js +1 -1
  699. package/Source/Scene/createTangentSpaceDebugPrimitive.js +7 -7
  700. package/Source/Scene/findContentMetadata.js +2 -2
  701. package/Source/Scene/findTileMetadata.js +2 -2
  702. package/Source/Scene/getBinaryAccessor.js +1 -1
  703. package/Source/Scene/getClipAndStyleCode.js +1 -1
  704. package/Source/Scene/getClippingFunction.js +1 -1
  705. package/Source/Scene/getMetadataClassProperty.js +43 -0
  706. package/Source/Scene/parseBatchTable.js +21 -24
  707. package/Source/Scene/parseFeatureMetadataLegacy.js +3 -3
  708. package/Source/Scene/parseStructuralMetadata.js +3 -3
  709. package/Source/Scene/processVoxelProperties.js +28 -33
  710. package/Source/Shaders/Builtin/CzmBuiltins.js +2 -2
  711. package/Source/Shaders/Builtin/Functions/packDepth.glsl +2 -2
  712. package/Source/Shaders/Builtin/Functions/packDepth.js +2 -2
  713. package/Source/Shaders/Builtin/Functions/pbrLighting.glsl +2 -2
  714. package/Source/Shaders/Builtin/Functions/pbrLighting.js +2 -2
  715. package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.glsl +23 -0
  716. package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.js +25 -0
  717. package/Source/Shaders/Builtin/Functions/textureCube.glsl +21 -2
  718. package/Source/Shaders/Builtin/Functions/textureCube.js +21 -2
  719. package/Source/Shaders/Builtin/Functions/unpackDepth.glsl +3 -3
  720. package/Source/Shaders/Builtin/Functions/unpackDepth.js +3 -3
  721. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +1 -1
  722. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +1 -1
  723. package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +2 -2
  724. package/Source/Shaders/Builtin/Functions/writeLogDepth.js +2 -2
  725. package/Source/Shaders/Builtin/Structs/materialInput.glsl +2 -0
  726. package/Source/Shaders/Builtin/Structs/materialInput.js +2 -0
  727. package/Source/Shaders/DepthPlaneVS.glsl +1 -1
  728. package/Source/Shaders/DepthPlaneVS.js +1 -1
  729. package/Source/Shaders/GlobeFS.glsl +10 -4
  730. package/Source/Shaders/GlobeFS.js +10 -4
  731. package/Source/Shaders/Materials/WaterMaskMaterial.glsl +15 -0
  732. package/Source/Shaders/Materials/WaterMaskMaterial.js +17 -0
  733. package/Source/Shaders/Model/AtmosphereStageFS.glsl +1 -1
  734. package/Source/Shaders/Model/AtmosphereStageFS.js +1 -1
  735. package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +40 -29
  736. package/Source/Shaders/Model/ImageBasedLightingStageFS.js +40 -29
  737. package/Source/Shaders/Model/LightingStageFS.glsl +2 -2
  738. package/Source/Shaders/Model/LightingStageFS.js +2 -2
  739. package/Source/Shaders/Model/ModelFS.glsl +26 -0
  740. package/Source/Shaders/Model/ModelFS.js +26 -0
  741. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.glsl +4 -0
  742. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.js +4 -0
  743. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +59 -59
  744. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +60 -60
  745. package/Source/Shaders/PostProcessStages/FilmicTonemapping.glsl +4 -0
  746. package/Source/Shaders/PostProcessStages/FilmicTonemapping.js +4 -0
  747. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.glsl +4 -0
  748. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js +4 -0
  749. package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.glsl +25 -0
  750. package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.js +27 -0
  751. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.glsl +4 -0
  752. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.js +4 -0
  753. package/Source/Shaders/SkyAtmosphereFS.glsl +1 -1
  754. package/Source/Shaders/SkyAtmosphereFS.js +1 -1
  755. package/Source/Widget/CesiumWidget.js +10 -9
  756. package/Source/Workers/combineGeometry.js +3 -4
  757. package/Source/Workers/createCircleGeometry.js +2 -2
  758. package/Source/Workers/createCircleOutlineGeometry.js +2 -2
  759. package/Source/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
  760. package/Source/Workers/createCorridorOutlineGeometry.js +2 -2
  761. package/Source/Workers/createEllipsoidOutlineGeometry.js +1 -1
  762. package/Source/Workers/createGeometry.js +4 -5
  763. package/Source/Workers/createGroundPolylineGeometry.js +1 -1
  764. package/Source/Workers/createPolylineVolumeGeometry.js +2 -2
  765. package/Source/Workers/createPolylineVolumeOutlineGeometry.js +4 -4
  766. package/Source/Workers/createRectangleOutlineGeometry.js +1 -1
  767. package/Source/Workers/createSimplePolylineGeometry.js +2 -2
  768. package/Source/Workers/createTaskProcessorWorker.js +1 -1
  769. package/Source/Workers/createVectorTileClampedPolylines.js +30 -30
  770. package/Source/Workers/createVectorTileGeometries.js +18 -18
  771. package/Source/Workers/createVectorTilePoints.js +3 -3
  772. package/Source/Workers/createVectorTilePolygons.js +11 -11
  773. package/Source/Workers/createVectorTilePolylines.js +7 -7
  774. package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +29 -30
  775. package/Source/Workers/createVerticesFromQuantizedTerrainMesh.js +60 -60
  776. package/Source/Workers/decodeDraco.js +23 -23
  777. package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +3 -3
  778. package/Source/Workers/decodeI3S.js +53 -53
  779. package/Source/Workers/transcodeKTX2.js +9 -9
  780. package/Source/Workers/transferTypedArrayTest.js +1 -1
  781. package/Source/Workers/upsampleQuantizedTerrainMesh.js +37 -36
  782. package/index.d.ts +620 -136
  783. package/index.js +221 -205
  784. package/package.json +3 -3
  785. package/Build/Workers/chunk-2GEAGYUY.js +0 -1477
  786. package/Build/Workers/chunk-3WUV74WM.js +0 -1800
  787. package/Build/Workers/chunk-4MSUJ4I7.js +0 -456
  788. package/Build/Workers/chunk-5KWHSZYL.js +0 -834
  789. package/Build/Workers/chunk-5O6JWQ4E.js +0 -398
  790. package/Build/Workers/chunk-6OFDHMHR.js +0 -1258
  791. package/Build/Workers/chunk-AA4GZKOT.js +0 -75
  792. package/Build/Workers/chunk-B75IEX2S.js +0 -390
  793. package/Build/Workers/chunk-BAVI3ZS2.js +0 -39
  794. package/Build/Workers/chunk-BBDZYSZB.js +0 -287
  795. package/Build/Workers/chunk-C45MU4GZ.js +0 -220
  796. package/Build/Workers/chunk-CF7P7K7E.js +0 -684
  797. package/Build/Workers/chunk-D4K27X2M.js +0 -305
  798. package/Build/Workers/chunk-DKVHRNFY.js +0 -100
  799. package/Build/Workers/chunk-ELI4BUOT.js +0 -963
  800. package/Build/Workers/chunk-FQPSOOPH.js +0 -258
  801. package/Build/Workers/chunk-GNHZH7HP.js +0 -37
  802. package/Build/Workers/chunk-GWT64LKY.js +0 -171
  803. package/Build/Workers/chunk-HGEEOMSC.js +0 -157
  804. package/Build/Workers/chunk-IUROUBPA.js +0 -300
  805. package/Build/Workers/chunk-JNLWLSTP.js +0 -476
  806. package/Build/Workers/chunk-JYQNWIQQ.js +0 -44
  807. package/Build/Workers/chunk-KUN2ZA5X.js +0 -138
  808. package/Build/Workers/chunk-LXQ5QAEJ.js +0 -196
  809. package/Build/Workers/chunk-MBZH7YZ7.js +0 -945
  810. package/Build/Workers/chunk-MKXWJTFQ.js +0 -781
  811. package/Build/Workers/chunk-MMV6TO3P.js +0 -101
  812. package/Build/Workers/chunk-MSKXMXJI.js +0 -500
  813. package/Build/Workers/chunk-OAPA2RTG.js +0 -239
  814. package/Build/Workers/chunk-OE4MCOC7.js +0 -421
  815. package/Build/Workers/chunk-OJF4RTJG.js +0 -634
  816. package/Build/Workers/chunk-OXSI7N4C.js +0 -768
  817. package/Build/Workers/chunk-PYHLO636.js +0 -2857
  818. package/Build/Workers/chunk-QD4KM3GO.js +0 -138
  819. package/Build/Workers/chunk-QMLTCCYG.js +0 -55
  820. package/Build/Workers/chunk-QYQIVZBU.js +0 -117
  821. package/Build/Workers/chunk-R3TKLC6E.js +0 -1075
  822. package/Build/Workers/chunk-R4ZEWO4I.js +0 -122
  823. package/Build/Workers/chunk-RCK55EDX.js +0 -691
  824. package/Build/Workers/chunk-RHBWXX7C.js +0 -629
  825. package/Build/Workers/chunk-SAPFXU5X.js +0 -102
  826. package/Build/Workers/chunk-TBBFDFCS.js +0 -368
  827. package/Build/Workers/chunk-TGY6H6N6.js +0 -163
  828. package/Build/Workers/chunk-UOEUCKKU.js +0 -59
  829. package/Build/Workers/chunk-VFBNELXB.js +0 -353
  830. package/Build/Workers/chunk-VYWUFRRR.js +0 -1052
  831. package/Build/Workers/chunk-WVSELU6O.js +0 -2716
  832. package/Build/Workers/chunk-X43SJLQL.js +0 -10364
  833. package/Build/Workers/chunk-XUOJCLOH.js +0 -511
  834. package/Build/Workers/chunk-YLYBLJ3Y.js +0 -73
  835. package/Build/Workers/chunk-ZEE2EIFD.js +0 -430
  836. package/Build/Workers/chunk-ZIKGV7EL.js +0 -58
  837. package/Source/Scene/OctahedralProjectedCubeMap.js +0 -444
  838. package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.glsl +0 -78
  839. package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.js +0 -80
  840. package/Source/Shaders/OctahedralProjectionAtlasFS.glsl +0 -89
  841. package/Source/Shaders/OctahedralProjectionAtlasFS.js +0 -91
  842. package/Source/Shaders/OctahedralProjectionFS.glsl +0 -14
  843. package/Source/Shaders/OctahedralProjectionFS.js +0 -16
  844. package/Source/Shaders/OctahedralProjectionVS.glsl +0 -10
  845. package/Source/Shaders/OctahedralProjectionVS.js +0 -12
@@ -1,1052 +0,0 @@
1
- /**
2
- * @license
3
- * Cesium - https://github.com/CesiumGS/cesium
4
- * Version 1.120
5
- *
6
- * Copyright 2011-2022 Cesium Contributors
7
- *
8
- * Licensed under the Apache License, Version 2.0 (the "License");
9
- * you may not use this file except in compliance with the License.
10
- * You may obtain a copy of the License at
11
- *
12
- * http://www.apache.org/licenses/LICENSE-2.0
13
- *
14
- * Unless required by applicable law or agreed to in writing, software
15
- * distributed under the License is distributed on an "AS IS" BASIS,
16
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- * See the License for the specific language governing permissions and
18
- * limitations under the License.
19
- *
20
- * Columbus View (Pat. Pend.)
21
- *
22
- * Portions licensed separately.
23
- * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
24
- */
25
-
26
- import {
27
- ArcType_default
28
- } from "./chunk-4VFBBNQ3.js";
29
- import {
30
- GeometryPipeline_default
31
- } from "./chunk-PNFHVBSF.js";
32
- import {
33
- PolygonPipeline_default,
34
- WindingOrder_default
35
- } from "./chunk-76BYYG7N.js";
36
- import {
37
- arrayRemoveDuplicates_default
38
- } from "./chunk-NVOABL76.js";
39
- import {
40
- EllipsoidRhumbLine_default
41
- } from "./chunk-BY3E4ONI.js";
42
- import {
43
- IntersectionTests_default
44
- } from "./chunk-TF776XCO.js";
45
- import {
46
- Plane_default
47
- } from "./chunk-A5CODJ4M.js";
48
- import {
49
- IndexDatatype_default
50
- } from "./chunk-EB7PNZTK.js";
51
- import {
52
- GeometryAttributes_default
53
- } from "./chunk-JYQNWIQQ.js";
54
- import {
55
- GeometryAttribute_default,
56
- Geometry_default,
57
- PrimitiveType_default
58
- } from "./chunk-IUROUBPA.js";
59
- import {
60
- Quaternion_default
61
- } from "./chunk-OXALEQPI.js";
62
- import {
63
- ComponentDatatype_default
64
- } from "./chunk-FQPSOOPH.js";
65
- import {
66
- Cartesian2_default,
67
- Cartesian3_default,
68
- Cartographic_default,
69
- Ellipsoid_default,
70
- Matrix3_default
71
- } from "./chunk-T6LPN7RI.js";
72
- import {
73
- Math_default
74
- } from "./chunk-R4OIEIPE.js";
75
- import {
76
- defaultValue_default
77
- } from "./chunk-BAVI3ZS2.js";
78
- import {
79
- defined_default
80
- } from "./chunk-N4QEHO3U.js";
81
-
82
- // packages/engine/Source/Core/PolygonHierarchy.js
83
- function PolygonHierarchy(positions, holes) {
84
- this.positions = defined_default(positions) ? positions : [];
85
- this.holes = defined_default(holes) ? holes : [];
86
- }
87
- var PolygonHierarchy_default = PolygonHierarchy;
88
-
89
- // packages/engine/Source/Core/Queue.js
90
- function Queue() {
91
- this._array = [];
92
- this._offset = 0;
93
- this._length = 0;
94
- }
95
- Object.defineProperties(Queue.prototype, {
96
- /**
97
- * The length of the queue.
98
- *
99
- * @memberof Queue.prototype
100
- *
101
- * @type {number}
102
- * @readonly
103
- */
104
- length: {
105
- get: function() {
106
- return this._length;
107
- }
108
- }
109
- });
110
- Queue.prototype.enqueue = function(item) {
111
- this._array.push(item);
112
- this._length++;
113
- };
114
- Queue.prototype.dequeue = function() {
115
- if (this._length === 0) {
116
- return void 0;
117
- }
118
- const array = this._array;
119
- let offset = this._offset;
120
- const item = array[offset];
121
- array[offset] = void 0;
122
- offset++;
123
- if (offset > 10 && offset * 2 > array.length) {
124
- this._array = array.slice(offset);
125
- offset = 0;
126
- }
127
- this._offset = offset;
128
- this._length--;
129
- return item;
130
- };
131
- Queue.prototype.peek = function() {
132
- if (this._length === 0) {
133
- return void 0;
134
- }
135
- return this._array[this._offset];
136
- };
137
- Queue.prototype.contains = function(item) {
138
- return this._array.indexOf(item) !== -1;
139
- };
140
- Queue.prototype.clear = function() {
141
- this._array.length = this._offset = this._length = 0;
142
- };
143
- Queue.prototype.sort = function(compareFunction) {
144
- if (this._offset > 0) {
145
- this._array = this._array.slice(this._offset);
146
- this._offset = 0;
147
- }
148
- this._array.sort(compareFunction);
149
- };
150
- var Queue_default = Queue;
151
-
152
- // packages/engine/Source/Core/PolygonGeometryLibrary.js
153
- var PolygonGeometryLibrary = {};
154
- PolygonGeometryLibrary.computeHierarchyPackedLength = function(polygonHierarchy, CartesianX) {
155
- let numComponents = 0;
156
- const stack = [polygonHierarchy];
157
- while (stack.length > 0) {
158
- const hierarchy = stack.pop();
159
- if (!defined_default(hierarchy)) {
160
- continue;
161
- }
162
- numComponents += 2;
163
- const positions = hierarchy.positions;
164
- const holes = hierarchy.holes;
165
- if (defined_default(positions) && positions.length > 0) {
166
- numComponents += positions.length * CartesianX.packedLength;
167
- }
168
- if (defined_default(holes)) {
169
- const length = holes.length;
170
- for (let i = 0; i < length; ++i) {
171
- stack.push(holes[i]);
172
- }
173
- }
174
- }
175
- return numComponents;
176
- };
177
- PolygonGeometryLibrary.packPolygonHierarchy = function(polygonHierarchy, array, startingIndex, CartesianX) {
178
- const stack = [polygonHierarchy];
179
- while (stack.length > 0) {
180
- const hierarchy = stack.pop();
181
- if (!defined_default(hierarchy)) {
182
- continue;
183
- }
184
- const positions = hierarchy.positions;
185
- const holes = hierarchy.holes;
186
- array[startingIndex++] = defined_default(positions) ? positions.length : 0;
187
- array[startingIndex++] = defined_default(holes) ? holes.length : 0;
188
- if (defined_default(positions)) {
189
- const positionsLength = positions.length;
190
- for (let i = 0; i < positionsLength; ++i, startingIndex += CartesianX.packedLength) {
191
- CartesianX.pack(positions[i], array, startingIndex);
192
- }
193
- }
194
- if (defined_default(holes)) {
195
- const holesLength = holes.length;
196
- for (let j = 0; j < holesLength; ++j) {
197
- stack.push(holes[j]);
198
- }
199
- }
200
- }
201
- return startingIndex;
202
- };
203
- PolygonGeometryLibrary.unpackPolygonHierarchy = function(array, startingIndex, CartesianX) {
204
- const positionsLength = array[startingIndex++];
205
- const holesLength = array[startingIndex++];
206
- const positions = new Array(positionsLength);
207
- const holes = holesLength > 0 ? new Array(holesLength) : void 0;
208
- for (let i = 0; i < positionsLength; ++i, startingIndex += CartesianX.packedLength) {
209
- positions[i] = CartesianX.unpack(array, startingIndex);
210
- }
211
- for (let j = 0; j < holesLength; ++j) {
212
- holes[j] = PolygonGeometryLibrary.unpackPolygonHierarchy(
213
- array,
214
- startingIndex,
215
- CartesianX
216
- );
217
- startingIndex = holes[j].startingIndex;
218
- delete holes[j].startingIndex;
219
- }
220
- return {
221
- positions,
222
- holes,
223
- startingIndex
224
- };
225
- };
226
- var distance2DScratch = new Cartesian2_default();
227
- function getPointAtDistance2D(p0, p1, distance, length) {
228
- Cartesian2_default.subtract(p1, p0, distance2DScratch);
229
- Cartesian2_default.multiplyByScalar(
230
- distance2DScratch,
231
- distance / length,
232
- distance2DScratch
233
- );
234
- Cartesian2_default.add(p0, distance2DScratch, distance2DScratch);
235
- return [distance2DScratch.x, distance2DScratch.y];
236
- }
237
- var distanceScratch = new Cartesian3_default();
238
- function getPointAtDistance(p0, p1, distance, length) {
239
- Cartesian3_default.subtract(p1, p0, distanceScratch);
240
- Cartesian3_default.multiplyByScalar(
241
- distanceScratch,
242
- distance / length,
243
- distanceScratch
244
- );
245
- Cartesian3_default.add(p0, distanceScratch, distanceScratch);
246
- return [distanceScratch.x, distanceScratch.y, distanceScratch.z];
247
- }
248
- PolygonGeometryLibrary.subdivideLineCount = function(p0, p1, minDistance) {
249
- const distance = Cartesian3_default.distance(p0, p1);
250
- const n = distance / minDistance;
251
- const countDivide = Math.max(0, Math.ceil(Math_default.log2(n)));
252
- return Math.pow(2, countDivide);
253
- };
254
- var scratchCartographic0 = new Cartographic_default();
255
- var scratchCartographic1 = new Cartographic_default();
256
- var scratchCartographic2 = new Cartographic_default();
257
- var scratchCartesian0 = new Cartesian3_default();
258
- var scratchRhumbLine = new EllipsoidRhumbLine_default();
259
- PolygonGeometryLibrary.subdivideRhumbLineCount = function(ellipsoid, p0, p1, minDistance) {
260
- const c0 = ellipsoid.cartesianToCartographic(p0, scratchCartographic0);
261
- const c1 = ellipsoid.cartesianToCartographic(p1, scratchCartographic1);
262
- const rhumb = new EllipsoidRhumbLine_default(c0, c1, ellipsoid);
263
- const n = rhumb.surfaceDistance / minDistance;
264
- const countDivide = Math.max(0, Math.ceil(Math_default.log2(n)));
265
- return Math.pow(2, countDivide);
266
- };
267
- PolygonGeometryLibrary.subdivideTexcoordLine = function(t0, t1, p0, p1, minDistance, result) {
268
- const subdivisions = PolygonGeometryLibrary.subdivideLineCount(
269
- p0,
270
- p1,
271
- minDistance
272
- );
273
- const length2D = Cartesian2_default.distance(t0, t1);
274
- const distanceBetweenCoords = length2D / subdivisions;
275
- const texcoords = result;
276
- texcoords.length = subdivisions * 2;
277
- let index = 0;
278
- for (let i = 0; i < subdivisions; i++) {
279
- const t = getPointAtDistance2D(t0, t1, i * distanceBetweenCoords, length2D);
280
- texcoords[index++] = t[0];
281
- texcoords[index++] = t[1];
282
- }
283
- return texcoords;
284
- };
285
- PolygonGeometryLibrary.subdivideLine = function(p0, p1, minDistance, result) {
286
- const numVertices = PolygonGeometryLibrary.subdivideLineCount(
287
- p0,
288
- p1,
289
- minDistance
290
- );
291
- const length = Cartesian3_default.distance(p0, p1);
292
- const distanceBetweenVertices = length / numVertices;
293
- if (!defined_default(result)) {
294
- result = [];
295
- }
296
- const positions = result;
297
- positions.length = numVertices * 3;
298
- let index = 0;
299
- for (let i = 0; i < numVertices; i++) {
300
- const p = getPointAtDistance(p0, p1, i * distanceBetweenVertices, length);
301
- positions[index++] = p[0];
302
- positions[index++] = p[1];
303
- positions[index++] = p[2];
304
- }
305
- return positions;
306
- };
307
- PolygonGeometryLibrary.subdivideTexcoordRhumbLine = function(t0, t1, ellipsoid, p0, p1, minDistance, result) {
308
- const c0 = ellipsoid.cartesianToCartographic(p0, scratchCartographic0);
309
- const c1 = ellipsoid.cartesianToCartographic(p1, scratchCartographic1);
310
- scratchRhumbLine.setEndPoints(c0, c1);
311
- const n = scratchRhumbLine.surfaceDistance / minDistance;
312
- const countDivide = Math.max(0, Math.ceil(Math_default.log2(n)));
313
- const subdivisions = Math.pow(2, countDivide);
314
- const length2D = Cartesian2_default.distance(t0, t1);
315
- const distanceBetweenCoords = length2D / subdivisions;
316
- const texcoords = result;
317
- texcoords.length = subdivisions * 2;
318
- let index = 0;
319
- for (let i = 0; i < subdivisions; i++) {
320
- const t = getPointAtDistance2D(t0, t1, i * distanceBetweenCoords, length2D);
321
- texcoords[index++] = t[0];
322
- texcoords[index++] = t[1];
323
- }
324
- return texcoords;
325
- };
326
- PolygonGeometryLibrary.subdivideRhumbLine = function(ellipsoid, p0, p1, minDistance, result) {
327
- const c0 = ellipsoid.cartesianToCartographic(p0, scratchCartographic0);
328
- const c1 = ellipsoid.cartesianToCartographic(p1, scratchCartographic1);
329
- const rhumb = new EllipsoidRhumbLine_default(c0, c1, ellipsoid);
330
- const n = rhumb.surfaceDistance / minDistance;
331
- const countDivide = Math.max(0, Math.ceil(Math_default.log2(n)));
332
- const numVertices = Math.pow(2, countDivide);
333
- const distanceBetweenVertices = rhumb.surfaceDistance / numVertices;
334
- if (!defined_default(result)) {
335
- result = [];
336
- }
337
- const positions = result;
338
- positions.length = numVertices * 3;
339
- let index = 0;
340
- for (let i = 0; i < numVertices; i++) {
341
- const c = rhumb.interpolateUsingSurfaceDistance(
342
- i * distanceBetweenVertices,
343
- scratchCartographic2
344
- );
345
- const p = ellipsoid.cartographicToCartesian(c, scratchCartesian0);
346
- positions[index++] = p.x;
347
- positions[index++] = p.y;
348
- positions[index++] = p.z;
349
- }
350
- return positions;
351
- };
352
- var scaleToGeodeticHeightN1 = new Cartesian3_default();
353
- var scaleToGeodeticHeightN2 = new Cartesian3_default();
354
- var scaleToGeodeticHeightP1 = new Cartesian3_default();
355
- var scaleToGeodeticHeightP2 = new Cartesian3_default();
356
- PolygonGeometryLibrary.scaleToGeodeticHeightExtruded = function(geometry, maxHeight, minHeight, ellipsoid, perPositionHeight) {
357
- ellipsoid = defaultValue_default(ellipsoid, Ellipsoid_default.default);
358
- const n1 = scaleToGeodeticHeightN1;
359
- let n2 = scaleToGeodeticHeightN2;
360
- const p = scaleToGeodeticHeightP1;
361
- let p2 = scaleToGeodeticHeightP2;
362
- if (defined_default(geometry) && defined_default(geometry.attributes) && defined_default(geometry.attributes.position)) {
363
- const positions = geometry.attributes.position.values;
364
- const length = positions.length / 2;
365
- for (let i = 0; i < length; i += 3) {
366
- Cartesian3_default.fromArray(positions, i, p);
367
- ellipsoid.geodeticSurfaceNormal(p, n1);
368
- p2 = ellipsoid.scaleToGeodeticSurface(p, p2);
369
- n2 = Cartesian3_default.multiplyByScalar(n1, minHeight, n2);
370
- n2 = Cartesian3_default.add(p2, n2, n2);
371
- positions[i + length] = n2.x;
372
- positions[i + 1 + length] = n2.y;
373
- positions[i + 2 + length] = n2.z;
374
- if (perPositionHeight) {
375
- p2 = Cartesian3_default.clone(p, p2);
376
- }
377
- n2 = Cartesian3_default.multiplyByScalar(n1, maxHeight, n2);
378
- n2 = Cartesian3_default.add(p2, n2, n2);
379
- positions[i] = n2.x;
380
- positions[i + 1] = n2.y;
381
- positions[i + 2] = n2.z;
382
- }
383
- }
384
- return geometry;
385
- };
386
- PolygonGeometryLibrary.polygonOutlinesFromHierarchy = function(polygonHierarchy, scaleToEllipsoidSurface, ellipsoid) {
387
- const polygons = [];
388
- const queue = new Queue_default();
389
- queue.enqueue(polygonHierarchy);
390
- let i;
391
- let j;
392
- let length;
393
- while (queue.length !== 0) {
394
- const outerNode = queue.dequeue();
395
- let outerRing = outerNode.positions;
396
- if (scaleToEllipsoidSurface) {
397
- length = outerRing.length;
398
- for (i = 0; i < length; i++) {
399
- ellipsoid.scaleToGeodeticSurface(outerRing[i], outerRing[i]);
400
- }
401
- }
402
- outerRing = arrayRemoveDuplicates_default(
403
- outerRing,
404
- Cartesian3_default.equalsEpsilon,
405
- true
406
- );
407
- if (outerRing.length < 3) {
408
- continue;
409
- }
410
- const numChildren = outerNode.holes ? outerNode.holes.length : 0;
411
- for (i = 0; i < numChildren; i++) {
412
- const hole = outerNode.holes[i];
413
- let holePositions = hole.positions;
414
- if (scaleToEllipsoidSurface) {
415
- length = holePositions.length;
416
- for (j = 0; j < length; ++j) {
417
- ellipsoid.scaleToGeodeticSurface(holePositions[j], holePositions[j]);
418
- }
419
- }
420
- holePositions = arrayRemoveDuplicates_default(
421
- holePositions,
422
- Cartesian3_default.equalsEpsilon,
423
- true
424
- );
425
- if (holePositions.length < 3) {
426
- continue;
427
- }
428
- polygons.push(holePositions);
429
- let numGrandchildren = 0;
430
- if (defined_default(hole.holes)) {
431
- numGrandchildren = hole.holes.length;
432
- }
433
- for (j = 0; j < numGrandchildren; j++) {
434
- queue.enqueue(hole.holes[j]);
435
- }
436
- }
437
- polygons.push(outerRing);
438
- }
439
- return polygons;
440
- };
441
- var scratchRhumbIntersection = new Cartographic_default();
442
- function computeEquatorIntersectionRhumb(start, end, ellipsoid) {
443
- const c0 = ellipsoid.cartesianToCartographic(start, scratchCartographic0);
444
- const c1 = ellipsoid.cartesianToCartographic(end, scratchCartographic1);
445
- if (Math.sign(c0.latitude) === Math.sign(c1.latitude)) {
446
- return;
447
- }
448
- scratchRhumbLine.setEndPoints(c0, c1);
449
- const intersection = scratchRhumbLine.findIntersectionWithLatitude(
450
- 0,
451
- scratchRhumbIntersection
452
- );
453
- if (!defined_default(intersection)) {
454
- return;
455
- }
456
- let minLongitude = Math.min(c0.longitude, c1.longitude);
457
- let maxLongitude = Math.max(c0.longitude, c1.longitude);
458
- if (Math.abs(maxLongitude - minLongitude) > Math_default.PI) {
459
- const swap = minLongitude;
460
- minLongitude = maxLongitude;
461
- maxLongitude = swap;
462
- }
463
- if (intersection.longitude < minLongitude || intersection.longitude > maxLongitude) {
464
- return;
465
- }
466
- return ellipsoid.cartographicToCartesian(intersection);
467
- }
468
- function computeEquatorIntersection(start, end, ellipsoid, arcType) {
469
- if (arcType === ArcType_default.RHUMB) {
470
- return computeEquatorIntersectionRhumb(start, end, ellipsoid);
471
- }
472
- const intersection = IntersectionTests_default.lineSegmentPlane(
473
- start,
474
- end,
475
- Plane_default.ORIGIN_XY_PLANE
476
- );
477
- if (!defined_default(intersection)) {
478
- return;
479
- }
480
- return ellipsoid.scaleToGeodeticSurface(intersection, intersection);
481
- }
482
- var scratchCartographic = new Cartographic_default();
483
- function computeEdgesOnPlane(positions, ellipsoid, arcType) {
484
- const edgesOnPlane = [];
485
- let startPoint, endPoint, type, next, intersection, i = 0;
486
- while (i < positions.length) {
487
- startPoint = positions[i];
488
- endPoint = positions[(i + 1) % positions.length];
489
- type = Math_default.sign(startPoint.z);
490
- next = Math_default.sign(endPoint.z);
491
- const getLongitude = (position) => {
492
- const cartographic = ellipsoid.cartesianToCartographic(
493
- position,
494
- scratchCartographic
495
- );
496
- return cartographic.longitude;
497
- };
498
- if (type === 0) {
499
- edgesOnPlane.push({
500
- position: i,
501
- type,
502
- visited: false,
503
- next,
504
- theta: getLongitude(startPoint)
505
- });
506
- } else if (next !== 0) {
507
- intersection = computeEquatorIntersection(
508
- startPoint,
509
- endPoint,
510
- ellipsoid,
511
- arcType
512
- );
513
- ++i;
514
- if (!defined_default(intersection)) {
515
- continue;
516
- }
517
- positions.splice(i, 0, intersection);
518
- edgesOnPlane.push({
519
- position: i,
520
- type,
521
- visited: false,
522
- next,
523
- theta: getLongitude(intersection)
524
- });
525
- }
526
- ++i;
527
- }
528
- return edgesOnPlane;
529
- }
530
- function wirePolygon(polygons, polygonIndex, positions, edgesOnPlane, toDelete, startIndex, abovePlane) {
531
- const polygon = [];
532
- let i = startIndex;
533
- const getMatchingEdge = (i2) => (edge) => edge.position === i2;
534
- const polygonsToWire = [];
535
- do {
536
- const position = positions[i];
537
- polygon.push(position);
538
- const edgeIndex = edgesOnPlane.findIndex(getMatchingEdge(i));
539
- const edge = edgesOnPlane[edgeIndex];
540
- if (!defined_default(edge)) {
541
- ++i;
542
- continue;
543
- }
544
- const { visited: hasBeenVisited, type, next } = edge;
545
- edge.visited = true;
546
- if (type === 0) {
547
- if (next === 0) {
548
- const previousEdge = edgesOnPlane[edgeIndex - (abovePlane ? 1 : -1)];
549
- if (previousEdge?.position === i + 1) {
550
- previousEdge.visited = true;
551
- } else {
552
- ++i;
553
- continue;
554
- }
555
- }
556
- if (!hasBeenVisited && abovePlane && next > 0 || startIndex === i && !abovePlane && next < 0) {
557
- ++i;
558
- continue;
559
- }
560
- }
561
- const followEdge = abovePlane ? type >= 0 : type <= 0;
562
- if (!followEdge) {
563
- ++i;
564
- continue;
565
- }
566
- if (!hasBeenVisited) {
567
- polygonsToWire.push(i);
568
- }
569
- const nextEdgeIndex = edgeIndex + (abovePlane ? 1 : -1);
570
- const nextEdge = edgesOnPlane[nextEdgeIndex];
571
- if (!defined_default(nextEdge)) {
572
- ++i;
573
- continue;
574
- }
575
- i = nextEdge.position;
576
- } while (i < positions.length && i >= 0 && i !== startIndex && polygon.length < positions.length);
577
- polygons.splice(polygonIndex, toDelete, polygon);
578
- for (const index of polygonsToWire) {
579
- polygonIndex = wirePolygon(
580
- polygons,
581
- ++polygonIndex,
582
- positions,
583
- edgesOnPlane,
584
- 0,
585
- index,
586
- !abovePlane
587
- );
588
- }
589
- return polygonIndex;
590
- }
591
- PolygonGeometryLibrary.splitPolygonsOnEquator = function(outerRings, ellipsoid, arcType, result) {
592
- if (!defined_default(result)) {
593
- result = [];
594
- }
595
- result.splice(0, 0, ...outerRings);
596
- result.length = outerRings.length;
597
- let currentPolygon = 0;
598
- while (currentPolygon < result.length) {
599
- const outerRing = result[currentPolygon];
600
- const positions = outerRing.slice();
601
- if (outerRing.length < 3) {
602
- result[currentPolygon] = positions;
603
- ++currentPolygon;
604
- continue;
605
- }
606
- const edgesOnPlane = computeEdgesOnPlane(positions, ellipsoid, arcType);
607
- if (positions.length === outerRing.length || edgesOnPlane.length <= 1) {
608
- result[currentPolygon] = positions;
609
- ++currentPolygon;
610
- continue;
611
- }
612
- edgesOnPlane.sort((a, b) => {
613
- return a.theta - b.theta;
614
- });
615
- const north = positions[0].z >= 0;
616
- currentPolygon = wirePolygon(
617
- result,
618
- currentPolygon,
619
- positions,
620
- edgesOnPlane,
621
- 1,
622
- 0,
623
- north
624
- );
625
- }
626
- return result;
627
- };
628
- PolygonGeometryLibrary.polygonsFromHierarchy = function(polygonHierarchy, keepDuplicates, projectPointsTo2D, scaleToEllipsoidSurface, ellipsoid, splitPolygons) {
629
- const hierarchy = [];
630
- const polygons = [];
631
- const queue = new Queue_default();
632
- queue.enqueue(polygonHierarchy);
633
- let split = defined_default(splitPolygons);
634
- while (queue.length !== 0) {
635
- const outerNode = queue.dequeue();
636
- let outerRing = outerNode.positions;
637
- const holes = outerNode.holes;
638
- let i;
639
- let length;
640
- if (scaleToEllipsoidSurface) {
641
- length = outerRing.length;
642
- for (i = 0; i < length; i++) {
643
- ellipsoid.scaleToGeodeticSurface(outerRing[i], outerRing[i]);
644
- }
645
- }
646
- if (!keepDuplicates) {
647
- outerRing = arrayRemoveDuplicates_default(
648
- outerRing,
649
- Cartesian3_default.equalsEpsilon,
650
- true
651
- );
652
- }
653
- if (outerRing.length < 3) {
654
- continue;
655
- }
656
- let positions2D = projectPointsTo2D(outerRing);
657
- if (!defined_default(positions2D)) {
658
- continue;
659
- }
660
- const holeIndices = [];
661
- let originalWindingOrder = PolygonPipeline_default.computeWindingOrder2D(
662
- positions2D
663
- );
664
- if (originalWindingOrder === WindingOrder_default.CLOCKWISE) {
665
- positions2D.reverse();
666
- outerRing = outerRing.slice().reverse();
667
- }
668
- if (split) {
669
- split = false;
670
- let polygons2 = [outerRing];
671
- polygons2 = splitPolygons(polygons2, polygons2);
672
- if (polygons2.length > 1) {
673
- for (const positions2 of polygons2) {
674
- queue.enqueue(new PolygonHierarchy_default(positions2, holes));
675
- }
676
- continue;
677
- }
678
- }
679
- let positions = outerRing.slice();
680
- const numChildren = defined_default(holes) ? holes.length : 0;
681
- const polygonHoles = [];
682
- let j;
683
- for (i = 0; i < numChildren; i++) {
684
- const hole = holes[i];
685
- let holePositions = hole.positions;
686
- if (scaleToEllipsoidSurface) {
687
- length = holePositions.length;
688
- for (j = 0; j < length; ++j) {
689
- ellipsoid.scaleToGeodeticSurface(holePositions[j], holePositions[j]);
690
- }
691
- }
692
- if (!keepDuplicates) {
693
- holePositions = arrayRemoveDuplicates_default(
694
- holePositions,
695
- Cartesian3_default.equalsEpsilon,
696
- true
697
- );
698
- }
699
- if (holePositions.length < 3) {
700
- continue;
701
- }
702
- const holePositions2D = projectPointsTo2D(holePositions);
703
- if (!defined_default(holePositions2D)) {
704
- continue;
705
- }
706
- originalWindingOrder = PolygonPipeline_default.computeWindingOrder2D(
707
- holePositions2D
708
- );
709
- if (originalWindingOrder === WindingOrder_default.CLOCKWISE) {
710
- holePositions2D.reverse();
711
- holePositions = holePositions.slice().reverse();
712
- }
713
- polygonHoles.push(holePositions);
714
- holeIndices.push(positions.length);
715
- positions = positions.concat(holePositions);
716
- positions2D = positions2D.concat(holePositions2D);
717
- let numGrandchildren = 0;
718
- if (defined_default(hole.holes)) {
719
- numGrandchildren = hole.holes.length;
720
- }
721
- for (j = 0; j < numGrandchildren; j++) {
722
- queue.enqueue(hole.holes[j]);
723
- }
724
- }
725
- hierarchy.push({
726
- outerRing,
727
- holes: polygonHoles
728
- });
729
- polygons.push({
730
- positions,
731
- positions2D,
732
- holes: holeIndices
733
- });
734
- }
735
- return {
736
- hierarchy,
737
- polygons
738
- };
739
- };
740
- var computeBoundingRectangleCartesian2 = new Cartesian2_default();
741
- var computeBoundingRectangleCartesian3 = new Cartesian3_default();
742
- var computeBoundingRectangleQuaternion = new Quaternion_default();
743
- var computeBoundingRectangleMatrix3 = new Matrix3_default();
744
- PolygonGeometryLibrary.computeBoundingRectangle = function(planeNormal, projectPointTo2D, positions, angle, result) {
745
- const rotation = Quaternion_default.fromAxisAngle(
746
- planeNormal,
747
- angle,
748
- computeBoundingRectangleQuaternion
749
- );
750
- const textureMatrix = Matrix3_default.fromQuaternion(
751
- rotation,
752
- computeBoundingRectangleMatrix3
753
- );
754
- let minX = Number.POSITIVE_INFINITY;
755
- let maxX = Number.NEGATIVE_INFINITY;
756
- let minY = Number.POSITIVE_INFINITY;
757
- let maxY = Number.NEGATIVE_INFINITY;
758
- const length = positions.length;
759
- for (let i = 0; i < length; ++i) {
760
- const p = Cartesian3_default.clone(
761
- positions[i],
762
- computeBoundingRectangleCartesian3
763
- );
764
- Matrix3_default.multiplyByVector(textureMatrix, p, p);
765
- const st = projectPointTo2D(p, computeBoundingRectangleCartesian2);
766
- if (defined_default(st)) {
767
- minX = Math.min(minX, st.x);
768
- maxX = Math.max(maxX, st.x);
769
- minY = Math.min(minY, st.y);
770
- maxY = Math.max(maxY, st.y);
771
- }
772
- }
773
- result.x = minX;
774
- result.y = minY;
775
- result.width = maxX - minX;
776
- result.height = maxY - minY;
777
- return result;
778
- };
779
- PolygonGeometryLibrary.createGeometryFromPositions = function(ellipsoid, polygon, textureCoordinates, granularity, perPositionHeight, vertexFormat, arcType) {
780
- let indices = PolygonPipeline_default.triangulate(polygon.positions2D, polygon.holes);
781
- if (indices.length < 3) {
782
- indices = [0, 1, 2];
783
- }
784
- const positions = polygon.positions;
785
- const hasTexcoords = defined_default(textureCoordinates);
786
- const texcoords = hasTexcoords ? textureCoordinates.positions : void 0;
787
- if (perPositionHeight) {
788
- const length = positions.length;
789
- const flattenedPositions = new Array(length * 3);
790
- let index = 0;
791
- for (let i = 0; i < length; i++) {
792
- const p = positions[i];
793
- flattenedPositions[index++] = p.x;
794
- flattenedPositions[index++] = p.y;
795
- flattenedPositions[index++] = p.z;
796
- }
797
- const geometryOptions = {
798
- attributes: {
799
- position: new GeometryAttribute_default({
800
- componentDatatype: ComponentDatatype_default.DOUBLE,
801
- componentsPerAttribute: 3,
802
- values: flattenedPositions
803
- })
804
- },
805
- indices,
806
- primitiveType: PrimitiveType_default.TRIANGLES
807
- };
808
- if (hasTexcoords) {
809
- geometryOptions.attributes.st = new GeometryAttribute_default({
810
- componentDatatype: ComponentDatatype_default.FLOAT,
811
- componentsPerAttribute: 2,
812
- values: Cartesian2_default.packArray(texcoords)
813
- });
814
- }
815
- const geometry = new Geometry_default(geometryOptions);
816
- if (vertexFormat.normal) {
817
- return GeometryPipeline_default.computeNormal(geometry);
818
- }
819
- return geometry;
820
- }
821
- if (arcType === ArcType_default.GEODESIC) {
822
- return PolygonPipeline_default.computeSubdivision(
823
- ellipsoid,
824
- positions,
825
- indices,
826
- texcoords,
827
- granularity
828
- );
829
- } else if (arcType === ArcType_default.RHUMB) {
830
- return PolygonPipeline_default.computeRhumbLineSubdivision(
831
- ellipsoid,
832
- positions,
833
- indices,
834
- texcoords,
835
- granularity
836
- );
837
- }
838
- };
839
- var computeWallTexcoordsSubdivided = [];
840
- var computeWallIndicesSubdivided = [];
841
- var p1Scratch = new Cartesian3_default();
842
- var p2Scratch = new Cartesian3_default();
843
- PolygonGeometryLibrary.computeWallGeometry = function(positions, textureCoordinates, ellipsoid, granularity, perPositionHeight, arcType) {
844
- let edgePositions;
845
- let topEdgeLength;
846
- let i;
847
- let p1;
848
- let p2;
849
- let t1;
850
- let t2;
851
- let edgeTexcoords;
852
- let topEdgeTexcoordLength;
853
- let length = positions.length;
854
- let index = 0;
855
- let textureIndex = 0;
856
- const hasTexcoords = defined_default(textureCoordinates);
857
- const texcoords = hasTexcoords ? textureCoordinates.positions : void 0;
858
- if (!perPositionHeight) {
859
- const minDistance = Math_default.chordLength(
860
- granularity,
861
- ellipsoid.maximumRadius
862
- );
863
- let numVertices = 0;
864
- if (arcType === ArcType_default.GEODESIC) {
865
- for (i = 0; i < length; i++) {
866
- numVertices += PolygonGeometryLibrary.subdivideLineCount(
867
- positions[i],
868
- positions[(i + 1) % length],
869
- minDistance
870
- );
871
- }
872
- } else if (arcType === ArcType_default.RHUMB) {
873
- for (i = 0; i < length; i++) {
874
- numVertices += PolygonGeometryLibrary.subdivideRhumbLineCount(
875
- ellipsoid,
876
- positions[i],
877
- positions[(i + 1) % length],
878
- minDistance
879
- );
880
- }
881
- }
882
- topEdgeLength = (numVertices + length) * 3;
883
- edgePositions = new Array(topEdgeLength * 2);
884
- if (hasTexcoords) {
885
- topEdgeTexcoordLength = (numVertices + length) * 2;
886
- edgeTexcoords = new Array(topEdgeTexcoordLength * 2);
887
- }
888
- for (i = 0; i < length; i++) {
889
- p1 = positions[i];
890
- p2 = positions[(i + 1) % length];
891
- let tempPositions;
892
- let tempTexcoords;
893
- if (hasTexcoords) {
894
- t1 = texcoords[i];
895
- t2 = texcoords[(i + 1) % length];
896
- }
897
- if (arcType === ArcType_default.GEODESIC) {
898
- tempPositions = PolygonGeometryLibrary.subdivideLine(
899
- p1,
900
- p2,
901
- minDistance,
902
- computeWallIndicesSubdivided
903
- );
904
- if (hasTexcoords) {
905
- tempTexcoords = PolygonGeometryLibrary.subdivideTexcoordLine(
906
- t1,
907
- t2,
908
- p1,
909
- p2,
910
- minDistance,
911
- computeWallTexcoordsSubdivided
912
- );
913
- }
914
- } else if (arcType === ArcType_default.RHUMB) {
915
- tempPositions = PolygonGeometryLibrary.subdivideRhumbLine(
916
- ellipsoid,
917
- p1,
918
- p2,
919
- minDistance,
920
- computeWallIndicesSubdivided
921
- );
922
- if (hasTexcoords) {
923
- tempTexcoords = PolygonGeometryLibrary.subdivideTexcoordRhumbLine(
924
- t1,
925
- t2,
926
- ellipsoid,
927
- p1,
928
- p2,
929
- minDistance,
930
- computeWallTexcoordsSubdivided
931
- );
932
- }
933
- }
934
- const tempPositionsLength = tempPositions.length;
935
- for (let j = 0; j < tempPositionsLength; ++j, ++index) {
936
- edgePositions[index] = tempPositions[j];
937
- edgePositions[index + topEdgeLength] = tempPositions[j];
938
- }
939
- edgePositions[index] = p2.x;
940
- edgePositions[index + topEdgeLength] = p2.x;
941
- ++index;
942
- edgePositions[index] = p2.y;
943
- edgePositions[index + topEdgeLength] = p2.y;
944
- ++index;
945
- edgePositions[index] = p2.z;
946
- edgePositions[index + topEdgeLength] = p2.z;
947
- ++index;
948
- if (hasTexcoords) {
949
- const tempTexcoordsLength = tempTexcoords.length;
950
- for (let k = 0; k < tempTexcoordsLength; ++k, ++textureIndex) {
951
- edgeTexcoords[textureIndex] = tempTexcoords[k];
952
- edgeTexcoords[textureIndex + topEdgeTexcoordLength] = tempTexcoords[k];
953
- }
954
- edgeTexcoords[textureIndex] = t2.x;
955
- edgeTexcoords[textureIndex + topEdgeTexcoordLength] = t2.x;
956
- ++textureIndex;
957
- edgeTexcoords[textureIndex] = t2.y;
958
- edgeTexcoords[textureIndex + topEdgeTexcoordLength] = t2.y;
959
- ++textureIndex;
960
- }
961
- }
962
- } else {
963
- topEdgeLength = length * 3 * 2;
964
- edgePositions = new Array(topEdgeLength * 2);
965
- if (hasTexcoords) {
966
- topEdgeTexcoordLength = length * 2 * 2;
967
- edgeTexcoords = new Array(topEdgeTexcoordLength * 2);
968
- }
969
- for (i = 0; i < length; i++) {
970
- p1 = positions[i];
971
- p2 = positions[(i + 1) % length];
972
- edgePositions[index] = edgePositions[index + topEdgeLength] = p1.x;
973
- ++index;
974
- edgePositions[index] = edgePositions[index + topEdgeLength] = p1.y;
975
- ++index;
976
- edgePositions[index] = edgePositions[index + topEdgeLength] = p1.z;
977
- ++index;
978
- edgePositions[index] = edgePositions[index + topEdgeLength] = p2.x;
979
- ++index;
980
- edgePositions[index] = edgePositions[index + topEdgeLength] = p2.y;
981
- ++index;
982
- edgePositions[index] = edgePositions[index + topEdgeLength] = p2.z;
983
- ++index;
984
- if (hasTexcoords) {
985
- t1 = texcoords[i];
986
- t2 = texcoords[(i + 1) % length];
987
- edgeTexcoords[textureIndex] = edgeTexcoords[textureIndex + topEdgeTexcoordLength] = t1.x;
988
- ++textureIndex;
989
- edgeTexcoords[textureIndex] = edgeTexcoords[textureIndex + topEdgeTexcoordLength] = t1.y;
990
- ++textureIndex;
991
- edgeTexcoords[textureIndex] = edgeTexcoords[textureIndex + topEdgeTexcoordLength] = t2.x;
992
- ++textureIndex;
993
- edgeTexcoords[textureIndex] = edgeTexcoords[textureIndex + topEdgeTexcoordLength] = t2.y;
994
- ++textureIndex;
995
- }
996
- }
997
- }
998
- length = edgePositions.length;
999
- const indices = IndexDatatype_default.createTypedArray(
1000
- length / 3,
1001
- length - positions.length * 6
1002
- );
1003
- let edgeIndex = 0;
1004
- length /= 6;
1005
- for (i = 0; i < length; i++) {
1006
- const UL = i;
1007
- const UR = UL + 1;
1008
- const LL = UL + length;
1009
- const LR = LL + 1;
1010
- p1 = Cartesian3_default.fromArray(edgePositions, UL * 3, p1Scratch);
1011
- p2 = Cartesian3_default.fromArray(edgePositions, UR * 3, p2Scratch);
1012
- if (Cartesian3_default.equalsEpsilon(
1013
- p1,
1014
- p2,
1015
- Math_default.EPSILON10,
1016
- Math_default.EPSILON10
1017
- )) {
1018
- continue;
1019
- }
1020
- indices[edgeIndex++] = UL;
1021
- indices[edgeIndex++] = LL;
1022
- indices[edgeIndex++] = UR;
1023
- indices[edgeIndex++] = UR;
1024
- indices[edgeIndex++] = LL;
1025
- indices[edgeIndex++] = LR;
1026
- }
1027
- const geometryOptions = {
1028
- attributes: new GeometryAttributes_default({
1029
- position: new GeometryAttribute_default({
1030
- componentDatatype: ComponentDatatype_default.DOUBLE,
1031
- componentsPerAttribute: 3,
1032
- values: edgePositions
1033
- })
1034
- }),
1035
- indices,
1036
- primitiveType: PrimitiveType_default.TRIANGLES
1037
- };
1038
- if (hasTexcoords) {
1039
- geometryOptions.attributes.st = new GeometryAttribute_default({
1040
- componentDatatype: ComponentDatatype_default.FLOAT,
1041
- componentsPerAttribute: 2,
1042
- values: edgeTexcoords
1043
- });
1044
- }
1045
- const geometry = new Geometry_default(geometryOptions);
1046
- return geometry;
1047
- };
1048
- var PolygonGeometryLibrary_default = PolygonGeometryLibrary;
1049
-
1050
- export {
1051
- PolygonGeometryLibrary_default
1052
- };