@cesium/engine 25.0.0 → 26.0.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 (187) hide show
  1. package/Build/Workers/{chunk-GPIGURCG.js → chunk-3VFEWOBI.js} +7 -7
  2. package/Build/Workers/{chunk-BTX2NL3P.js → chunk-424RNO3D.js} +18 -18
  3. package/Build/Workers/{chunk-HSVQATK2.js → chunk-4MGMYHOO.js} +6 -6
  4. package/Build/Workers/{chunk-FIBS5S7R.js → chunk-4S7IE3LB.js} +2 -2
  5. package/Build/Workers/{chunk-A7ZBMVFS.js → chunk-52JDLOEM.js} +14 -14
  6. package/Build/Workers/{chunk-ZCCIIBZT.js → chunk-54I6Y66F.js} +6 -6
  7. package/Build/Workers/{chunk-J647NNZW.js → chunk-6YEE6JDR.js} +6 -6
  8. package/Build/Workers/{chunk-HVMG6AG4.js → chunk-7J2HKPRH.js} +9 -9
  9. package/Build/Workers/{chunk-K6NFIRFB.js → chunk-7WM2PX4V.js} +5 -5
  10. package/Build/Workers/{chunk-3LSD7OOA.js → chunk-ACXQXN46.js} +16 -16
  11. package/Build/Workers/{chunk-CZ23Y3RM.js → chunk-AYKR4VBR.js} +2 -2
  12. package/Build/Workers/{chunk-4MTRQFJP.js → chunk-C6J67V5A.js} +1 -1
  13. package/Build/Workers/{chunk-WTQGE7Q6.js → chunk-C6KNZ7T4.js} +17 -17
  14. package/Build/Workers/{chunk-AWFZHD2B.js → chunk-CFQP6LYM.js} +4 -4
  15. package/Build/Workers/{chunk-ST2UWDUU.js → chunk-CXOYE2WM.js} +5 -5
  16. package/Build/Workers/{chunk-H2A4USJR.js → chunk-CZEYZU4N.js} +10 -10
  17. package/Build/Workers/{chunk-DFEI5MAV.js → chunk-DBOEKL43.js} +7 -7
  18. package/Build/Workers/{chunk-A7A433MD.js → chunk-DDWSZVMY.js} +5 -5
  19. package/Build/Workers/{chunk-J7KQEKPK.js → chunk-DOBXCNC3.js} +13 -13
  20. package/Build/Workers/{chunk-URUCCIPS.js → chunk-E7VQ76KE.js} +6 -6
  21. package/Build/Workers/{chunk-ZAPOS52G.js → chunk-EBSIOBXY.js} +8 -8
  22. package/Build/Workers/{chunk-3VDDRF2E.js → chunk-EF2QYXGA.js} +14 -14
  23. package/Build/Workers/{chunk-WN6P5UDH.js → chunk-EPYXRCDB.js} +12 -12
  24. package/Build/Workers/{chunk-EZARA5FJ.js → chunk-F6QDY6HU.js} +13 -13
  25. package/Build/Workers/{chunk-GL7DNVUS.js → chunk-FRQZECAO.js} +5 -5
  26. package/Build/Workers/{chunk-VQKLRBIK.js → chunk-G7PXZRVF.js} +7 -7
  27. package/Build/Workers/{chunk-4QQXGTCE.js → chunk-INUEEEQA.js} +8 -8
  28. package/Build/Workers/{chunk-ITD2IN7N.js → chunk-IRBKFCEJ.js} +2 -2
  29. package/Build/Workers/{chunk-6SDGQI27.js → chunk-IYOUHCZB.js} +1 -1
  30. package/Build/Workers/{chunk-DYT5NR6P.js → chunk-J6BWOHUF.js} +3 -3
  31. package/Build/Workers/{chunk-4GF4MVPY.js → chunk-KFSTQKNM.js} +7 -7
  32. package/Build/Workers/{chunk-4XXHJI6Y.js → chunk-KKOSKAZB.js} +17 -17
  33. package/Build/Workers/{chunk-WC57YYBN.js → chunk-KSSWJIZW.js} +2 -2
  34. package/Build/Workers/{chunk-5T6QQAJW.js → chunk-M3B5JKSM.js} +1 -1
  35. package/Build/Workers/{chunk-QO2CGXMP.js → chunk-MPZHGZU6.js} +6 -6
  36. package/Build/Workers/{chunk-WUBKZFF6.js → chunk-MYP774IS.js} +9 -9
  37. package/Build/Workers/{chunk-WNN5D4W3.js → chunk-O3EA5HS7.js} +10 -10
  38. package/Build/Workers/{chunk-77RL3MBD.js → chunk-P3CK7MCY.js} +25 -4
  39. package/Build/Workers/{chunk-QXNQQYPV.js → chunk-Q3PY526V.js} +8 -8
  40. package/Build/Workers/{chunk-CKQP3DSS.js → chunk-QN67VG36.js} +6 -6
  41. package/Build/Workers/{chunk-ACFFCHHZ.js → chunk-QRWGUWI6.js} +11 -11
  42. package/Build/Workers/{chunk-LH5SF3XV.js → chunk-S4MCOY6I.js} +5 -5
  43. package/Build/Workers/{chunk-FVLVVOBQ.js → chunk-SMQZZOW6.js} +10 -10
  44. package/Build/Workers/{chunk-TA777BGS.js → chunk-TKKIREQ6.js} +1 -1
  45. package/Build/Workers/{chunk-AEAVLYPS.js → chunk-U3ZA64U7.js} +2 -2
  46. package/Build/Workers/{chunk-7LSFAEWF.js → chunk-UA25D5MX.js} +10 -10
  47. package/Build/Workers/{chunk-J3OFS2RD.js → chunk-UOOIQ3KX.js} +12 -12
  48. package/Build/Workers/{chunk-ND3NTTOF.js → chunk-V7VQKN6N.js} +6 -6
  49. package/Build/Workers/{chunk-I3A6DXYZ.js → chunk-VQYETPWC.js} +4 -4
  50. package/Build/Workers/{chunk-35H3UBIO.js → chunk-VWV2IJRB.js} +11 -11
  51. package/Build/Workers/{chunk-QSDY4NS7.js → chunk-XZMBNNDX.js} +9 -9
  52. package/Build/Workers/{chunk-TAI4HLII.js → chunk-Y57HREW5.js} +4 -4
  53. package/Build/Workers/{chunk-3TKLDHV3.js → chunk-Y5BF6AFU.js} +2 -2
  54. package/Build/Workers/{chunk-3XY3MVPG.js → chunk-YLY7NKAB.js} +4 -4
  55. package/Build/Workers/{chunk-BVAIWR7O.js → chunk-ZK3CF7ZD.js} +12 -12
  56. package/Build/Workers/{chunk-DH26SNAB.js → chunk-ZP7JMQV4.js} +1 -1
  57. package/Build/Workers/{chunk-3RFFPH4M.js → chunk-ZZ46LWL6.js} +1 -1
  58. package/Build/Workers/combineGeometry.js +24 -24
  59. package/Build/Workers/createBoxGeometry.js +18 -18
  60. package/Build/Workers/createBoxOutlineGeometry.js +16 -16
  61. package/Build/Workers/createCircleGeometry.js +26 -26
  62. package/Build/Workers/createCircleOutlineGeometry.js +19 -19
  63. package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
  64. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
  65. package/Build/Workers/createCorridorGeometry.js +29 -29
  66. package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
  67. package/Build/Workers/createCylinderGeometry.js +20 -20
  68. package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
  69. package/Build/Workers/createEllipseGeometry.js +26 -26
  70. package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
  71. package/Build/Workers/createEllipsoidGeometry.js +19 -19
  72. package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
  73. package/Build/Workers/createFrustumGeometry.js +18 -18
  74. package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
  75. package/Build/Workers/createGeometry.js +24 -24
  76. package/Build/Workers/createGroundPolylineGeometry.js +22 -22
  77. package/Build/Workers/createPlaneGeometry.js +16 -16
  78. package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
  79. package/Build/Workers/createPolygonGeometry.js +32 -32
  80. package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
  81. package/Build/Workers/createPolylineGeometry.js +25 -25
  82. package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
  83. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
  84. package/Build/Workers/createRectangleGeometry.js +27 -27
  85. package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
  86. package/Build/Workers/createSimplePolylineGeometry.js +23 -23
  87. package/Build/Workers/createSphereGeometry.js +19 -19
  88. package/Build/Workers/createSphereOutlineGeometry.js +18 -18
  89. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  90. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  91. package/Build/Workers/createVectorTileGeometries.js +24 -24
  92. package/Build/Workers/createVectorTilePoints.js +13 -13
  93. package/Build/Workers/createVectorTilePolygons.js +22 -22
  94. package/Build/Workers/createVectorTilePolylines.js +14 -14
  95. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
  96. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
  97. package/Build/Workers/createVerticesFromHeightmap.js +22 -22
  98. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
  99. package/Build/Workers/createWallGeometry.js +24 -24
  100. package/Build/Workers/createWallOutlineGeometry.js +23 -23
  101. package/Build/Workers/decodeDraco.js +10 -10
  102. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  103. package/Build/Workers/decodeI3S.js +10 -10
  104. package/Build/Workers/gaussianSplatSorter.js +4 -4
  105. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  106. package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
  107. package/Build/Workers/transcodeKTX2.js +6 -6
  108. package/Build/Workers/transferTypedArrayTest.js +1 -1
  109. package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
  110. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
  111. package/Source/Core/Cartesian2.js +1 -1
  112. package/Source/Core/Cartesian3.js +1 -1
  113. package/Source/Core/Cartesian4.js +1 -1
  114. package/Source/Core/ComponentDatatype.js +35 -0
  115. package/Source/Core/Ion.js +1 -1
  116. package/Source/Core/MapProjection.js +1 -0
  117. package/Source/Core/Matrix2.js +1 -1
  118. package/Source/Core/Matrix3.js +1 -1
  119. package/Source/Core/Matrix4.js +1 -1
  120. package/Source/Core/Resource.js +1 -1
  121. package/Source/Core/ScreenSpaceEventHandler.js +51 -41
  122. package/Source/Core/createColorRamp.js +37 -0
  123. package/Source/Core/globalTypes.js +25 -0
  124. package/Source/Renderer/Pass.js +3 -2
  125. package/Source/Renderer/createUniform.js +346 -239
  126. package/Source/Renderer/createUniformArray.js +494 -381
  127. package/Source/Scene/ArcGisMapService.js +1 -1
  128. package/Source/Scene/BufferPoint.js +1 -0
  129. package/Source/Scene/BufferPointCollection.js +14 -1
  130. package/Source/Scene/BufferPolygon.js +3 -2
  131. package/Source/Scene/BufferPolygonCollection.js +10 -0
  132. package/Source/Scene/BufferPolyline.js +1 -0
  133. package/Source/Scene/BufferPolylineCollection.js +2 -0
  134. package/Source/Scene/BufferPrimitiveCollection.js +79 -28
  135. package/Source/Scene/CameraEventAggregator.js +30 -18
  136. package/Source/Scene/Cesium3DTile.js +54 -1
  137. package/Source/Scene/Cesium3DTileContent.js +195 -254
  138. package/Source/Scene/Cesium3DTileContentFactory.js +10 -2
  139. package/Source/Scene/Cesium3DTileset.js +45 -5
  140. package/Source/Scene/Composite3DTileContent.js +254 -292
  141. package/Source/Scene/EdgeDisplayMode.js +50 -0
  142. package/Source/Scene/Empty3DTileContent.js +100 -132
  143. package/Source/Scene/GaussianSplat3DTileContent.js +436 -478
  144. package/Source/Scene/GeoJsonPrimitive.js +874 -0
  145. package/Source/Scene/Geometry3DTileContent.js +151 -185
  146. package/Source/Scene/GltfLoader.js +109 -0
  147. package/Source/Scene/Implicit3DTileContent.js +179 -214
  148. package/Source/Scene/MVTDataProvider.js +147 -0
  149. package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +79 -311
  150. package/Source/Scene/Model/Model.js +34 -0
  151. package/Source/Scene/Model/Model3DTileContent.js +424 -458
  152. package/Source/Scene/Model/ModelDrawCommand.js +31 -3
  153. package/Source/Scene/Model/ModelUtility.js +4 -0
  154. package/Source/Scene/Model/createVectorTileBuffersFromModelComponents.js +466 -150
  155. package/Source/Scene/ModelComponents.js +39 -1
  156. package/Source/Scene/Multiple3DTileContent.js +291 -334
  157. package/Source/Scene/Scene.js +26 -0
  158. package/Source/Scene/Tileset3DTileContent.js +113 -146
  159. package/Source/Scene/UrlTemplate3DTilesDataProvider.js +499 -0
  160. package/Source/Scene/Vector3DTileContent.js +205 -234
  161. package/Source/Scene/VectorGltf3DTileContent.js +85 -36
  162. package/Source/Scene/VoxelPrimitive.js +159 -175
  163. package/Source/Scene/VoxelProvider.js +64 -91
  164. package/Source/Scene/buildVectorGltfFromMVT.js +1059 -0
  165. package/Source/Scene/buildVoxelCustomShader.js +199 -0
  166. package/Source/Scene/decodeMVT.js +634 -0
  167. package/Source/Scene/renderBufferPointCollection.js +110 -64
  168. package/Source/Scene/renderBufferPolygonCollection.js +102 -55
  169. package/Source/Scene/renderBufferPolylineCollection.js +365 -166
  170. package/Source/Shaders/BufferPointMaterialFS.glsl +1 -0
  171. package/Source/Shaders/BufferPointMaterialFS.js +1 -0
  172. package/Source/Shaders/BufferPointMaterialVS.glsl +19 -9
  173. package/Source/Shaders/BufferPointMaterialVS.js +20 -10
  174. package/Source/Shaders/BufferPolygonMaterialVS.glsl +13 -4
  175. package/Source/Shaders/BufferPolygonMaterialVS.js +14 -5
  176. package/Source/Shaders/BufferPolylineMaterialVS.glsl +16 -2
  177. package/Source/Shaders/BufferPolylineMaterialVS.js +17 -3
  178. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.glsl +9 -0
  179. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.js +11 -0
  180. package/Source/Shaders/Builtin/Constants/passOverlay.glsl +1 -1
  181. package/Source/Shaders/Builtin/Constants/passOverlay.js +1 -1
  182. package/Source/Shaders/Builtin/CzmBuiltins.js +2 -0
  183. package/Source/Shaders/Model/EdgeVisibilityStageVS.glsl +0 -1
  184. package/Source/Shaders/Model/EdgeVisibilityStageVS.js +0 -1
  185. package/index.d.ts +253 -35
  186. package/index.js +71 -62
  187. package/package.json +2 -2
