@cesium/engine 8.0.0 → 9.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 (192) hide show
  1. package/Build/ThirdParty/Workers/z-worker-pako.js +7 -10
  2. package/Build/Workers/{chunk-F4HFJMGM.js → chunk-2CSEEWHN.js} +6 -6
  3. package/Build/Workers/{chunk-7TC63SJW.js → chunk-34DGOKCO.js} +10 -12
  4. package/Build/Workers/{chunk-7ZFGPDJA.js → chunk-3RZK5NNV.js} +4 -4
  5. package/Build/Workers/{chunk-M7ERACJJ.js → chunk-3S2MFY4B.js} +13 -13
  6. package/Build/Workers/{chunk-BROJAZRZ.js → chunk-4AJGCQFX.js} +13 -13
  7. package/Build/Workers/{chunk-2FWRMUTY.js → chunk-4KIUON73.js} +4 -4
  8. package/Build/Workers/{chunk-5QULIR53.js → chunk-4PHPQRSH.js} +4 -4
  9. package/Build/Workers/{chunk-X4356LRH.js → chunk-66E3H2KU.js} +12 -12
  10. package/Build/Workers/{chunk-G43QFN4Q.js → chunk-6HCAQOVK.js} +6 -6
  11. package/Build/Workers/{chunk-23UFSGND.js → chunk-7LPEGKOF.js} +7 -7
  12. package/Build/Workers/{chunk-DDUQAJ4P.js → chunk-7VZNXIKG.js} +7 -7
  13. package/Build/Workers/{chunk-JURN7NPV.js → chunk-A6NCZSL3.js} +19 -19
  14. package/Build/Workers/{chunk-ZT7KWISZ.js → chunk-AOFMPKUB.js} +4 -4
  15. package/Build/Workers/{chunk-BIKA3NRA.js → chunk-AOIKO5Y7.js} +5 -5
  16. package/Build/Workers/{chunk-YWTJ2B4B.js → chunk-BDUJXBVF.js} +1 -1
  17. package/Build/Workers/{chunk-OGXZVPPM.js → chunk-C5CE4OG6.js} +469 -6
  18. package/Build/Workers/{chunk-FNIRWHJB.js → chunk-CE6GTZ4I.js} +11 -13
  19. package/Build/Workers/{chunk-SH5USDPI.js → chunk-CYAJYEKW.js} +6 -6
  20. package/Build/Workers/{chunk-Y5UQJLYE.js → chunk-FOZQIHZK.js} +6 -6
  21. package/Build/Workers/{chunk-2FRVPMCS.js → chunk-G7CJQKKD.js} +7 -7
  22. package/Build/Workers/{chunk-EERJKOAF.js → chunk-GIFJ77E4.js} +4 -4
  23. package/Build/Workers/{chunk-FJKNFAKQ.js → chunk-I5TDPPC4.js} +7197 -5096
  24. package/Build/Workers/{chunk-3VAZEH7M.js → chunk-IBXGK4WV.js} +2 -2
  25. package/Build/Workers/{chunk-VOXYEYJT.js → chunk-JI2445T5.js} +11 -11
  26. package/Build/Workers/{chunk-PGSJK77E.js → chunk-KPY4F4BW.js} +6 -6
  27. package/Build/Workers/{chunk-I46ZRR5W.js → chunk-LVJCR7DH.js} +17 -17
  28. package/Build/Workers/{chunk-T3XIFPYR.js → chunk-LW7WGHEU.js} +16 -16
  29. package/Build/Workers/{chunk-HU6N6EXB.js → chunk-MWYZ64MH.js} +12 -11
  30. package/Build/Workers/chunk-NI2R52QD.js +961 -0
  31. package/Build/Workers/{chunk-SOWMRMWA.js → chunk-PEABJLCK.js} +1 -1
  32. package/Build/Workers/{chunk-EG6PTBY2.js → chunk-PK7TEP3J.js} +15 -15
  33. package/Build/Workers/{chunk-GRC2ZTAF.js → chunk-POLFRINT.js} +14 -14
  34. package/Build/Workers/{chunk-Z3TIFFGF.js → chunk-PS6AEMBR.js} +7 -7
  35. package/Build/Workers/{chunk-Y2ME2IJV.js → chunk-PWF3YJJ5.js} +13 -13
  36. package/Build/Workers/{chunk-2A75IWRS.js → chunk-QKF7XXEQ.js} +7 -7
  37. package/Build/Workers/{chunk-4H7PY4U5.js → chunk-RL73GOEF.js} +2 -2
  38. package/Build/Workers/{chunk-MDWEGWPA.js → chunk-RR7EOKGZ.js} +10 -10
  39. package/Build/Workers/{chunk-F3YA3Y2Z.js → chunk-S4XDCPKD.js} +1 -1
  40. package/Build/Workers/{chunk-PPH7OFP3.js → chunk-TMMOULW3.js} +5 -5
  41. package/Build/Workers/{chunk-XGI5BXZY.js → chunk-U4IMCOF5.js} +2 -2
  42. package/Build/Workers/{chunk-4DO5W5XZ.js → chunk-UAJEGIWA.js} +6 -6
  43. package/Build/Workers/{chunk-BBWDMCVU.js → chunk-UCPPWV64.js} +1 -1
  44. package/Build/Workers/{chunk-FZRIVR7Y.js → chunk-V7JB576Q.js} +5 -5
  45. package/Build/Workers/{chunk-2UPKWTMJ.js → chunk-WEGCQ5DY.js} +6 -6
  46. package/Build/Workers/{chunk-STW2DGFI.js → chunk-WFICTTOE.js} +2 -2
  47. package/Build/Workers/{chunk-LPR3YNP2.js → chunk-WWP3I7R5.js} +5 -5
  48. package/Build/Workers/{chunk-A5DWLWCY.js → chunk-XHLDDE65.js} +10 -10
  49. package/Build/Workers/{chunk-UEXTBDBE.js → chunk-XWML5Y7N.js} +11 -13
  50. package/Build/Workers/{chunk-EHWHNOEX.js → chunk-YLZTCEBJ.js} +1 -1
  51. package/Build/Workers/{chunk-34FXV7D7.js → chunk-ZC4AGBZK.js} +2 -2
  52. package/Build/Workers/{chunk-GATZHF3K.js → chunk-ZDP32RQI.js} +2 -2
  53. package/Build/Workers/{chunk-KKCR2YOP.js → chunk-ZWPIM77Q.js} +11 -11
  54. package/Build/Workers/combineGeometry.js +22 -24
  55. package/Build/Workers/createBoxGeometry.js +16 -18
  56. package/Build/Workers/createBoxOutlineGeometry.js +14 -16
  57. package/Build/Workers/createCircleGeometry.js +24 -26
  58. package/Build/Workers/createCircleOutlineGeometry.js +17 -19
  59. package/Build/Workers/createCoplanarPolygonGeometry.js +33 -34
  60. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +29 -31
  61. package/Build/Workers/createCorridorGeometry.js +27 -29
  62. package/Build/Workers/createCorridorOutlineGeometry.js +26 -28
  63. package/Build/Workers/createCylinderGeometry.js +18 -20
  64. package/Build/Workers/createCylinderOutlineGeometry.js +16 -18
  65. package/Build/Workers/createEllipseGeometry.js +24 -26
  66. package/Build/Workers/createEllipseOutlineGeometry.js +17 -19
  67. package/Build/Workers/createEllipsoidGeometry.js +17 -19
  68. package/Build/Workers/createEllipsoidOutlineGeometry.js +16 -18
  69. package/Build/Workers/createFrustumGeometry.js +16 -18
  70. package/Build/Workers/createFrustumOutlineGeometry.js +18 -19
  71. package/Build/Workers/createGeometry.js +23 -25
  72. package/Build/Workers/createGroundPolylineGeometry.js +23 -25
  73. package/Build/Workers/createPlaneGeometry.js +14 -16
  74. package/Build/Workers/createPlaneOutlineGeometry.js +13 -15
  75. package/Build/Workers/createPolygonGeometry.js +33 -35
  76. package/Build/Workers/createPolygonOutlineGeometry.js +28 -30
  77. package/Build/Workers/createPolylineGeometry.js +23 -25
  78. package/Build/Workers/createPolylineVolumeGeometry.js +29 -31
  79. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +25 -27
  80. package/Build/Workers/createRectangleGeometry.js +27 -29
  81. package/Build/Workers/createRectangleOutlineGeometry.js +18 -20
  82. package/Build/Workers/createSimplePolylineGeometry.js +21 -23
  83. package/Build/Workers/createSphereGeometry.js +17 -19
  84. package/Build/Workers/createSphereOutlineGeometry.js +16 -18
  85. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  86. package/Build/Workers/createVectorTileClampedPolylines.js +14 -16
  87. package/Build/Workers/createVectorTileGeometries.js +22 -24
  88. package/Build/Workers/createVectorTilePoints.js +12 -12
  89. package/Build/Workers/createVectorTilePolygons.js +20 -22
  90. package/Build/Workers/createVectorTilePolylines.js +14 -16
  91. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +23 -25
  92. package/Build/Workers/createVerticesFromHeightmap.js +23 -25
  93. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +19 -22
  94. package/Build/Workers/createWallGeometry.js +22 -24
  95. package/Build/Workers/createWallOutlineGeometry.js +21 -23
  96. package/Build/Workers/decodeDraco.js +11 -11
  97. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  98. package/Build/Workers/decodeI3S.js +10 -11
  99. package/Build/Workers/transcodeKTX2.js +8 -8
  100. package/Build/Workers/transferTypedArrayTest.js +1 -1
  101. package/Build/Workers/upsampleQuantizedTerrainMesh.js +20 -22
  102. package/Source/Core/Check.d.ts +127 -0
  103. package/Source/Core/Check.js +0 -1
  104. package/Source/Core/Geometry.js +1 -1
  105. package/Source/Core/Ion.js +1 -1
  106. package/Source/Core/PixelFormat.js +1 -0
  107. package/Source/Core/PolygonGeometry.js +1 -1
  108. package/Source/Core/Rectangle.js +89 -0
  109. package/Source/Core/VerticalExaggeration.js +2 -1
  110. package/Source/DataSources/DataSourceDisplay.js +5 -0
  111. package/Source/Renderer/ShaderBuilder.js +6 -3
  112. package/Source/Scene/ArcGisMapService.js +1 -1
  113. package/Source/Scene/Billboard.js +37 -3
  114. package/Source/Scene/BillboardCollection.js +1 -1
  115. package/Source/Scene/BingMapsImageryProvider.js +4 -0
  116. package/Source/Scene/Cesium3DTile.js +65 -0
  117. package/Source/Scene/Cesium3DTilesVoxelProvider.js +2 -9
  118. package/Source/Scene/Cesium3DTileset.js +52 -40
  119. package/Source/Scene/ClippingPolygon.js +212 -0
  120. package/Source/Scene/ClippingPolygonCollection.js +968 -0
  121. package/Source/Scene/Globe.js +14 -67
  122. package/Source/Scene/GlobeSurfaceShaderSet.js +81 -15
  123. package/Source/Scene/GlobeSurfaceTileProvider.js +81 -1
  124. package/Source/Scene/Label.js +33 -0
  125. package/Source/Scene/LabelCollection.js +2 -1
  126. package/Source/Scene/Model/Model.js +83 -0
  127. package/Source/Scene/Model/Model3DTileContent.js +21 -0
  128. package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +92 -0
  129. package/Source/Scene/Model/ModelSceneGraph.js +5 -0
  130. package/Source/Scene/Primitive.js +0 -3
  131. package/Source/Scene/SensorVolumePortionToDisplay.js +1 -1
  132. package/Source/Scene/Terrain.js +2 -2
  133. package/Source/Scene/VoxelBoxShape.js +0 -15
  134. package/Source/Scene/VoxelCylinderShape.js +14 -131
  135. package/Source/Scene/VoxelEllipsoidShape.js +136 -227
  136. package/Source/Scene/VoxelPrimitive.js +106 -14
  137. package/Source/Scene/VoxelRenderResources.js +9 -3
  138. package/Source/Scene/VoxelShape.js +0 -10
  139. package/Source/Scene/processVoxelProperties.js +1 -0
  140. package/Source/Shaders/Builtin/CzmBuiltins.js +4 -0
  141. package/Source/Shaders/Builtin/Functions/clipPolygons.glsl +37 -0
  142. package/Source/Shaders/Builtin/Functions/clipPolygons.js +39 -0
  143. package/Source/Shaders/Builtin/Functions/unpackClippingExtents.glsl +14 -0
  144. package/Source/Shaders/Builtin/Functions/unpackClippingExtents.js +15 -0
  145. package/Source/Shaders/GlobeFS.glsl +12 -0
  146. package/Source/Shaders/GlobeFS.js +12 -0
  147. package/Source/Shaders/GlobeVS.glsl +32 -0
  148. package/Source/Shaders/GlobeVS.js +32 -0
  149. package/Source/Shaders/Model/GeometryStageVS.glsl +1 -1
  150. package/Source/Shaders/Model/GeometryStageVS.js +1 -1
  151. package/Source/Shaders/Model/ModelClippingPolygonsStageFS.glsl +6 -0
  152. package/Source/Shaders/Model/ModelClippingPolygonsStageFS.js +8 -0
  153. package/Source/Shaders/Model/ModelClippingPolygonsStageVS.glsl +27 -0
  154. package/Source/Shaders/Model/ModelClippingPolygonsStageVS.js +29 -0
  155. package/Source/Shaders/Model/ModelFS.glsl +6 -0
  156. package/Source/Shaders/Model/ModelFS.js +7 -1
  157. package/Source/Shaders/Model/ModelVS.glsl +4 -0
  158. package/Source/Shaders/Model/ModelVS.js +4 -0
  159. package/Source/Shaders/PolygonSignedDistanceFS.glsl +100 -0
  160. package/Source/Shaders/PolygonSignedDistanceFS.js +101 -0
  161. package/Source/Shaders/Voxels/IntersectBox.glsl +21 -47
  162. package/Source/Shaders/Voxels/IntersectBox.js +21 -47
  163. package/Source/Shaders/Voxels/IntersectClippingPlanes.glsl +1 -1
  164. package/Source/Shaders/Voxels/IntersectClippingPlanes.js +1 -1
  165. package/Source/Shaders/Voxels/IntersectCylinder.glsl +66 -96
  166. package/Source/Shaders/Voxels/IntersectCylinder.js +66 -96
  167. package/Source/Shaders/Voxels/IntersectEllipsoid.glsl +226 -154
  168. package/Source/Shaders/Voxels/IntersectEllipsoid.js +226 -154
  169. package/Source/Shaders/Voxels/IntersectionUtils.glsl +33 -11
  170. package/Source/Shaders/Voxels/IntersectionUtils.js +33 -11
  171. package/Source/Shaders/Voxels/Megatexture.glsl +1 -2
  172. package/Source/Shaders/Voxels/Megatexture.js +1 -2
  173. package/Source/Shaders/Voxels/Octree.glsl +14 -9
  174. package/Source/Shaders/Voxels/Octree.js +14 -9
  175. package/Source/Shaders/Voxels/VoxelFS.glsl +93 -43
  176. package/Source/Shaders/Voxels/VoxelFS.js +93 -43
  177. package/Source/Shaders/Voxels/VoxelUtils.glsl +31 -0
  178. package/Source/Shaders/Voxels/VoxelUtils.js +33 -0
  179. package/Source/Shaders/Voxels/convertUvToBox.glsl +24 -3
  180. package/Source/Shaders/Voxels/convertUvToBox.js +24 -4
  181. package/Source/Shaders/Voxels/convertUvToCylinder.glsl +50 -8
  182. package/Source/Shaders/Voxels/convertUvToCylinder.js +50 -8
  183. package/Source/Shaders/Voxels/convertUvToEllipsoid.glsl +82 -53
  184. package/Source/Shaders/Voxels/convertUvToEllipsoid.js +82 -53
  185. package/Source/ThirdParty/Workers/z-worker-pako.js +1 -1
  186. package/Source/Workers/createGeometry.js +1 -1
  187. package/index.d.ts +478 -35
  188. package/index.js +61 -52
  189. package/package.json +2 -2
  190. package/Build/Workers/chunk-BG4UCVXN.js +0 -73
  191. package/Build/Workers/chunk-TTUZP4BO.js +0 -501
  192. package/Build/Workers/chunk-YJEBABKH.js +0 -2977
