@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,945 +0,0 @@
1
- /**
2
- * @license
3
- * Cesium - https://github.com/CesiumGS/cesium
4
- * Version 1.119
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
- EllipsoidRhumbLine_default
28
- } from "./chunk-4MSUJ4I7.js";
29
- import {
30
- GeometryAttribute_default,
31
- Geometry_default,
32
- PrimitiveType_default
33
- } from "./chunk-FOZWUH4T.js";
34
- import {
35
- ComponentDatatype_default
36
- } from "./chunk-2J3JKXCP.js";
37
- import {
38
- Cartesian2_default,
39
- Cartesian3_default,
40
- Cartographic_default,
41
- Ellipsoid_default
42
- } from "./chunk-PYHLO636.js";
43
- import {
44
- Math_default
45
- } from "./chunk-MSKXMXJI.js";
46
- import {
47
- WebGLConstants_default
48
- } from "./chunk-OOK53QUQ.js";
49
- import {
50
- defaultValue_default
51
- } from "./chunk-VE7BFUIX.js";
52
- import {
53
- Check_default
54
- } from "./chunk-S3PI2KFM.js";
55
- import {
56
- defined_default
57
- } from "./chunk-AA4GZKOT.js";
58
-
59
- // packages/engine/Source/Core/WindingOrder.js
60
- var WindingOrder = {
61
- /**
62
- * Vertices are in clockwise order.
63
- *
64
- * @type {number}
65
- * @constant
66
- */
67
- CLOCKWISE: WebGLConstants_default.CW,
68
- /**
69
- * Vertices are in counter-clockwise order.
70
- *
71
- * @type {number}
72
- * @constant
73
- */
74
- COUNTER_CLOCKWISE: WebGLConstants_default.CCW
75
- };
76
- WindingOrder.validate = function(windingOrder) {
77
- return windingOrder === WindingOrder.CLOCKWISE || windingOrder === WindingOrder.COUNTER_CLOCKWISE;
78
- };
79
- var WindingOrder_default = Object.freeze(WindingOrder);
80
-
81
- // node_modules/earcut/src/earcut.js
82
- function earcut(data, holeIndices, dim = 2) {
83
- const hasHoles = holeIndices && holeIndices.length;
84
- const outerLen = hasHoles ? holeIndices[0] * dim : data.length;
85
- let outerNode = linkedList(data, 0, outerLen, dim, true);
86
- const triangles = [];
87
- if (!outerNode || outerNode.next === outerNode.prev) return triangles;
88
- let minX, minY, invSize;
89
- if (hasHoles) outerNode = eliminateHoles(data, holeIndices, outerNode, dim);
90
- if (data.length > 80 * dim) {
91
- minX = Infinity;
92
- minY = Infinity;
93
- let maxX = -Infinity;
94
- let maxY = -Infinity;
95
- for (let i = dim; i < outerLen; i += dim) {
96
- const x = data[i];
97
- const y = data[i + 1];
98
- if (x < minX) minX = x;
99
- if (y < minY) minY = y;
100
- if (x > maxX) maxX = x;
101
- if (y > maxY) maxY = y;
102
- }
103
- invSize = Math.max(maxX - minX, maxY - minY);
104
- invSize = invSize !== 0 ? 32767 / invSize : 0;
105
- }
106
- earcutLinked(outerNode, triangles, dim, minX, minY, invSize, 0);
107
- return triangles;
108
- }
109
- function linkedList(data, start, end, dim, clockwise) {
110
- let last;
111
- if (clockwise === signedArea(data, start, end, dim) > 0) {
112
- for (let i = start; i < end; i += dim) last = insertNode(i / dim | 0, data[i], data[i + 1], last);
113
- } else {
114
- for (let i = end - dim; i >= start; i -= dim) last = insertNode(i / dim | 0, data[i], data[i + 1], last);
115
- }
116
- if (last && equals(last, last.next)) {
117
- removeNode(last);
118
- last = last.next;
119
- }
120
- return last;
121
- }
122
- function filterPoints(start, end) {
123
- if (!start) return start;
124
- if (!end) end = start;
125
- let p = start, again;
126
- do {
127
- again = false;
128
- if (!p.steiner && (equals(p, p.next) || area(p.prev, p, p.next) === 0)) {
129
- removeNode(p);
130
- p = end = p.prev;
131
- if (p === p.next) break;
132
- again = true;
133
- } else {
134
- p = p.next;
135
- }
136
- } while (again || p !== end);
137
- return end;
138
- }
139
- function earcutLinked(ear, triangles, dim, minX, minY, invSize, pass) {
140
- if (!ear) return;
141
- if (!pass && invSize) indexCurve(ear, minX, minY, invSize);
142
- let stop = ear;
143
- while (ear.prev !== ear.next) {
144
- const prev = ear.prev;
145
- const next = ear.next;
146
- if (invSize ? isEarHashed(ear, minX, minY, invSize) : isEar(ear)) {
147
- triangles.push(prev.i, ear.i, next.i);
148
- removeNode(ear);
149
- ear = next.next;
150
- stop = next.next;
151
- continue;
152
- }
153
- ear = next;
154
- if (ear === stop) {
155
- if (!pass) {
156
- earcutLinked(filterPoints(ear), triangles, dim, minX, minY, invSize, 1);
157
- } else if (pass === 1) {
158
- ear = cureLocalIntersections(filterPoints(ear), triangles);
159
- earcutLinked(ear, triangles, dim, minX, minY, invSize, 2);
160
- } else if (pass === 2) {
161
- splitEarcut(ear, triangles, dim, minX, minY, invSize);
162
- }
163
- break;
164
- }
165
- }
166
- }
167
- function isEar(ear) {
168
- const a = ear.prev, b = ear, c = ear.next;
169
- if (area(a, b, c) >= 0) return false;
170
- const ax = a.x, bx = b.x, cx = c.x, ay = a.y, by = b.y, cy = c.y;
171
- const x0 = ax < bx ? ax < cx ? ax : cx : bx < cx ? bx : cx, y0 = ay < by ? ay < cy ? ay : cy : by < cy ? by : cy, x1 = ax > bx ? ax > cx ? ax : cx : bx > cx ? bx : cx, y1 = ay > by ? ay > cy ? ay : cy : by > cy ? by : cy;
172
- let p = c.next;
173
- while (p !== a) {
174
- if (p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && pointInTriangle(ax, ay, bx, by, cx, cy, p.x, p.y) && area(p.prev, p, p.next) >= 0) return false;
175
- p = p.next;
176
- }
177
- return true;
178
- }
179
- function isEarHashed(ear, minX, minY, invSize) {
180
- const a = ear.prev, b = ear, c = ear.next;
181
- if (area(a, b, c) >= 0) return false;
182
- const ax = a.x, bx = b.x, cx = c.x, ay = a.y, by = b.y, cy = c.y;
183
- const x0 = ax < bx ? ax < cx ? ax : cx : bx < cx ? bx : cx, y0 = ay < by ? ay < cy ? ay : cy : by < cy ? by : cy, x1 = ax > bx ? ax > cx ? ax : cx : bx > cx ? bx : cx, y1 = ay > by ? ay > cy ? ay : cy : by > cy ? by : cy;
184
- const minZ = zOrder(x0, y0, minX, minY, invSize), maxZ = zOrder(x1, y1, minX, minY, invSize);
185
- let p = ear.prevZ, n = ear.nextZ;
186
- while (p && p.z >= minZ && n && n.z <= maxZ) {
187
- if (p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && p !== a && p !== c && pointInTriangle(ax, ay, bx, by, cx, cy, p.x, p.y) && area(p.prev, p, p.next) >= 0) return false;
188
- p = p.prevZ;
189
- if (n.x >= x0 && n.x <= x1 && n.y >= y0 && n.y <= y1 && n !== a && n !== c && pointInTriangle(ax, ay, bx, by, cx, cy, n.x, n.y) && area(n.prev, n, n.next) >= 0) return false;
190
- n = n.nextZ;
191
- }
192
- while (p && p.z >= minZ) {
193
- if (p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && p !== a && p !== c && pointInTriangle(ax, ay, bx, by, cx, cy, p.x, p.y) && area(p.prev, p, p.next) >= 0) return false;
194
- p = p.prevZ;
195
- }
196
- while (n && n.z <= maxZ) {
197
- if (n.x >= x0 && n.x <= x1 && n.y >= y0 && n.y <= y1 && n !== a && n !== c && pointInTriangle(ax, ay, bx, by, cx, cy, n.x, n.y) && area(n.prev, n, n.next) >= 0) return false;
198
- n = n.nextZ;
199
- }
200
- return true;
201
- }
202
- function cureLocalIntersections(start, triangles) {
203
- let p = start;
204
- do {
205
- const a = p.prev, b = p.next.next;
206
- if (!equals(a, b) && intersects(a, p, p.next, b) && locallyInside(a, b) && locallyInside(b, a)) {
207
- triangles.push(a.i, p.i, b.i);
208
- removeNode(p);
209
- removeNode(p.next);
210
- p = start = b;
211
- }
212
- p = p.next;
213
- } while (p !== start);
214
- return filterPoints(p);
215
- }
216
- function splitEarcut(start, triangles, dim, minX, minY, invSize) {
217
- let a = start;
218
- do {
219
- let b = a.next.next;
220
- while (b !== a.prev) {
221
- if (a.i !== b.i && isValidDiagonal(a, b)) {
222
- let c = splitPolygon(a, b);
223
- a = filterPoints(a, a.next);
224
- c = filterPoints(c, c.next);
225
- earcutLinked(a, triangles, dim, minX, minY, invSize, 0);
226
- earcutLinked(c, triangles, dim, minX, minY, invSize, 0);
227
- return;
228
- }
229
- b = b.next;
230
- }
231
- a = a.next;
232
- } while (a !== start);
233
- }
234
- function eliminateHoles(data, holeIndices, outerNode, dim) {
235
- const queue = [];
236
- for (let i = 0, len = holeIndices.length; i < len; i++) {
237
- const start = holeIndices[i] * dim;
238
- const end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;
239
- const list = linkedList(data, start, end, dim, false);
240
- if (list === list.next) list.steiner = true;
241
- queue.push(getLeftmost(list));
242
- }
243
- queue.sort(compareX);
244
- for (let i = 0; i < queue.length; i++) {
245
- outerNode = eliminateHole(queue[i], outerNode);
246
- }
247
- return outerNode;
248
- }
249
- function compareX(a, b) {
250
- return a.x - b.x;
251
- }
252
- function eliminateHole(hole, outerNode) {
253
- const bridge = findHoleBridge(hole, outerNode);
254
- if (!bridge) {
255
- return outerNode;
256
- }
257
- const bridgeReverse = splitPolygon(bridge, hole);
258
- filterPoints(bridgeReverse, bridgeReverse.next);
259
- return filterPoints(bridge, bridge.next);
260
- }
261
- function findHoleBridge(hole, outerNode) {
262
- let p = outerNode;
263
- const hx = hole.x;
264
- const hy = hole.y;
265
- let qx = -Infinity;
266
- let m;
267
- do {
268
- if (hy <= p.y && hy >= p.next.y && p.next.y !== p.y) {
269
- const x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y);
270
- if (x <= hx && x > qx) {
271
- qx = x;
272
- m = p.x < p.next.x ? p : p.next;
273
- if (x === hx) return m;
274
- }
275
- }
276
- p = p.next;
277
- } while (p !== outerNode);
278
- if (!m) return null;
279
- const stop = m;
280
- const mx = m.x;
281
- const my = m.y;
282
- let tanMin = Infinity;
283
- p = m;
284
- do {
285
- if (hx >= p.x && p.x >= mx && hx !== p.x && pointInTriangle(hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y)) {
286
- const tan = Math.abs(hy - p.y) / (hx - p.x);
287
- if (locallyInside(p, hole) && (tan < tanMin || tan === tanMin && (p.x > m.x || p.x === m.x && sectorContainsSector(m, p)))) {
288
- m = p;
289
- tanMin = tan;
290
- }
291
- }
292
- p = p.next;
293
- } while (p !== stop);
294
- return m;
295
- }
296
- function sectorContainsSector(m, p) {
297
- return area(m.prev, m, p.prev) < 0 && area(p.next, m, m.next) < 0;
298
- }
299
- function indexCurve(start, minX, minY, invSize) {
300
- let p = start;
301
- do {
302
- if (p.z === 0) p.z = zOrder(p.x, p.y, minX, minY, invSize);
303
- p.prevZ = p.prev;
304
- p.nextZ = p.next;
305
- p = p.next;
306
- } while (p !== start);
307
- p.prevZ.nextZ = null;
308
- p.prevZ = null;
309
- sortLinked(p);
310
- }
311
- function sortLinked(list) {
312
- let numMerges;
313
- let inSize = 1;
314
- do {
315
- let p = list;
316
- let e;
317
- list = null;
318
- let tail = null;
319
- numMerges = 0;
320
- while (p) {
321
- numMerges++;
322
- let q = p;
323
- let pSize = 0;
324
- for (let i = 0; i < inSize; i++) {
325
- pSize++;
326
- q = q.nextZ;
327
- if (!q) break;
328
- }
329
- let qSize = inSize;
330
- while (pSize > 0 || qSize > 0 && q) {
331
- if (pSize !== 0 && (qSize === 0 || !q || p.z <= q.z)) {
332
- e = p;
333
- p = p.nextZ;
334
- pSize--;
335
- } else {
336
- e = q;
337
- q = q.nextZ;
338
- qSize--;
339
- }
340
- if (tail) tail.nextZ = e;
341
- else list = e;
342
- e.prevZ = tail;
343
- tail = e;
344
- }
345
- p = q;
346
- }
347
- tail.nextZ = null;
348
- inSize *= 2;
349
- } while (numMerges > 1);
350
- return list;
351
- }
352
- function zOrder(x, y, minX, minY, invSize) {
353
- x = (x - minX) * invSize | 0;
354
- y = (y - minY) * invSize | 0;
355
- x = (x | x << 8) & 16711935;
356
- x = (x | x << 4) & 252645135;
357
- x = (x | x << 2) & 858993459;
358
- x = (x | x << 1) & 1431655765;
359
- y = (y | y << 8) & 16711935;
360
- y = (y | y << 4) & 252645135;
361
- y = (y | y << 2) & 858993459;
362
- y = (y | y << 1) & 1431655765;
363
- return x | y << 1;
364
- }
365
- function getLeftmost(start) {
366
- let p = start, leftmost = start;
367
- do {
368
- if (p.x < leftmost.x || p.x === leftmost.x && p.y < leftmost.y) leftmost = p;
369
- p = p.next;
370
- } while (p !== start);
371
- return leftmost;
372
- }
373
- function pointInTriangle(ax, ay, bx, by, cx, cy, px, py) {
374
- return (cx - px) * (ay - py) >= (ax - px) * (cy - py) && (ax - px) * (by - py) >= (bx - px) * (ay - py) && (bx - px) * (cy - py) >= (cx - px) * (by - py);
375
- }
376
- function isValidDiagonal(a, b) {
377
- return a.next.i !== b.i && a.prev.i !== b.i && !intersectsPolygon(a, b) && // dones't intersect other edges
378
- (locallyInside(a, b) && locallyInside(b, a) && middleInside(a, b) && // locally visible
379
- (area(a.prev, a, b.prev) || area(a, b.prev, b)) || // does not create opposite-facing sectors
380
- equals(a, b) && area(a.prev, a, a.next) > 0 && area(b.prev, b, b.next) > 0);
381
- }
382
- function area(p, q, r) {
383
- return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y);
384
- }
385
- function equals(p1, p2) {
386
- return p1.x === p2.x && p1.y === p2.y;
387
- }
388
- function intersects(p1, q1, p2, q2) {
389
- const o1 = sign(area(p1, q1, p2));
390
- const o2 = sign(area(p1, q1, q2));
391
- const o3 = sign(area(p2, q2, p1));
392
- const o4 = sign(area(p2, q2, q1));
393
- if (o1 !== o2 && o3 !== o4) return true;
394
- if (o1 === 0 && onSegment(p1, p2, q1)) return true;
395
- if (o2 === 0 && onSegment(p1, q2, q1)) return true;
396
- if (o3 === 0 && onSegment(p2, p1, q2)) return true;
397
- if (o4 === 0 && onSegment(p2, q1, q2)) return true;
398
- return false;
399
- }
400
- function onSegment(p, q, r) {
401
- return q.x <= Math.max(p.x, r.x) && q.x >= Math.min(p.x, r.x) && q.y <= Math.max(p.y, r.y) && q.y >= Math.min(p.y, r.y);
402
- }
403
- function sign(num) {
404
- return num > 0 ? 1 : num < 0 ? -1 : 0;
405
- }
406
- function intersectsPolygon(a, b) {
407
- let p = a;
408
- do {
409
- if (p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i && intersects(p, p.next, a, b)) return true;
410
- p = p.next;
411
- } while (p !== a);
412
- return false;
413
- }
414
- function locallyInside(a, b) {
415
- return area(a.prev, a, a.next) < 0 ? area(a, b, a.next) >= 0 && area(a, a.prev, b) >= 0 : area(a, b, a.prev) < 0 || area(a, a.next, b) < 0;
416
- }
417
- function middleInside(a, b) {
418
- let p = a;
419
- let inside = false;
420
- const px = (a.x + b.x) / 2;
421
- const py = (a.y + b.y) / 2;
422
- do {
423
- if (p.y > py !== p.next.y > py && p.next.y !== p.y && px < (p.next.x - p.x) * (py - p.y) / (p.next.y - p.y) + p.x)
424
- inside = !inside;
425
- p = p.next;
426
- } while (p !== a);
427
- return inside;
428
- }
429
- function splitPolygon(a, b) {
430
- const a2 = createNode(a.i, a.x, a.y), b2 = createNode(b.i, b.x, b.y), an = a.next, bp = b.prev;
431
- a.next = b;
432
- b.prev = a;
433
- a2.next = an;
434
- an.prev = a2;
435
- b2.next = a2;
436
- a2.prev = b2;
437
- bp.next = b2;
438
- b2.prev = bp;
439
- return b2;
440
- }
441
- function insertNode(i, x, y, last) {
442
- const p = createNode(i, x, y);
443
- if (!last) {
444
- p.prev = p;
445
- p.next = p;
446
- } else {
447
- p.next = last.next;
448
- p.prev = last;
449
- last.next.prev = p;
450
- last.next = p;
451
- }
452
- return p;
453
- }
454
- function removeNode(p) {
455
- p.next.prev = p.prev;
456
- p.prev.next = p.next;
457
- if (p.prevZ) p.prevZ.nextZ = p.nextZ;
458
- if (p.nextZ) p.nextZ.prevZ = p.prevZ;
459
- }
460
- function createNode(i, x, y) {
461
- return {
462
- i,
463
- // vertex index in coordinates array
464
- x,
465
- y,
466
- // vertex coordinates
467
- prev: null,
468
- // previous and next vertex nodes in a polygon ring
469
- next: null,
470
- z: 0,
471
- // z-order curve value
472
- prevZ: null,
473
- // previous and next nodes in z-order
474
- nextZ: null,
475
- steiner: false
476
- // indicates whether this is a steiner point
477
- };
478
- }
479
- function signedArea(data, start, end, dim) {
480
- let sum = 0;
481
- for (let i = start, j = end - dim; i < end; i += dim) {
482
- sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]);
483
- j = i;
484
- }
485
- return sum;
486
- }
487
-
488
- // packages/engine/Source/Core/PolygonPipeline.js
489
- var scaleToGeodeticHeightN = new Cartesian3_default();
490
- var scaleToGeodeticHeightP = new Cartesian3_default();
491
- var PolygonPipeline = {};
492
- PolygonPipeline.computeArea2D = function(positions) {
493
- Check_default.defined("positions", positions);
494
- Check_default.typeOf.number.greaterThanOrEquals(
495
- "positions.length",
496
- positions.length,
497
- 3
498
- );
499
- const length = positions.length;
500
- let area2 = 0;
501
- for (let i0 = length - 1, i1 = 0; i1 < length; i0 = i1++) {
502
- const v0 = positions[i0];
503
- const v1 = positions[i1];
504
- area2 += v0.x * v1.y - v1.x * v0.y;
505
- }
506
- return area2 * 0.5;
507
- };
508
- PolygonPipeline.computeWindingOrder2D = function(positions) {
509
- const area2 = PolygonPipeline.computeArea2D(positions);
510
- return area2 > 0 ? WindingOrder_default.COUNTER_CLOCKWISE : WindingOrder_default.CLOCKWISE;
511
- };
512
- PolygonPipeline.triangulate = function(positions, holes) {
513
- Check_default.defined("positions", positions);
514
- const flattenedPositions = Cartesian2_default.packArray(positions);
515
- return earcut(flattenedPositions, holes, 2);
516
- };
517
- var subdivisionV0Scratch = new Cartesian3_default();
518
- var subdivisionV1Scratch = new Cartesian3_default();
519
- var subdivisionV2Scratch = new Cartesian3_default();
520
- var subdivisionS0Scratch = new Cartesian3_default();
521
- var subdivisionS1Scratch = new Cartesian3_default();
522
- var subdivisionS2Scratch = new Cartesian3_default();
523
- var subdivisionMidScratch = new Cartesian3_default();
524
- var subdivisionT0Scratch = new Cartesian2_default();
525
- var subdivisionT1Scratch = new Cartesian2_default();
526
- var subdivisionT2Scratch = new Cartesian2_default();
527
- var subdivisionTexcoordMidScratch = new Cartesian2_default();
528
- PolygonPipeline.computeSubdivision = function(ellipsoid, positions, indices, texcoords, granularity) {
529
- granularity = defaultValue_default(granularity, Math_default.RADIANS_PER_DEGREE);
530
- const hasTexcoords = defined_default(texcoords);
531
- Check_default.typeOf.object("ellipsoid", ellipsoid);
532
- Check_default.defined("positions", positions);
533
- Check_default.defined("indices", indices);
534
- Check_default.typeOf.number.greaterThanOrEquals("indices.length", indices.length, 3);
535
- Check_default.typeOf.number.equals("indices.length % 3", "0", indices.length % 3, 0);
536
- Check_default.typeOf.number.greaterThan("granularity", granularity, 0);
537
- const triangles = indices.slice(0);
538
- let i;
539
- const length = positions.length;
540
- const subdividedPositions = new Array(length * 3);
541
- const subdividedTexcoords = new Array(length * 2);
542
- let q = 0;
543
- let p = 0;
544
- for (i = 0; i < length; i++) {
545
- const item = positions[i];
546
- subdividedPositions[q++] = item.x;
547
- subdividedPositions[q++] = item.y;
548
- subdividedPositions[q++] = item.z;
549
- if (hasTexcoords) {
550
- const texcoordItem = texcoords[i];
551
- subdividedTexcoords[p++] = texcoordItem.x;
552
- subdividedTexcoords[p++] = texcoordItem.y;
553
- }
554
- }
555
- const subdividedIndices = [];
556
- const edges = {};
557
- const radius = ellipsoid.maximumRadius;
558
- const minDistance = Math_default.chordLength(granularity, radius);
559
- const minDistanceSqrd = minDistance * minDistance;
560
- while (triangles.length > 0) {
561
- const i2 = triangles.pop();
562
- const i1 = triangles.pop();
563
- const i0 = triangles.pop();
564
- const v0 = Cartesian3_default.fromArray(
565
- subdividedPositions,
566
- i0 * 3,
567
- subdivisionV0Scratch
568
- );
569
- const v1 = Cartesian3_default.fromArray(
570
- subdividedPositions,
571
- i1 * 3,
572
- subdivisionV1Scratch
573
- );
574
- const v2 = Cartesian3_default.fromArray(
575
- subdividedPositions,
576
- i2 * 3,
577
- subdivisionV2Scratch
578
- );
579
- let t0, t1, t2;
580
- if (hasTexcoords) {
581
- t0 = Cartesian2_default.fromArray(
582
- subdividedTexcoords,
583
- i0 * 2,
584
- subdivisionT0Scratch
585
- );
586
- t1 = Cartesian2_default.fromArray(
587
- subdividedTexcoords,
588
- i1 * 2,
589
- subdivisionT1Scratch
590
- );
591
- t2 = Cartesian2_default.fromArray(
592
- subdividedTexcoords,
593
- i2 * 2,
594
- subdivisionT2Scratch
595
- );
596
- }
597
- const s0 = Cartesian3_default.multiplyByScalar(
598
- Cartesian3_default.normalize(v0, subdivisionS0Scratch),
599
- radius,
600
- subdivisionS0Scratch
601
- );
602
- const s1 = Cartesian3_default.multiplyByScalar(
603
- Cartesian3_default.normalize(v1, subdivisionS1Scratch),
604
- radius,
605
- subdivisionS1Scratch
606
- );
607
- const s2 = Cartesian3_default.multiplyByScalar(
608
- Cartesian3_default.normalize(v2, subdivisionS2Scratch),
609
- radius,
610
- subdivisionS2Scratch
611
- );
612
- const g0 = Cartesian3_default.magnitudeSquared(
613
- Cartesian3_default.subtract(s0, s1, subdivisionMidScratch)
614
- );
615
- const g1 = Cartesian3_default.magnitudeSquared(
616
- Cartesian3_default.subtract(s1, s2, subdivisionMidScratch)
617
- );
618
- const g2 = Cartesian3_default.magnitudeSquared(
619
- Cartesian3_default.subtract(s2, s0, subdivisionMidScratch)
620
- );
621
- const max = Math.max(g0, g1, g2);
622
- let edge;
623
- let mid;
624
- let midTexcoord;
625
- if (max > minDistanceSqrd) {
626
- if (g0 === max) {
627
- edge = `${Math.min(i0, i1)} ${Math.max(i0, i1)}`;
628
- i = edges[edge];
629
- if (!defined_default(i)) {
630
- mid = Cartesian3_default.add(v0, v1, subdivisionMidScratch);
631
- Cartesian3_default.multiplyByScalar(mid, 0.5, mid);
632
- subdividedPositions.push(mid.x, mid.y, mid.z);
633
- i = subdividedPositions.length / 3 - 1;
634
- edges[edge] = i;
635
- if (hasTexcoords) {
636
- midTexcoord = Cartesian2_default.add(t0, t1, subdivisionTexcoordMidScratch);
637
- Cartesian2_default.multiplyByScalar(midTexcoord, 0.5, midTexcoord);
638
- subdividedTexcoords.push(midTexcoord.x, midTexcoord.y);
639
- }
640
- }
641
- triangles.push(i0, i, i2);
642
- triangles.push(i, i1, i2);
643
- } else if (g1 === max) {
644
- edge = `${Math.min(i1, i2)} ${Math.max(i1, i2)}`;
645
- i = edges[edge];
646
- if (!defined_default(i)) {
647
- mid = Cartesian3_default.add(v1, v2, subdivisionMidScratch);
648
- Cartesian3_default.multiplyByScalar(mid, 0.5, mid);
649
- subdividedPositions.push(mid.x, mid.y, mid.z);
650
- i = subdividedPositions.length / 3 - 1;
651
- edges[edge] = i;
652
- if (hasTexcoords) {
653
- midTexcoord = Cartesian2_default.add(t1, t2, subdivisionTexcoordMidScratch);
654
- Cartesian2_default.multiplyByScalar(midTexcoord, 0.5, midTexcoord);
655
- subdividedTexcoords.push(midTexcoord.x, midTexcoord.y);
656
- }
657
- }
658
- triangles.push(i1, i, i0);
659
- triangles.push(i, i2, i0);
660
- } else if (g2 === max) {
661
- edge = `${Math.min(i2, i0)} ${Math.max(i2, i0)}`;
662
- i = edges[edge];
663
- if (!defined_default(i)) {
664
- mid = Cartesian3_default.add(v2, v0, subdivisionMidScratch);
665
- Cartesian3_default.multiplyByScalar(mid, 0.5, mid);
666
- subdividedPositions.push(mid.x, mid.y, mid.z);
667
- i = subdividedPositions.length / 3 - 1;
668
- edges[edge] = i;
669
- if (hasTexcoords) {
670
- midTexcoord = Cartesian2_default.add(t2, t0, subdivisionTexcoordMidScratch);
671
- Cartesian2_default.multiplyByScalar(midTexcoord, 0.5, midTexcoord);
672
- subdividedTexcoords.push(midTexcoord.x, midTexcoord.y);
673
- }
674
- }
675
- triangles.push(i2, i, i1);
676
- triangles.push(i, i0, i1);
677
- }
678
- } else {
679
- subdividedIndices.push(i0);
680
- subdividedIndices.push(i1);
681
- subdividedIndices.push(i2);
682
- }
683
- }
684
- const geometryOptions = {
685
- attributes: {
686
- position: new GeometryAttribute_default({
687
- componentDatatype: ComponentDatatype_default.DOUBLE,
688
- componentsPerAttribute: 3,
689
- values: subdividedPositions
690
- })
691
- },
692
- indices: subdividedIndices,
693
- primitiveType: PrimitiveType_default.TRIANGLES
694
- };
695
- if (hasTexcoords) {
696
- geometryOptions.attributes.st = new GeometryAttribute_default({
697
- componentDatatype: ComponentDatatype_default.FLOAT,
698
- componentsPerAttribute: 2,
699
- values: subdividedTexcoords
700
- });
701
- }
702
- return new Geometry_default(geometryOptions);
703
- };
704
- var subdivisionC0Scratch = new Cartographic_default();
705
- var subdivisionC1Scratch = new Cartographic_default();
706
- var subdivisionC2Scratch = new Cartographic_default();
707
- var subdivisionCartographicScratch = new Cartographic_default();
708
- PolygonPipeline.computeRhumbLineSubdivision = function(ellipsoid, positions, indices, texcoords, granularity) {
709
- granularity = defaultValue_default(granularity, Math_default.RADIANS_PER_DEGREE);
710
- const hasTexcoords = defined_default(texcoords);
711
- Check_default.typeOf.object("ellipsoid", ellipsoid);
712
- Check_default.defined("positions", positions);
713
- Check_default.defined("indices", indices);
714
- Check_default.typeOf.number.greaterThanOrEquals("indices.length", indices.length, 3);
715
- Check_default.typeOf.number.equals("indices.length % 3", "0", indices.length % 3, 0);
716
- Check_default.typeOf.number.greaterThan("granularity", granularity, 0);
717
- const triangles = indices.slice(0);
718
- let i;
719
- const length = positions.length;
720
- const subdividedPositions = new Array(length * 3);
721
- const subdividedTexcoords = new Array(length * 2);
722
- let q = 0;
723
- let p = 0;
724
- for (i = 0; i < length; i++) {
725
- const item = positions[i];
726
- subdividedPositions[q++] = item.x;
727
- subdividedPositions[q++] = item.y;
728
- subdividedPositions[q++] = item.z;
729
- if (hasTexcoords) {
730
- const texcoordItem = texcoords[i];
731
- subdividedTexcoords[p++] = texcoordItem.x;
732
- subdividedTexcoords[p++] = texcoordItem.y;
733
- }
734
- }
735
- const subdividedIndices = [];
736
- const edges = {};
737
- const radius = ellipsoid.maximumRadius;
738
- const minDistance = Math_default.chordLength(granularity, radius);
739
- const rhumb0 = new EllipsoidRhumbLine_default(void 0, void 0, ellipsoid);
740
- const rhumb1 = new EllipsoidRhumbLine_default(void 0, void 0, ellipsoid);
741
- const rhumb2 = new EllipsoidRhumbLine_default(void 0, void 0, ellipsoid);
742
- while (triangles.length > 0) {
743
- const i2 = triangles.pop();
744
- const i1 = triangles.pop();
745
- const i0 = triangles.pop();
746
- const v0 = Cartesian3_default.fromArray(
747
- subdividedPositions,
748
- i0 * 3,
749
- subdivisionV0Scratch
750
- );
751
- const v1 = Cartesian3_default.fromArray(
752
- subdividedPositions,
753
- i1 * 3,
754
- subdivisionV1Scratch
755
- );
756
- const v2 = Cartesian3_default.fromArray(
757
- subdividedPositions,
758
- i2 * 3,
759
- subdivisionV2Scratch
760
- );
761
- let t0, t1, t2;
762
- if (hasTexcoords) {
763
- t0 = Cartesian2_default.fromArray(
764
- subdividedTexcoords,
765
- i0 * 2,
766
- subdivisionT0Scratch
767
- );
768
- t1 = Cartesian2_default.fromArray(
769
- subdividedTexcoords,
770
- i1 * 2,
771
- subdivisionT1Scratch
772
- );
773
- t2 = Cartesian2_default.fromArray(
774
- subdividedTexcoords,
775
- i2 * 2,
776
- subdivisionT2Scratch
777
- );
778
- }
779
- const c0 = ellipsoid.cartesianToCartographic(v0, subdivisionC0Scratch);
780
- const c1 = ellipsoid.cartesianToCartographic(v1, subdivisionC1Scratch);
781
- const c2 = ellipsoid.cartesianToCartographic(v2, subdivisionC2Scratch);
782
- rhumb0.setEndPoints(c0, c1);
783
- const g0 = rhumb0.surfaceDistance;
784
- rhumb1.setEndPoints(c1, c2);
785
- const g1 = rhumb1.surfaceDistance;
786
- rhumb2.setEndPoints(c2, c0);
787
- const g2 = rhumb2.surfaceDistance;
788
- const max = Math.max(g0, g1, g2);
789
- let edge;
790
- let mid;
791
- let midHeight;
792
- let midCartesian3;
793
- let midTexcoord;
794
- if (max > minDistance) {
795
- if (g0 === max) {
796
- edge = `${Math.min(i0, i1)} ${Math.max(i0, i1)}`;
797
- i = edges[edge];
798
- if (!defined_default(i)) {
799
- mid = rhumb0.interpolateUsingFraction(
800
- 0.5,
801
- subdivisionCartographicScratch
802
- );
803
- midHeight = (c0.height + c1.height) * 0.5;
804
- midCartesian3 = Cartesian3_default.fromRadians(
805
- mid.longitude,
806
- mid.latitude,
807
- midHeight,
808
- ellipsoid,
809
- subdivisionMidScratch
810
- );
811
- subdividedPositions.push(
812
- midCartesian3.x,
813
- midCartesian3.y,
814
- midCartesian3.z
815
- );
816
- i = subdividedPositions.length / 3 - 1;
817
- edges[edge] = i;
818
- if (hasTexcoords) {
819
- midTexcoord = Cartesian2_default.add(t0, t1, subdivisionTexcoordMidScratch);
820
- Cartesian2_default.multiplyByScalar(midTexcoord, 0.5, midTexcoord);
821
- subdividedTexcoords.push(midTexcoord.x, midTexcoord.y);
822
- }
823
- }
824
- triangles.push(i0, i, i2);
825
- triangles.push(i, i1, i2);
826
- } else if (g1 === max) {
827
- edge = `${Math.min(i1, i2)} ${Math.max(i1, i2)}`;
828
- i = edges[edge];
829
- if (!defined_default(i)) {
830
- mid = rhumb1.interpolateUsingFraction(
831
- 0.5,
832
- subdivisionCartographicScratch
833
- );
834
- midHeight = (c1.height + c2.height) * 0.5;
835
- midCartesian3 = Cartesian3_default.fromRadians(
836
- mid.longitude,
837
- mid.latitude,
838
- midHeight,
839
- ellipsoid,
840
- subdivisionMidScratch
841
- );
842
- subdividedPositions.push(
843
- midCartesian3.x,
844
- midCartesian3.y,
845
- midCartesian3.z
846
- );
847
- i = subdividedPositions.length / 3 - 1;
848
- edges[edge] = i;
849
- if (hasTexcoords) {
850
- midTexcoord = Cartesian2_default.add(t1, t2, subdivisionTexcoordMidScratch);
851
- Cartesian2_default.multiplyByScalar(midTexcoord, 0.5, midTexcoord);
852
- subdividedTexcoords.push(midTexcoord.x, midTexcoord.y);
853
- }
854
- }
855
- triangles.push(i1, i, i0);
856
- triangles.push(i, i2, i0);
857
- } else if (g2 === max) {
858
- edge = `${Math.min(i2, i0)} ${Math.max(i2, i0)}`;
859
- i = edges[edge];
860
- if (!defined_default(i)) {
861
- mid = rhumb2.interpolateUsingFraction(
862
- 0.5,
863
- subdivisionCartographicScratch
864
- );
865
- midHeight = (c2.height + c0.height) * 0.5;
866
- midCartesian3 = Cartesian3_default.fromRadians(
867
- mid.longitude,
868
- mid.latitude,
869
- midHeight,
870
- ellipsoid,
871
- subdivisionMidScratch
872
- );
873
- subdividedPositions.push(
874
- midCartesian3.x,
875
- midCartesian3.y,
876
- midCartesian3.z
877
- );
878
- i = subdividedPositions.length / 3 - 1;
879
- edges[edge] = i;
880
- if (hasTexcoords) {
881
- midTexcoord = Cartesian2_default.add(t2, t0, subdivisionTexcoordMidScratch);
882
- Cartesian2_default.multiplyByScalar(midTexcoord, 0.5, midTexcoord);
883
- subdividedTexcoords.push(midTexcoord.x, midTexcoord.y);
884
- }
885
- }
886
- triangles.push(i2, i, i1);
887
- triangles.push(i, i0, i1);
888
- }
889
- } else {
890
- subdividedIndices.push(i0);
891
- subdividedIndices.push(i1);
892
- subdividedIndices.push(i2);
893
- }
894
- }
895
- const geometryOptions = {
896
- attributes: {
897
- position: new GeometryAttribute_default({
898
- componentDatatype: ComponentDatatype_default.DOUBLE,
899
- componentsPerAttribute: 3,
900
- values: subdividedPositions
901
- })
902
- },
903
- indices: subdividedIndices,
904
- primitiveType: PrimitiveType_default.TRIANGLES
905
- };
906
- if (hasTexcoords) {
907
- geometryOptions.attributes.st = new GeometryAttribute_default({
908
- componentDatatype: ComponentDatatype_default.FLOAT,
909
- componentsPerAttribute: 2,
910
- values: subdividedTexcoords
911
- });
912
- }
913
- return new Geometry_default(geometryOptions);
914
- };
915
- PolygonPipeline.scaleToGeodeticHeight = function(positions, height, ellipsoid, scaleToSurface) {
916
- ellipsoid = defaultValue_default(ellipsoid, Ellipsoid_default.default);
917
- let n = scaleToGeodeticHeightN;
918
- let p = scaleToGeodeticHeightP;
919
- height = defaultValue_default(height, 0);
920
- scaleToSurface = defaultValue_default(scaleToSurface, true);
921
- if (defined_default(positions)) {
922
- const length = positions.length;
923
- for (let i = 0; i < length; i += 3) {
924
- Cartesian3_default.fromArray(positions, i, p);
925
- if (scaleToSurface) {
926
- p = ellipsoid.scaleToGeodeticSurface(p, p);
927
- }
928
- if (height !== 0) {
929
- n = ellipsoid.geodeticSurfaceNormal(p, n);
930
- Cartesian3_default.multiplyByScalar(n, height, n);
931
- Cartesian3_default.add(p, n, p);
932
- }
933
- positions[i] = p.x;
934
- positions[i + 1] = p.y;
935
- positions[i + 2] = p.z;
936
- }
937
- }
938
- return positions;
939
- };
940
- var PolygonPipeline_default = PolygonPipeline;
941
-
942
- export {
943
- WindingOrder_default,
944
- PolygonPipeline_default
945
- };