@@ -1,5 +1,19 @@
1
+ // @ts-check
2
+
1
3
  import DeveloperError from "../Core/DeveloperError.js";
2
4
 
5
+ /** @import Cartesian3 from "../Core/Cartesian3.js"; */
6
+ /** @import Cesium3DContentGroup from "./Cesium3DContentGroup.js"; */
7
+ /** @import Cesium3DTile from "./Cesium3DTile.js"; */
8
+ /** @import Cesium3DTileBatchTable from "./Cesium3DTileBatchTable.js"; */
9
+ /** @import Cesium3DTileFeature from "./Cesium3DTileFeature.js"; */
10
+ /** @import Cesium3DTileStyle from "./Cesium3DTileStyle.js"; */
11
+ /** @import Cesium3DTileset from "./Cesium3DTileset.js"; */
12
+ /** @import Color from "../Core/Color.js"; */
13
+ /** @import FrameState from "./FrameState.js"; */
14
+ /** @import ImplicitMetadataView from "./ImplicitMetadataView.js"; */
15
+ /** @import Ray from "../Core/Ray.js"; */
16
+
3
17
  /**
4
18
  * The content of a tile in a {@link Cesium3DTileset}.
5
19
  * <p>
@@ -10,40 +24,35 @@ import DeveloperError from "../Core/DeveloperError.js";
10
24
  * This type describes an interface and is not intended to be instantiated directly.
11
25
  * </p>
12
26
  *
13
- * @alias Cesium3DTileContent
14
- * @constructor
27
+ * @interface
15
28
  */