package/index.d.ts CHANGED
@@ -2982,6 +2982,136 @@ export class CesiumTerrainProvider {
2982
2982
  loadTileDataAvailability(x: number, y: number, level: number): undefined | Promise<void>;
2983
2983
  }
2984
2984
 
2985
+
2986
+ /**
2987
+ * Contains functions for checking that supplied arguments are of a specified type
2988
+ * or meet specified conditions
2989
+ */
2990
+ export const Check: {
2991
+ /**
2992
+ * Throws if test is not defined
2993
+ *
2994
+ * @param {string} name The name of the variable being tested
2995
+ * @param {*} test The value that is to be checked
2996
+ * @exception {DeveloperError} test must be defined
2997
+ */
2998
+ defined<T>(name: string, test: T): asserts test is NonNullable<T>;
2999
+ /**
3000
+ * Contains type checking functions, all using the typeof operator
3001
+ */
3002
+ typeOf: {
3003
+ /**
3004
+ * Throws if test is not typeof 'string'
3005
+ *
3006
+ * @param {string} name The name of the variable being tested
3007
+ * @param {*} test The value to test
3008
+ * @exception {DeveloperError} test must be typeof 'string'
3009
+ */
3010
+ string(name: string, test: any): asserts test is string;
3011
+ /**
3012
+ * Throws if test is not typeof 'function'
3013
+ *
3014
+ * @param {string} name The name of the variable being tested
3015
+ * @param {*} test The value to test
3016
+ * @exception {DeveloperError} test must be typeof 'function'
3017
+ */
3018
+ func(name: string, test: any): asserts test is Function;
3019
+ /**
3020
+ * Throws if test is not typeof 'object'
3021
+ *
3022
+ * @param {string} name The name of the variable being tested
3023
+ * @param {*} test The value to test
3024
+ * @exception {DeveloperError} test must be typeof 'object'
3025
+ */
3026
+ object(name: string, test: any): asserts test is object;
3027
+ /**
3028
+ * Throws if test is not typeof 'boolean'
3029
+ *
3030
+ * @param {string} name The name of the variable being tested
3031
+ * @param {*} test The value to test
3032
+ * @exception {DeveloperError} test must be typeof 'boolean'
3033
+ */
3034
+ bool(name: string, test: any): asserts test is boolean;
3035
+ /**
3036
+ * Throws if test is not typeof 'bigint'
3037
+ *
3038
+ * @param {string} name The name of the variable being tested
3039
+ * @param {*} test The value to test
3040
+ * @exception {DeveloperError} test must be typeof 'bigint'
3041
+ */
3042
+ bigint(name: string, test: any): asserts test is bigint;
3043
+ /**
3044
+ * Throws if test is not typeof 'number'
3045
+ *
3046
+ * @param {string} name The name of the variable being tested
3047
+ * @param {*} test The value to test
3048
+ * @exception {DeveloperError} test must be typeof 'number'
3049
+ */
3050
+ number: {
3051
+ (name: string, test: any): void;
3052
+ /**
3053
+ * Throws if test is not typeof 'number' and less than limit
3054
+ *
3055
+ * @param {string} name The name of the variable being tested
3056
+ * @param {*} test The value to test
3057
+ * @param {number} limit The limit value to compare against
3058
+ * @exception {DeveloperError} test must be typeof 'number' and less than limit
3059
+ */
3060
+ lessThan(name: string, test: any, limit: number): asserts test is number;
3061
+ /**
3062
+ * Throws if test is not typeof 'number' and less than or equal to limit
3063
+ *
3064
+ * @param {string} name The name of the variable being tested
3065
+ * @param {*} test The value to test
3066
+ * @param {number} limit The limit value to compare against
3067
+ * @exception {DeveloperError} test must be typeof 'number' and less than or equal to limit
3068
+ */
3069
+ lessThanOrEquals(
3070
+ name: string,
3071
+ test: any,
3072
+ limit: number
3073
+ ): asserts test is number;
3074
+ /**
3075
+ * Throws if test is not typeof 'number' and greater than limit
3076
+ *
3077
+ * @param {string} name The name of the variable being tested
3078
+ * @param {*} test The value to test
3079
+ * @param {number} limit The limit value to compare against
3080
+ * @exception {DeveloperError} test must be typeof 'number' and greater than limit
3081
+ */
3082
+ greaterThan(
3083
+ name: string,
3084
+ test: any,
3085
+ limit: number
3086
+ ): asserts test is number;
3087
+ /**
3088
+ * Throws if test is not typeof 'number' and greater than or equal to limit
3089
+ *
3090
+ * @param {string} name The name of the variable being tested
3091
+ * @param {*} test The value to test
3092
+ * @param {number} limit The limit value to compare against
3093
+ * @exception {DeveloperError} test must be typeof 'number' and greater than or equal to limit
3094
+ */
3095
+ greaterThanOrEquals(
3096
+ name: string,
3097
+ test: any,
3098
+ limit: number
3099
+ ): asserts test is number;
3100
+ /**
3101
+ * Throws if test1 and test2 is not typeof 'number' and not equal in value
3102
+ *
3103
+ * @param {string} name1 The name of the first variable being tested
3104
+ * @param {string} name2 The name of the second variable being tested against
3105
+ * @param {*} test1 The value to test
3106
+ * @param {*} test2 The value to test against
3107
+ * @exception {DeveloperError} test1 and test2 should be type of 'number' and be equal in value
3108
+ */
3109
+ equals(name1: string, name2: string, test1: any, test2: any): void;
3110
+ };
3111
+ };
3112
+ };
3113
+
3114
+
2985
3115
  /**
2986
3116
  * A description of a circle on the ellipsoid. Circle geometry can be rendered with both {@link Primitive} and {@link GroundPrimitive}.
2987
3117
  * @example
@@ -6295,7 +6425,7 @@ export class Event<Listener extends (...args: any[]) => void = (...args: any[])
6295
6425
  * Raises the event by calling each registered listener with all supplied arguments.
6296
6426
  * @param arguments - This method takes any number of parameters and passes them through to the listener functions.
6297
6427
  */