16
- function Cesium3DTileContent() {
17
- /**
18
- * Gets or sets if any feature's property changed. Used to
19
- * optimized applying a style when a feature's property changed.
20
- * <p>
21
- * This is used to implement the <code>Cesium3DTileContent</code> interface, but is
22
- * not part of the public Cesium API.
23
- * </p>
24
- *
25
- * @type {boolean}
26
- *
27
- * @private
28
- */
29
- this.featurePropertiesDirty = false;
30
- }
29
+ class Cesium3DTileContent {
30
+ constructor() {
31
+ /**
32
+ * Gets or sets if any feature's property changed. Used to
33
+ * optimized applying a style when a feature's property changed.
34
+ * <p>
35
+ * This is used to implement the <code>Cesium3DTileContent</code> interface, but is
36
+ * not part of the public Cesium API.
37
+ * </p>
38
+ *
39
+ * @type {boolean}
40
+ *
41
+ * @protected
42
+ * @ignore
43
+ */
44
+ this.featurePropertiesDirty = false;
45
+ }
31
46
 
32
- Object.defineProperties(Cesium3DTileContent.prototype, {
33
47
  /**
34
48
  * Gets the number of features in the tile.
35
49
  *
36
- * @memberof Cesium3DTileContent.prototype
37
50
  *
38
51
  * @type {number}
39
52
  * @readonly
53
+ * @constant
40
54
  */
41
- featuresLength: {
42
- // eslint-disable-next-line getter-return
43
- get: function () {
44
- DeveloperError.throwInstantiationError();
45
- },
46
- },
55
+ featuresLength;
47
56
 
48
57
  /**
49
58
  * Gets the number of points in the tile.
@@ -54,155 +63,105 @@ Object.defineProperties(Cesium3DTileContent.prototype, {
54
63
  *
55
64
  * @see {@link https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/PointCloud#batched-points}
56
65
  *
57
- * @memberof Cesium3DTileContent.prototype
58
66
  *
59
67
  * @type {number}
60
68
  * @readonly
69
+ * @constant
61
70
  */
62
- pointsLength: {
63
- // eslint-disable-next-line getter-return
64
- get: function () {
65
- DeveloperError.throwInstantiationError();
66
- },
67
- },
71
+ pointsLength;
68
72
 
69
73
  /**
70
74
  * Gets the number of triangles in the tile.
71
75
  *
72
- * @memberof Cesium3DTileContent.prototype
73
76
  *
74
77
  * @type {number}
75
78
  * @readonly
79
+ * @constant
76
80
  */
77
- trianglesLength: {
78
- // eslint-disable-next-line getter-return
79
- get: function () {
80
- DeveloperError.throwInstantiationError();
81
- },
82
- },
81
+ trianglesLength;
83
82
 
84
83
  /**
85
84
  * Gets the tile's geometry memory in bytes.
86
85
  *
87
- * @memberof Cesium3DTileContent.prototype
88
86
  *
89
87
  * @type {number}
90
88
  * @readonly
89
+ * @constant
91
90
  */
92
- geometryByteLength: {
93
- // eslint-disable-next-line getter-return
94
- get: function () {
95
- DeveloperError.throwInstantiationError();
96
- },
97
- },
91
+ geometryByteLength;
98
92
 
99
93
  /**
100
94
  * Gets the tile's texture memory in bytes.
101
95
  *
102
- * @memberof Cesium3DTileContent.prototype
103
96
  *
104
97
  * @type {number}
105
98
  * @readonly
99
+ * @constant
106
100
  */
107
- texturesByteLength: {
108
- // eslint-disable-next-line getter-return
109
- get: function () {
110
- DeveloperError.throwInstantiationError();
111
- },
112
- },
101
+ texturesByteLength;
113
102
 
114
103
  /**
115
104
  * Gets the amount of memory used by the batch table textures and any binary
116
105
  * metadata properties not accounted for in geometryByteLength or
117
106
  * texturesByteLength
118
107
  *
119
- * @memberof Cesium3DTileContent.prototype
120
108
  *
121
109
  * @type {number}
122
110
  * @readonly
111
+ * @constant
123
112
  */
124
- batchTableByteLength: {
125
- // eslint-disable-next-line getter-return
126
- get: function () {
127
- DeveloperError.throwInstantiationError();
128
- },
129
- },
113
+ batchTableByteLength;
130
114
 
131
115
  /**
132
116
  * Gets the array of {@link Cesium3DTileContent} objects for contents that contain other contents, such as composite tiles. The inner contents may in turn have inner contents, such as a composite tile that contains a composite tile.
133
117
  *
134
118
  * @see {@link https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Composite|Composite specification}
135
119
  *
136
- * @memberof Cesium3DTileContent.prototype
137
120
  *
138
- * @type {Array}
121
+ * @type {Array<*>}
139
122
  * @readonly
123
+ * @constant
140
124
  */
141
- innerContents: {
142
- // eslint-disable-next-line getter-return
143
- get: function () {
144
- DeveloperError.throwInstantiationError();
145
- },
146
- },
125
+ innerContents;
147
126
 
148
127
  /**
149
128
  * Returns true when the tile's content is ready to render; otherwise false
150
129
  *
151
- * @memberof Cesium3DTileContent.prototype
152
130
  *
153
131
  * @type {boolean}
154
132
  * @readonly
133
+ * @constant
155
134
  */
156
- ready: {
157
- // eslint-disable-next-line getter-return
158
- get: function () {
159
- DeveloperError.throwInstantiationError();
160
- },
161
- },
135
+ ready;
162
136
 
163
137
  /**
164
138
  * Gets the tileset for this tile.
165
139
  *
166
- * @memberof Cesium3DTileContent.prototype
167
140
  *
168
141
  * @type {Cesium3DTileset}
169
142
  * @readonly
143
+ * @constant
170
144
  */
171
- tileset: {
172
- // eslint-disable-next-line getter-return
173
- get: function () {
174
- DeveloperError.throwInstantiationError();
175
- },
176
- },
145
+ tileset;
177
146
 
178
147
  /**
179
148
  * Gets the tile containing this content.
180
149
  *
181
- * @memberof Cesium3DTileContent.prototype
182
150
  *
183
151
  * @type {Cesium3DTile}
184
152
  * @readonly
153
+ * @constant
185
154
  */
186
- tile: {
187
- // eslint-disable-next-line getter-return
188
- get: function () {
189
- DeveloperError.throwInstantiationError();
190
- },
191
- },
155
+ tile;
192
156
 
193
157
  /**
194
158
  * Gets the url of the tile's content.
195
- * @memberof Cesium3DTileContent.prototype
196
159
  *
197
160
  * @type {string}
198
161
  * @readonly
162
+ * @constant
199
163
  */
200
- url: {
201
- // eslint-disable-next-line getter-return
202
- get: function () {
203
- DeveloperError.throwInstantiationError();
204
- },
205
- },
164
+ url;
206
165
 
207
166
  /**
208
167
  * Gets the batch table for this content.
@@ -213,15 +172,11 @@ Object.defineProperties(Cesium3DTileContent.prototype, {
213
172
  *
214
173
  * @type {Cesium3DTileBatchTable}
215
174
  * @readonly
175
+ * @constant
216
176
  *
217
177
  * @private
218
178
  */
219
- batchTable: {
220
- // eslint-disable-next-line getter-return
221
- get: function () {
222
- DeveloperError.throwInstantiationError();
223
- },
224
- },
179
+ batchTable;
225
180
 
226
181
  /**
227
182
  * Gets the metadata for this content, whether it is available explicitly or via
@@ -236,15 +191,7 @@ Object.defineProperties(Cesium3DTileContent.prototype, {
236
191
  * @private
237
192
  * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
238
193
  */
239
- metadata: {
240
- // eslint-disable-next-line getter-return
241
- get: function () {
242
- DeveloperError.throwInstantiationError();
243
- },
244
- set: function (value) {
245
- DeveloperError.throwInstantiationError();
246
- },
247
- },
194
+ metadata;
248
195
 
249
196
  /**
250
197
  * Gets the group for this content if the content has metadata (3D Tiles 1.1) or
@@ -260,156 +207,150 @@ Object.defineProperties(Cesium3DTileContent.prototype, {
260
207
  * @private
261
208
  * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
262
209
  */
263
- group: {
264
- // eslint-disable-next-line getter-return
265
- get: function () {
266
- DeveloperError.throwInstantiationError();
267
- },
268
- set: function (value) {
269
- DeveloperError.throwInstantiationError();
270
- },
271
- },
272
- });
210
+ group;
273
211
 
274
- /**
275
- * Returns whether the feature has this property.
276
- *
277
- * @param {number} batchId The batchId for the feature.
278
- * @param {string} name The case-sensitive name of the property.
279
- * @returns {boolean} <code>true</code> if the feature has this property; otherwise, <code>false</code>.
280
- */
281
- Cesium3DTileContent.prototype.hasProperty = function (batchId, name) {
282
- DeveloperError.throwInstantiationError();
283
- };
212
+ /**
213
+ * Returns whether the feature has this property.
214
+ *
215
+ * @param {number} batchId The batchId for the feature.
216
+ * @param {string} name The case-sensitive name of the property.
217
+ * @returns {boolean} <code>true</code> if the feature has this property; otherwise, <code>false</code>.
218
+ */
219
+ hasProperty(batchId, name) {
220
+ DeveloperError.throwInstantiationError();
221
+ }
284
222
 
285
- /**
286
- * Returns the {@link Cesium3DTileFeature} object for the feature with the
287
- * given <code>batchId</code>. This object is used to get and modify the
288
- * feature's properties.
289
- * <p>
290
- * Features in a tile are ordered by <code>batchId</code>, an index used to retrieve their metadata from the batch table.
291
- * </p>
292
- *
293
- * @see {@link https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/BatchTable}.
294
- *
295
- * @param {number} batchId The batchId for the feature.
296
- * @returns {Cesium3DTileFeature} The corresponding {@link Cesium3DTileFeature} object.
297
- *
298
- * @exception {DeveloperError} batchId must be between zero and {@link Cesium3DTileContent#featuresLength} - 1.
299
- */
300
- Cesium3DTileContent.prototype.getFeature = function (batchId) {
301
- DeveloperError.throwInstantiationError();
302
- };
223
+ /**
224
+ * Returns the {@link Cesium3DTileFeature} object for the feature with the
225
+ * given <code>batchId</code>. This object is used to get and modify the
226
+ * feature's properties.
227
+ * <p>
228
+ * Features in a tile are ordered by <code>batchId</code>, an index used to retrieve their metadata from the batch table.
229
+ * </p>
230
+ *
231
+ * @see {@link https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/BatchTable}.
232
+ *
233
+ * @param {number} batchId The batchId for the feature.
234
+ * @returns {Cesium3DTileFeature} The corresponding {@link Cesium3DTileFeature} object.
235
+ *
236
+ * @exception {DeveloperError} batchId must be between zero and {@link Cesium3DTileContent#featuresLength} - 1.
237
+ */
238
+ getFeature(batchId) {
239
+ DeveloperError.throwInstantiationError();
240
+ }
303
241
 
304
- /**
305
- * Called when {@link Cesium3DTileset#debugColorizeTiles} changes.
306
- * <p>
307
- * This is used to implement the <code>Cesium3DTileContent</code> interface, but is
308
- * not part of the public Cesium API.
309
- * </p>
310
- *
311
- * @param {boolean} enabled Whether to enable or disable debug settings.
312
- * @returns {Cesium3DTileFeature} The corresponding {@link Cesium3DTileFeature} object.
242
+ /**
243
+ * Called when {@link Cesium3DTileset#debugColorizeTiles} changes.
244
+ * <p>
245
+ * This is used to implement the <code>Cesium3DTileContent</code> interface, but is
246
+ * not part of the public Cesium API.
247
+ * </p>
248
+ *
249
+ * @param {boolean} enabled Whether to enable or disable debug settings.
250
+ * @param {Color} color Debug color.
251
+ * @returns {Cesium3DTileFeature} The corresponding {@link Cesium3DTileFeature} object.
313
252
 
314
- * @private
315
- */
316
- Cesium3DTileContent.prototype.applyDebugSettings = function (enabled, color) {
317
- DeveloperError.throwInstantiationError();
318
- };
253
+ * @private
254
+ */
255
+ applyDebugSettings(enabled, color) {
256
+ DeveloperError.throwInstantiationError();
257
+ }
319
258
 
320
- /**
321
- * Apply a style to the content
322
- * <p>
323
- * This is used to implement the <code>Cesium3DTileContent</code> interface, but is
324
- * not part of the public Cesium API.
325
- * </p>
326
- *
327
- * @param {Cesium3DTileStyle} style The style.
328
- * @returns {void}
329
- *
330
- * @private
331
- */
332
- Cesium3DTileContent.prototype.applyStyle = function (style) {
333
- DeveloperError.throwInstantiationError();
334
- };
259
+ /**
260
+ * Apply a style to the content
261
+ * <p>
262
+ * This is used to implement the <code>Cesium3DTileContent</code> interface, but is
263
+ * not part of the public Cesium API.
264
+ * </p>
265
+ *
266
+ * @param {Cesium3DTileStyle} style The style.
267
+ * @returns {void}
268
+ *
269
+ * @private
270
+ */
271
+ applyStyle(style) {
272
+ DeveloperError.throwInstantiationError();
273
+ }
335
274
 
336
- /**
337
- * Called by the tile during tileset traversal to get the draw commands needed to render this content.
338
- * When the tile's content is in the PROCESSING state, this creates WebGL resources to ultimately
339
- * move to the READY state.
340
- * <p>
341
- * This is used to implement the <code>Cesium3DTileContent</code> interface, but is
342
- * not part of the public Cesium API.
343
- * </p>
344
- *
345
- * @param {Cesium3DTileset} tileset The tileset containing this tile.
346
- * @param {FrameState} frameState The frame state.
347
- * @returns {void}
348
- *
349
- * @private
350
- */
351
- Cesium3DTileContent.prototype.update = function (tileset, frameState) {
352
- DeveloperError.throwInstantiationError();
353
- };
275
+ /**
276
+ * Called by the tile during tileset traversal to get the draw commands needed to render this content.
277
+ * When the tile's content is in the PROCESSING state, this creates WebGL resources to ultimately
278
+ * move to the READY state.
279
+ * <p>
280
+ * This is used to implement the <code>Cesium3DTileContent</code> interface, but is
281
+ * not part of the public Cesium API.
282
+ * </p>
283
+ *
284
+ * @param {Cesium3DTileset} tileset The tileset containing this tile.
285
+ * @param {FrameState} frameState The frame state.
286
+ * @returns {void}
287
+ *
288
+ * @private
289
+ */
290
+ update(tileset, frameState) {
291
+ DeveloperError.throwInstantiationError();
292
+ }
354
293
 
355
- /**
356
- * Find an intersection between a ray and the tile content surface that was rendered. The ray must be given in world coordinates.
357
- *
358
- * @param {Ray} ray The ray to test for intersection.
359
- * @param {FrameState} frameState The frame state.
360
- * @param {Cartesian3|undefined} [result] The intersection or <code>undefined</code> if none was found.
361
- * @returns {Cartesian3|undefined} The intersection or <code>undefined</code> if none was found.
362
- *
363
- * @private
364
- */
365
- Cesium3DTileContent.prototype.pick = function (ray, frameState, result) {
366
- DeveloperError.throwInstantiationError();
367
- };
294
+ /**
295
+ * Find an intersection between a ray and the tile content surface that was rendered. The ray must be given in world coordinates.
296
+ *
297
+ * @param {Ray} ray The ray to test for intersection.
298
+ * @param {FrameState} frameState The frame state.
299
+ * @param {Cartesian3|undefined} [result] The intersection or <code>undefined</code> if none was found.
300
+ * @returns {Cartesian3|undefined} The intersection or <code>undefined</code> if none was found.
301
+ *
302
+ * @private
303
+ */
304
+ pick(ray, frameState, result) {
305
+ DeveloperError.throwInstantiationError();
306
+ }
368
307
 
369
- /**
370
- * Returns true if this object was destroyed; otherwise, false.
371
- * <br /><br />
372
- * If this object was destroyed, it should not be used; calling any function other than
373
- * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
374
- * <p>
375
- * This is used to implement the <code>Cesium3DTileContent</code> interface, but is
376
- * not part of the public Cesium API.
377
- * </p>
378
- *
379
- * @returns {boolean} <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
380
- *
381
- * @see Cesium3DTileContent#destroy
382
- *
383
- * @private
384
- */
385
- Cesium3DTileContent.prototype.isDestroyed = function () {
386
- DeveloperError.throwInstantiationError();
387
- };
308
+ /**
309
+ * Returns true if this object was destroyed; otherwise, false.
310
+ * <br /><br />
311
+ * If this object was destroyed, it should not be used; calling any function other than
312
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
313
+ * <p>
314
+ * This is used to implement the <code>Cesium3DTileContent</code> interface, but is
315
+ * not part of the public Cesium API.
316
+ * </p>
317
+ *
318
+ * @returns {boolean} <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
319
+ *
320
+ * @see Cesium3DTileContent#destroy
321
+ *
322
+ * @private
323
+ */
324
+ isDestroyed() {
325
+ DeveloperError.throwInstantiationError();
326
+ }
327
+
328
+ /**
329
+ * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
330
+ * release of WebGL resources, instead of relying on the garbage collector to destroy this object.
331
+ * <br /><br />
332
+ * Once an object is destroyed, it should not be used; calling any function other than
333
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
334
+ * assign the return value (<code>undefined</code>) to the object as done in the example.
335
+ * <p>
336
+ * This is used to implement the <code>Cesium3DTileContent</code> interface, but is
337
+ * not part of the public Cesium API.
338
+ * </p>
339
+ *
340
+ * @exception {DeveloperError} This object was destroyed, i.e., destroy() was called.
341
+ *
342
+ * @example
343
+ * content = content && content.destroy();
344
+ *
345
+ * @see Cesium3DTileContent#isDestroyed
346
+ *
347
+ * @returns {void}
348
+ *
349
+ * @private
350
+ */
351
+ destroy() {
352
+ DeveloperError.throwInstantiationError();
353
+ }
354
+ }
388
355
 