6298
- raiseEvent(...arguments: Parameters<Listener>[]): void;
6428
+ raiseEvent(...arguments: Parameters<Listener>): void;
6299
6429
  }
6300
6430
 
6301
6431
  export namespace Event {
@@ -6803,7 +6933,7 @@ export class Geometry {
6803
6933
  * <ul>
6804
6934
  * <li><code>position3DHigh</code> - High 32 bits for encoded 64-bit position computed with {@link GeometryPipeline.encodeAttribute}. 32-bit floating-point. 4 components per attribute.</li>
6805
6935
  * <li><code>position3DLow</code> - Low 32 bits for encoded 64-bit position computed with {@link GeometryPipeline.encodeAttribute}. 32-bit floating-point. 4 components per attribute.</li>
6806
- * <li><code>position3DHigh</code> - High 32 bits for encoded 64-bit 2D (Columbus view) position computed with {@link GeometryPipeline.encodeAttribute}. 32-bit floating-point. 4 components per attribute.</li>
6936
+ * <li><code>position2DHigh</code> - High 32 bits for encoded 64-bit 2D (Columbus view) position computed with {@link GeometryPipeline.encodeAttribute}. 32-bit floating-point. 4 components per attribute.</li>
6807
6937
  * <li><code>position2DLow</code> - Low 32 bits for encoded 64-bit 2D (Columbus view) position computed with {@link GeometryPipeline.encodeAttribute}. 32-bit floating-point. 4 components per attribute.</li>
6808
6938
  * <li><code>color</code> - RGBA color (normalized) usually from {@link GeometryInstance#color}. 32-bit floating-point. 4 components per attribute.</li>
6809
6939
  * <li><code>pickColor</code> - RGBA color used for picking. 32-bit floating-point. 4 components per attribute.</li>
@@ -14080,6 +14210,14 @@ export class Rectangle {
14080
14210
  * @returns The modified result parameter or a new Rectangle instance if none was provided.
14081
14211
  */
14082
14212
  static fromCartesianArray(cartesians: Cartesian3[], ellipsoid?: Ellipsoid, result?: Rectangle): Rectangle;
14213
+ /**
14214
+ * Create a rectangle from a bounding sphere, ignoring height.
14215
+ * @param boundingSphere - The bounding sphere.
14216
+ * @param [ellipsoid = Ellipsoid.WGS84] - The ellipsoid.
14217
+ * @param [result] - The object onto which to store the result, or undefined if a new instance should be created.
14218
+ * @returns The modified result parameter or a new Rectangle instance if none was provided.
14219
+ */
14220
+ static fromBoundingSphere(boundingSphere: BoundingSphere, ellipsoid?: Ellipsoid, result?: Rectangle): Rectangle;
14083
14221
  /**
14084
14222
  * Duplicates a Rectangle.
14085
14223
  * @param rectangle - The rectangle to clone.
@@ -18180,7 +18318,7 @@ export function defaultValue(a: any, b: any): any;
18180
18318
  * @param value - The object.
18181
18319
  * @returns Returns true if the object is defined, returns false otherwise.
18182
18320
  */
18183
- export function defined(value: any): boolean;
18321
+ export function defined<Type>(value: Type): value is NonNullable<Type>;
18184
18322
 
18185
18323
  /**
18186
18324
  * Destroys an object. Each of the object's functions, including functions in its prototype,
@@ -25684,6 +25822,63 @@ export enum Axis {
25684
25822
  Z = 2
25685
25823
  }
25686
25824
 
25825
+ export namespace Billboard {
25826
+ /**
25827
+ * Initialization options for the first param of Billboard constructor
25828
+ * @property position - The cartesian position of the billboard.
25829
+ * @property [id] - A user-defined object to return when the billboard is picked with {@link Scene#pick}.
25830
+ * @property [show = true] - Determines if this billboard will be shown.
25831
+ * @property [image] - A loaded HTMLImageElement, ImageData, or a url to an image to use for the billboard.
25832
+ * @property [scale = 1.0] - A number specifying the uniform scale that is multiplied with the billboard's image size in pixels.
25833
+ * @property [pixelOffset = Cartesian2.ZERO] - A {@link Cartesian2} Specifying the pixel offset in screen space from the origin of this billboard.
25834
+ * @property [eyeOffset = Cartesian3.ZERO] - A {@link Cartesian3} Specifying the 3D Cartesian offset applied to this billboard in eye coordinates.
25835
+ * @property [horizontalOrigin = HorizontalOrigin.CENTER] - A {@link HorizontalOrigin} Specifying the horizontal origin of this billboard.
25836
+ * @property [verticalOrigin = VerticalOrigin.CENTER] - A {@link VerticalOrigin} Specifying the vertical origin of this billboard.
25837
+ * @property [heightReference = HeightReference.NONE] - A {@link HeightReference} Specifying the height reference of this billboard.
25838
+ * @property [color = Color.WHITE] - A {@link Color} Specifying the color that is multiplied with the billboard's texture.
25839
+ * @property [rotation = 0] - A number specifying the rotation angle in radians.
25840
+ * @property [alignedAxis = Cartesian3.ZERO] - A {@link Cartesian3} Specifying the aligned axis in world space.
25841
+ * @property [sizeInMeters] - A boolean specifying if the billboard size is in meters or pixels.
25842
+ * @property [width] - A number specifying the width of the billboard. If undefined, the image width will be used.
25843
+ * @property [height] - A number specifying the height of the billboard. If undefined, the image height will be used.
25844
+ * @property [scaleByDistance] - A {@link NearFarScalar} Specifying near and far scaling properties of a Billboard based on the billboard's distance from the camera.
25845
+ * @property [translucencyByDistance] - A {@link NearFarScalar} Specifying near and far translucency properties of a Billboard based on the billboard's distance from the camera.
25846
+ * @property [pixelOffsetScaleByDistance] - A {@link NearFarScalar} Specifying near and far pixel offset scaling properties of a Billboard based on the billboard's distance from the camera.
25847
+ * @property [imageSubRegion] - A {@link BoundingRectangle} Specifying the sub-region of the image to use for the billboard, rather than the entire image.
25848
+ * @property [distanceDisplayCondition] - A {@link DistanceDisplayCondition} Specifying the distance from the camera at which this billboard will be displayed.
25849
+ * @property [disableDepthTestDistance] - A number specifying the distance from the camera at which to disable the depth test to, for example, prevent clipping against terrain.
25850
+ */
25851
+ type ConstructorOptions = {
25852
+ position: Cartesian3;
25853
+ id?: string;
25854
+ show?: boolean;
25855
+ image?: string | HTMLCanvasElement;
25856
+ scale?: number;
25857
+ pixelOffset?: Cartesian2;
25858
+ eyeOffset?: Cartesian3;
25859
+ horizontalOrigin?: HorizontalOrigin;
25860
+ verticalOrigin?: VerticalOrigin;
25861
+ heightReference?: HeightReference;
25862
+ color?: Color;
25863
+ rotation?: number;
25864
+ alignedAxis?: Cartesian3;
25865
+ sizeInMeters?: boolean;
25866
+ width?: number;
25867
+ height?: number;
25868
+ scaleByDistance?: NearFarScalar;
25869
+ translucencyByDistance?: NearFarScalar;
25870
+ pixelOffsetScaleByDistance?: NearFarScalar;
25871
+ imageSubRegion?: BoundingRectangle;
25872
+ distanceDisplayCondition?: DistanceDisplayCondition;
25873
+ disableDepthTestDistance?: number;
25874
+ };
25875
+ /**
25876
+ * A function that creates an image.
25877
+ * @param id - The identifier of the image to load.
25878
+ */
25879
+ type CreateImageCallback = (id: string) => HTMLImageElement | HTMLCanvasElement | Promise<HTMLImageElement | HTMLCanvasElement>;
25880
+ }
25881
+
25687
25882
  /**
25688
25883
  * <div class="notice">
25689
25884
  * A billboard is created and its initial
@@ -25696,9 +25891,11 @@ export enum Axis {
25696
25891
  * <img src='Images/Billboard.png' width='400' height='300' /><br />
25697
25892
  * Example billboards
25698
25893
  * </div>
25894
+ * @param options - Object describing initialization options
25895
+ * @param billboardCollection - Instance of BillboardCollection
25699
25896
  */
25700
25897
  export class Billboard {
25701
- constructor();
25898
+ constructor(options: Billboard.ConstructorOptions, billboardCollection: BillboardCollection);
25702
25899
  /**
25703
25900
  * Determines if this billboard will be shown. Use this to hide or show a billboard, instead
25704
25901
  * of removing it and re-adding it to the collection.
@@ -26001,14 +26198,6 @@ export class Billboard {
26001
26198
  equals(other: Billboard): boolean;
26002
26199
  }
26003
26200
 
26004
- export namespace Billboard {
26005
- /**
26006
- * A function that creates an image.
26007
- * @param id - The identifier of the image to load.
26008
- */
26009
- type CreateImageCallback = (id: string) => HTMLImageElement | HTMLCanvasElement | Promise<HTMLImageElement | HTMLCanvasElement>;
26010
- }
26011
-
26012
26201
  /**
26013
26202
  * A renderable collection of billboards. Billboards are viewport-aligned
26014
26203
  * images positioned in the 3D scene.
@@ -26142,7 +26331,7 @@ export class BillboardCollection {
26142
26331
  * @param [options] - A template describing the billboard's properties as shown in Example 1.
26143
26332
  * @returns The billboard that was added to the collection.
26144
26333
  */
26145
- add(options?: any): Billboard;
26334
+ add(options?: Billboard.ConstructorOptions): Billboard;
26146
26335
  /**
26147
26336
  * Removes a billboard from the collection.
26148
26337
  * @example
@@ -28768,6 +28957,7 @@ export namespace Cesium3DTileset {
28768
28957
  * @property [immediatelyLoadDesiredLevelOfDetail = false] - When <code>skipLevelOfDetail</code> is <code>true</code>, only tiles that meet the maximum screen space error will ever be downloaded. Skipping factors are ignored and just the desired tiles are loaded.
28769
28958
  * @property [loadSiblings = false] - When <code>skipLevelOfDetail</code> is <code>true</code>, determines whether siblings of visible tiles are always downloaded during traversal.
28770
28959
  * @property [clippingPlanes] - The {@link ClippingPlaneCollection} used to selectively disable rendering the tileset.
28960
+ * @property [clippingPolygons] - The {@link ClippingPolygonCollection} used to selectively disable rendering the tileset.
28771
28961
  * @property [classificationType] - Determines whether terrain, 3D Tiles or both will be classified by this tileset. See {@link Cesium3DTileset#classificationType} for details about restrictions and limitations.
28772
28962
  * @property [ellipsoid = Ellipsoid.WGS84] - The ellipsoid determining the size and shape of the globe.
28773
28963
  * @property [pointCloudShading] - Options for constructing a {@link PointCloudShading} object to control point attenuation based on geometric error and lighting.
@@ -28784,7 +28974,6 @@ export namespace Cesium3DTileset {
28784
28974
  * @property [showCreditsOnScreen = false] - Whether to display the credits of this tileset on screen.
28785
28975
  * @property [splitDirection = SplitDirection.NONE] - The {@link SplitDirection} split to apply to this tileset.
28786
28976
  * @property [enableCollision = false] - When <code>true</code>, enables collisions for camera or CPU picking. While this is <code>true</code> the camera will be prevented from going below the tileset surface if {@link ScreenSpaceCameraController#enableCollisionDetection} is true.
28787
- * @property [disableCollision = true] - Whether to turn off collisions for camera collisions or picking. While this is <code>true</code> the camera will be allowed to go in or below the tileset surface if {@link ScreenSpaceCameraController#enableCollisionDetection} is true. Deprecated.
28788
28977
  * @property [projectTo2D = false] - Whether to accurately project the tileset to 2D. If this is true, the tileset will be projected accurately to 2D, but it will use more memory to do so. If this is false, the tileset will use less memory and will still render in 2D / CV mode, but its projected positions may be inaccurate. This cannot be set after the tileset has been created.
28789
28978
  * @property [enablePick = false] - Whether to allow collision and CPU picking with <code>pick</code> when using WebGL 1. If using WebGL 2 or above, this option will be ignored. If using WebGL 1 and this is true, the <code>pick</code> operation will work correctly, but it will use more memory to do so. If running with WebGL 1 and this is false, the model will use less memory, but <code>pick</code> will always return <code>undefined</code>. This cannot be set after the tileset has loaded.
28790
28979
  * @property [debugHeatmapTilePropertyName] - The tile variable to colorize as a heatmap. All rendered tiles will be colorized relative to each other's specified variable value.
@@ -28832,6 +29021,7 @@ export namespace Cesium3DTileset {
28832
29021
  immediatelyLoadDesiredLevelOfDetail?: boolean;
28833
29022
  loadSiblings?: boolean;
28834
29023
  clippingPlanes?: ClippingPlaneCollection;
29024
+ clippingPolygons?: ClippingPolygonCollection;
28835
29025
  classificationType?: ClassificationType;
28836
29026
  ellipsoid?: Ellipsoid;
28837
29027
  pointCloudShading?: any;
@@ -28848,7 +29038,6 @@ export namespace Cesium3DTileset {
28848
29038
  showCreditsOnScreen?: boolean;
28849
29039
  splitDirection?: SplitDirection;
28850
29040
  enableCollision?: boolean;
28851
- disableCollision?: boolean;
28852
29041
  projectTo2D?: boolean;
28853
29042
  enablePick?: boolean;
28854
29043
  debugHeatmapTilePropertyName?: string;
@@ -29336,10 +29525,6 @@ export class Cesium3DTileset {
29336
29525
  * Function for examining vector lines as they are being streamed.
29337
29526
  */
29338
29527
  examineVectorLinesFunction: (...params: any[]) => any;
29339
- /**
29340
- * Whether to turn off collisions for camera collisions or picking. While this is <code>true</code> the camera will be allowed to go in or below the tileset surface if {@link ScreenSpaceCameraController#enableCollisionDetection} is true.
29341
- */
29342
- disableCollision: boolean;
29343
29528
  /**
29344
29529
  * Gets the tileset's asset object property, which contains metadata about the tileset.
29345
29530
  * <p>
@@ -29356,6 +29541,10 @@ export class Cesium3DTileset {
29356
29541
  * The {@link ClippingPlaneCollection} used to selectively disable rendering the tileset.
29357
29542
  */
29358
29543
  clippingPlanes: ClippingPlaneCollection;
29544
+ /**
29545
+ * The {@link ClippingPolygonCollection} used to selectively disable rendering the tileset.
29546
+ */
29547
+ clippingPolygons: ClippingPolygonCollection;
29359
29548
  /**
29360
29549
  * Gets the tileset's properties dictionary object, which contains metadata about per-feature properties.
29361
29550
  * <p>
@@ -30111,6 +30300,200 @@ export class ClippingPlaneCollection {
30111
30300
  destroy(): void;
30112
30301
  }
30113
30302
 
30303
+ /**
30304
+ * A geodesic polygon to be used with {@link ClippingPlaneCollection} for selectively hiding regions in a model, a 3D tileset, or the globe.
30305
+ * @example
30306
+ * const positions = Cesium.Cartesian3.fromRadiansArray([
30307
+ * -1.3194369277314022,
30308
+ * 0.6988062530900625,
30309
+ * -1.31941,
30310
+ * 0.69879,
30311
+ * -1.3193955980204217,
30312
+ * 0.6988091578771254,
30313
+ * -1.3193931220959367,
30314
+ * 0.698743632490865,
30315
+ * -1.3194358224045408,
30316
+ * 0.6987471965556998,
30317
+ * ]);
30318
+ *
30319
+ * const polygon = new Cesium.ClippingPolygon({
30320
+ * positions: positions
30321
+ * });
30322
+ * @param options - Object with the following properties:
30323
+ * @param options.positions - A list of three or more Cartesian coordinates defining the outer ring of the clipping polygon.
30324
+ */
30325
+ export class ClippingPolygon {
30326
+ constructor(options: {
30327
+ positions: Cartesian3[];
30328
+ ellipsoid?: Ellipsoid;
30329
+ });
30330
+ /**
30331
+ * Returns the total number of positions in the polygon, include any holes.
30332
+ */
30333
+ readonly length: number;
30334
+ /**
30335
+ * Returns the outer ring of positions.
30336
+ */
30337
+ readonly positions: Cartesian3[];
30338
+ /**
30339
+ * Returns the ellipsoid used to project the polygon onto surfaces when clipping.
30340
+ */
30341
+ readonly ellipsoid: Ellipsoid;
30342
+ /**
30343
+ * Clones the ClippingPolygon without setting its ownership.
30344
+ * @param polygon - The ClippingPolygon to be cloned
30345
+ * @param [result] - The object on which to store the cloned parameters.
30346
+ * @returns a clone of the input ClippingPolygon
30347
+ */
30348
+ static clone(polygon: ClippingPolygon, result?: ClippingPolygon): ClippingPolygon;
30349
+ /**
30350
+ * Compares the provided ClippingPolygons and returns
30351
+ * <code>true</code> if they are equal, <code>false</code> otherwise.
30352
+ * @param left - The first polygon.
30353
+ * @param right - The second polygon.
30354
+ * @returns <code>true</code> if left and right are equal, <code>false</code> otherwise.
30355
+ */
30356
+ static equals(left: Plane, right: Plane): boolean;
30357
+ /**
30358
+ * Computes a cartographic rectangle which encloses the polygon defined by the list of positions, including cases over the international date line and the poles.
30359
+ * @param [result] - An object in which to store the result.
30360
+ * @returns The result rectangle
30361
+ */
30362
+ computeRectangle(result?: Rectangle): Rectangle;
30363
+ }
30364
+
30365
+ /**
30366
+ * Specifies a set of clipping polygons. Clipping polygons selectively disable rendering in a region
30367
+ * inside or outside the specified list of {@link ClippingPolygon} objects for a single glTF model, 3D Tileset, or the globe.
30368
+ *
30369
+ * Clipping Polygons are only supported in WebGL 2 contexts.
30370
+ * @example
30371
+ * const positions = Cesium.Cartesian3.fromRadiansArray([
30372
+ * -1.3194369277314022,
30373
+ * 0.6988062530900625,
30374
+ * -1.31941,
30375
+ * 0.69879,
30376
+ * -1.3193955980204217,
30377
+ * 0.6988091578771254,
30378
+ * -1.3193931220959367,
30379
+ * 0.698743632490865,
30380
+ * -1.3194358224045408,
30381
+ * 0.6987471965556998,
30382
+ * ]);
30383
+ *
30384
+ * const polygon = new Cesium.ClippingPolygon({
30385
+ * positions: positions
30386
+ * });
30387
+ *
30388
+ * const polygons = new Cesium.ClippingPolygonCollection({
30389
+ * polygons: [ polygon ]
30390
+ * });
30391
+ * @param [options] - Object with the following properties:
30392
+ * @param [options.polygons = []] - An array of {@link ClippingPolygon} objects used to selectively disable rendering on the inside of each polygon.
30393
+ * @param [options.enabled = true] - Determines whether the clipping polygons are active.
30394
+ * @param [options.inverse = false] - If true, a region will be clipped if it is outside of every polygon in the collection. Otherwise, a region will only be clipped if it is on the inside of any polygon.
30395
+ */
30396
+ export class ClippingPolygonCollection {
30397
+ constructor(options?: {
30398
+ polygons?: ClippingPolygon[];
30399
+ enabled?: boolean;
30400
+ inverse?: boolean;
30401
+ });
30402
+ /**
30403
+ * An event triggered when a new clipping polygon is added to the collection. Event handlers
30404
+ * are passed the new polygon and the index at which it was added.
30405
+ */
30406
+ polygonAdded: Event;
30407
+ /**
30408
+ * An event triggered when a new clipping polygon is removed from the collection. Event handlers
30409
+ * are passed the new polygon and the index from which it was removed.
30410
+ */
30411
+ polygonRemoved: Event;
30412
+ /**
30413
+ * Returns the number of polygons in this collection. This is commonly used with
30414
+ * {@link ClippingPolygonCollection#get} to iterate over all the polygons
30415
+ * in the collection.
30416
+ */
30417
+ readonly length: number;
30418
+ /**
30419
+ * Adds the specified {@link ClippingPolygon} to the collection to be used to selectively disable rendering
30420
+ * on the inside of each polygon. Use {@link ClippingPolygonCollection#unionClippingRegions} to modify
30421
+ * how modify the clipping behavior of multiple polygons.
30422
+ * @example
30423
+ * const polygons = new Cesium.ClippingPolygonCollection();
30424
+ *
30425
+ * const positions = Cesium.Cartesian3.fromRadiansArray([
30426
+ * -1.3194369277314022,
30427
+ * 0.6988062530900625,
30428
+ * -1.31941,
30429
+ * 0.69879,
30430
+ * -1.3193955980204217,
30431
+ * 0.6988091578771254,
30432
+ * -1.3193931220959367,
30433
+ * 0.698743632490865,
30434
+ * -1.3194358224045408,
30435
+ * 0.6987471965556998,
30436
+ * ]);
30437
+ *
30438
+ * polygons.add(new Cesium.ClippingPolygon({
30439
+ * positions: positions
30440
+ * }));
30441
+ * @param polygon - The ClippingPolygon to add to the collection.
30442
+ * @returns The added ClippingPolygon.
30443
+ */
30444
+ add(polygon: ClippingPolygon): ClippingPolygon;
30445
+ /**
30446
+ * Returns the clipping polygon in the collection at the specified index. Indices are zero-based
30447
+ * and increase as polygons are added. Removing a polygon polygon all polygons after
30448
+ * it to the left, changing their indices. This function is commonly used with
30449
+ * {@link ClippingPolygonCollection#length} to iterate over all the polygons
30450
+ * in the collection.
30451
+ * @param index - The zero-based index of the polygon.
30452
+ * @returns The ClippingPolygon at the specified index.
30453
+ */
30454
+ get(index: number): ClippingPolygon;
30455
+ /**
30456
+ * Checks whether this collection contains a ClippingPolygon equal to the given ClippingPolygon.
30457
+ * @param polygon - The ClippingPolygon to check for.
30458
+ * @returns true if this collection contains the ClippingPolygon, false otherwise.
30459
+ */
30460
+ contains(polygon: ClippingPolygon): boolean;
30461
+ /**
30462
+ * Removes the first occurrence of the given ClippingPolygon from the collection.
30463
+ * @returns <code>true</code> if the polygon was removed; <code>false</code> if the polygon was not found in the collection.
30464
+ */
30465
+ remove(polygon: ClippingPolygon): boolean;
30466
+ /**
30467
+ * Removes all polygons from the collection.
30468
+ */
30469
+ removeAll(): void;
30470
+ /**
30471
+ * Function for checking if the context will allow clipping polygons, which require floating point textures.
30472
+ * @param scene - The scene that will contain clipped objects and clipping textures.
30473
+ * @returns <code>true</code> if the context supports clipping polygons.
30474
+ */
30475
+ static isSupported(scene: Scene | any): boolean;
30476
+ /**
30477
+ * Returns true if this object was destroyed; otherwise, false.
30478
+ * <br /><br />
30479
+ * If this object was destroyed, it should not be used; calling any function other than
30480
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
30481
+ * @returns <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
30482
+ */
30483
+ isDestroyed(): boolean;
30484
+ /**
30485
+ * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
30486
+ * release of WebGL resources, instead of relying on the garbage collector to destroy this object.
30487
+ * <br /><br />
30488
+ * Once an object is destroyed, it should not be used; calling any function other than
30489
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
30490
+ * assign the return value (<code>undefined</code>) to the object as done in the example.
30491
+ * @example
30492
+ * clippingPolygons = clippingPolygons && clippingPolygons.destroy();
30493
+ */
30494
+ destroy(): void;
30495
+ }
30496
+
30114
30497
  /**
30115
30498
  * A renderable collection of clouds in the 3D scene.
30116
30499
  * <br /><br />
@@ -31520,6 +31903,10 @@ export class Globe {
31520
31903
  * A property specifying a {@link ClippingPlaneCollection} used to selectively disable rendering on the outside of each plane.
31521
31904
  */
31522
31905
  clippingPlanes: ClippingPlaneCollection;
31906
+ /**
31907
+ * A property specifying a {@link ClippingPolygonCollection} used to selectively disable rendering inside or outside a list of polygons.
31908
+ */
31909
+ clippingPolygons: ClippingPolygonCollection;
31523
31910
  /**
31524
31911
  * A property specifying a {@link Rectangle} used to limit globe rendering to a cartographic area.
31525
31912
  * Defaults to the maximum extent of cartographic coordinates.
@@ -31538,20 +31925,6 @@ export class Globe {
31538
31925
  * Gets an event that's raised when the terrain provider is changed
31539
31926
  */
31540
31927
  readonly terrainProviderChanged: Event;
31541
- /**
31542
- * A scalar used to exaggerate the terrain. Defaults to <code>1.0</code> (no exaggeration).
31543
- * A value of <code>2.0</code> scales the terrain by 2x.
31544
- * A value of <code>0.0</code> makes the terrain completely flat.
31545
- * Note that terrain exaggeration will not modify any other primitive as they are positioned relative to the ellipsoid.
31546
- */
31547
- terrainExaggeration: number;
31548
- /**
31549
- * The height from which terrain is exaggerated. Defaults to <code>0.0</code> (scaled relative to ellipsoid surface).
31550
- * Terrain that is above this height will scale upwards and terrain that is below this height will scale downwards.
31551
- * Note that terrain exaggeration will not modify any other primitive as they are positioned relative to the ellipsoid.
31552
- * If {@link Globe#terrainExaggeration} is <code>1.0</code> this value will have no effect.
31553
- */
31554
- terrainExaggerationRelativeHeight: number;
31555
31928
  /**
31556
31929
  * Gets an event that's raised when the length of the tile load queue has changed since the last render frame. When the load queue is empty,
31557
31930
  * all terrain and imagery for the current view have been loaded. The event passes the new length of the tile load queue.
@@ -34020,13 +34393,69 @@ export enum IonWorldImageryStyle {
34020
34393
  ROAD = 4
34021
34394
  }
34022
34395
 
34396
+ export namespace Label {
34397
+ /**
34398
+ * Initialization options for the Label constructor
34399
+ * @property position - The cartesian position of the label.
34400
+ * @property [id] - A user-defined object to return when the label is picked with {@link Scene#pick}.
34401
+ * @property [show = true] - Determines if this label will be shown.
34402
+ * @property [text] - A string specifying the text of the label.
34403
+ * @property [font = '30px sans-serif'] - A string specifying the font used to draw this label. Fonts are specified using the same syntax as the CSS 'font' property.
34404
+ * @property [style = LabelStyle.FILL] - A {@link LabelStyle} specifying the style of the label.
34405
+ * @property [scale = 1.0] - A number specifying the uniform scale that is multiplied with the label size.
34406
+ * @property [showBackground = false] - Determines if a background behind this label will be shown.
34407
+ * @property [backgroundColor = new Color(0.165, 0.165, 0.165, 0.8)] - A {@link Color} specifying the background color of the label.
34408
+ * @property [backgroundPadding = new Cartesian2(7, 5)] - A {@link Cartesian2} Specifying the horizontal and vertical background padding in pixels.
34409
+ * @property [pixelOffset = Cartesian2.ZERO] - A {@link Cartesian2} specifying the pixel offset in screen space from the origin of this label.
34410
+ * @property [eyeOffset = Cartesian3.ZERO] - A {@link Cartesian3} specifying the 3D Cartesian offset applied to this label in eye coordinates.
34411
+ * @property [horizontalOrigin = HorizontalOrigin.CENTER] - A {@link HorizontalOrigin} specifying the horizontal origin of this label.
34412
+ * @property [verticalOrigin = VerticalOrigin.CENTER] - A {@link VerticalOrigin} specifying the vertical origin of this label.
34413
+ * @property [heightReference = HeightReference.NONE] - A {@link HeightReference} specifying the height reference of this label.
34414
+ * @property [fillColor = Color.WHITE] - A {@link Color} specifying the fill color of the label.
34415
+ * @property [outlineColor = Color.BLACK] - A {@link Color} specifying the outline color of the label.
34416
+ * @property [outlineWidth = 1.0] - A number specifying the outline width of the label.
34417
+ * @property [translucencyByDistance] - A {@link NearFarScalar} specifying near and far translucency properties of the label based on the label's distance from the camera.
34418
+ * @property [pixelOffsetScaleByDistance] - A {@link NearFarScalar} specifying near and far pixel offset scaling properties of the label based on the label's distance from the camera.
34419
+ * @property [scaleByDistance] - A {@link NearFarScalar} specifying near and far scaling properties of the label based on the label's distance from the camera.
34420
+ * @property [distanceDisplayCondition] - A {@link DistanceDisplayCondition} specifying at what distance from the camera that this label will be displayed.
34421
+ * @property [disableDepthTestDistance] - A number specifying the distance from the camera at which to disable the depth test to, for example, prevent clipping against terrain.
34422
+ */
34423
+ type ConstructorOptions = {
34424
+ position: Cartesian3;
34425
+ id?: string;
34426
+ show?: boolean;
34427
+ text?: string;
34428
+ font?: string;
34429
+ style?: LabelStyle;
34430
+ scale?: number;
34431
+ showBackground?: boolean;
34432
+ backgroundColor?: Color;
34433
+ backgroundPadding?: Cartesian2;
34434
+ pixelOffset?: Cartesian2;
34435
+ eyeOffset?: Cartesian3;
34436
+ horizontalOrigin?: HorizontalOrigin;
34437
+ verticalOrigin?: VerticalOrigin;
34438
+ heightReference?: HeightReference;
34439
+ fillColor?: Color;
34440
+ outlineColor?: Color;
34441
+ outlineWidth?: number;
34442
+ translucencyByDistance?: NearFarScalar;
34443
+ pixelOffsetScaleByDistance?: NearFarScalar;
34444
+ scaleByDistance?: NearFarScalar;
34445
+ distanceDisplayCondition?: DistanceDisplayCondition;
34446
+ disableDepthTestDistance?: number;
34447
+ };
34448
+ }
34449
+
34023
34450
  /**
34024
34451
  * <div class="notice">
34025
34452
  * Create labels by calling {@link LabelCollection#add}. Do not call the constructor directly.
34026
34453
  * </div>
34454
+ * @param options - Object describing initialization options
34455
+ * @param labelCollection - Instance of LabelCollection
34027
34456
  */
34028
34457
  export class Label {
34029
- constructor();
34458
+ constructor(options: Label.ConstructorOptions, labelCollection: LabelCollection);
34030
34459
  /**
34031
34460
  * Determines if this label will be shown. Use this to hide or show a label, instead
34032
34461
  * of removing it and re-adding it to the collection.
@@ -34411,7 +34840,7 @@ export class LabelCollection {
34411
34840
  * @param [options] - A template describing the label's properties as shown in Example 1.
34412
34841
  * @returns The label that was added to the collection.
34413
34842
  */
34414
- add(options?: any): Label;
34843
+ add(options?: Label.ConstructorOptions): Label;
34415
34844
  /**
34416
34845
  * Removes a label from the collection. Once removed, a label is no longer usable.
34417
34846
  * @example
@@ -36194,6 +36623,10 @@ export class Model {
36194
36623
  * The {@link ClippingPlaneCollection} used to selectively disable rendering the model.
36195
36624
  */
36196
36625
  clippingPlanes: ClippingPlaneCollection;
36626
+ /**
36627
+ * The {@link ClippingPolygonCollection} used to selectively disable rendering the model.
36628
+ */
36629
+ clippingPolygons: ClippingPolygonCollection;
36197
36630
  /**
36198
36631
  * The light color when shading the model. When <code>undefined</code> the scene's light color is used instead.
36199
36632
  * <p>
@@ -36431,6 +36864,7 @@ export class Model {
36431
36864
  * @param [options.showOutline = true] - Whether to display the outline for models using the {@link https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/CESIUM_primitive_outline|CESIUM_primitive_outline} extension. When true, outlines are displayed. When false, outlines are not displayed.
36432
36865
  * @param [options.outlineColor = Color.BLACK] - The color to use when rendering outlines.
36433
36866
  * @param [options.clippingPlanes] - The {@link ClippingPlaneCollection} used to selectively disable rendering the model.
36867
+ * @param [options.clippingPolygons] - The {@link ClippingPolygonCollection} used to selectively disable rendering the model.
36434
36868
  * @param [options.lightColor] - The light color when shading the model. When <code>undefined</code> the scene's light color is used instead.
36435
36869
  * @param [options.imageBasedLighting] - The properties for managing image-based lighting on this model.
36436
36870
  * @param [options.backFaceCulling = true] - Whether to cull back-facing geometry. When true, back face culling is determined by the material's doubleSided property; when false, back face culling is disabled. Back faces are not culled if the model's color is translucent.
@@ -36482,6 +36916,7 @@ export class Model {
36482
36916
  showOutline?: boolean;
36483
36917
  outlineColor?: Color;
36484
36918
  clippingPlanes?: ClippingPlaneCollection;
36919
+ clippingPolygons?: ClippingPolygonCollection;
36485
36920
  lightColor?: Cartesian3;
36486
36921
  imageBasedLighting?: ImageBasedLighting;
36487
36922
  backFaceCulling?: boolean;
@@ -41068,6 +41503,14 @@ export class Terrain {
41068
41503
  * are passed the created instance of {@link TerrainProvider}.
41069
41504
  */
41070
41505
  readonly readyEvent: Event<Terrain.ReadyEventCallback>;
41506
+ /**
41507
+ * Returns true when the terrain provider has been successfully created. Otherwise, returns false.
41508
+ */
41509
+ readonly ready: boolean;
41510
+ /**
41511
+ * The terrain provider providing surface geometry to a globe. Do not use until {@link Terrain.readyEvent} is raised.
41512
+ */
41513
+ readonly provider: TerrainProvider;
41071
41514
  /**
41072
41515
  * Creates a {@link Terrain} instance for {@link https://cesium.com/content/#cesium-world-terrain|Cesium World Terrain}.
41073
41516
  * @example