389
- /**
390
- * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
391
- * release of WebGL resources, instead of relying on the garbage collector to destroy this object.
392
- * <br /><br />
393
- * Once an object is destroyed, it should not be used; calling any function other than
394
- * <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
395
- * assign the return value (<code>undefined</code>) to the object as done in the example.
396
- * <p>
397
- * This is used to implement the <code>Cesium3DTileContent</code> interface, but is
398
- * not part of the public Cesium API.
399
- * </p>
400
- *
401
- * @exception {DeveloperError} This object was destroyed, i.e., destroy() was called.
402
- *
403
- * @example
404
- * content = content && content.destroy();
405
- *
406
- * @see Cesium3DTileContent#isDestroyed
407
- *
408
- * @returns {void}
409
- *
410
- * @private
411
- */
412
- Cesium3DTileContent.prototype.destroy = function () {
413
- DeveloperError.throwInstantiationError();
414
- };
415
356
  export default Cesium3DTileContent;
@@ -101,7 +101,11 @@ const Cesium3DTileContentFactory = {
101
101
  return GaussianSplat3DTileContent.fromGltf(tileset, tile, resource, glb);
102
102
  }
103
103
 
104
- if (tileset.isGltfExtensionUsed("CESIUM_mesh_vector")) {
104
+ // @deprecated CESIUM_mesh_vector to be removed after v1.142 release.
105
+ if (
106
+ tileset.hasExtension("3DTILES_content_gltf_vector") ||
107
+ tileset.isGltfExtensionUsed("CESIUM_mesh_vector")
108
+ ) {
105
109
  return VectorGltf3DTileContent.fromGltf(tileset, tile, resource, glb);
106
110
  }
107
111
 
@@ -114,7 +118,11 @@ const Cesium3DTileContentFactory = {
114
118
  return GaussianSplat3DTileContent.fromGltf(tileset, tile, resource, json);
115
119
  }
116
120
 
117
- if (tileset.isGltfExtensionUsed("CESIUM_mesh_vector")) {
121
+ // @deprecated CESIUM_mesh_vector to be removed after v1.142 release.
122
+ if (
123
+ tileset.hasExtension("3DTILES_content_gltf_vector") ||
124
+ tileset.isGltfExtensionUsed("CESIUM_mesh_vector")
125
+ ) {
118
126
  return VectorGltf3DTileContent.fromGltf(tileset, tile, resource, json);
119
127
  }
120
128