@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
@@ -2618,6 +2618,29 @@ function performCesium3DTileEdgesPass(scene, passState, frustumCommands) {
2618
2618
  passState.framebuffer = originalFramebuffer;
2619
2619
  }
2620
2620
 
2621
+ /**
2622
+ * Execute edge commands that should render directly to the main framebuffer
2623
+ * (EDGES_ONLY mode). These edges bypass the MRT edge framebuffer and render
2624
+ * on top of surface geometry.
2625
+ *
2626
+ * @param {Scene} scene
2627
+ * @param {PassState} passState
2628
+ * @param {FrustumCommands} frustumCommands
2629
+ *
2630
+ * @private
2631
+ */
2632
+ function performCesium3DTileEdgesDirectPass(scene, passState, frustumCommands) {
2633
+ scene.context.uniformState.updatePass(Pass.CESIUM_3D_TILE_EDGES_DIRECT);
2634
+
2635
+ const commands = frustumCommands.commands[Pass.CESIUM_3D_TILE_EDGES_DIRECT];
2636
+ const commandCount =
2637
+ frustumCommands.indices[Pass.CESIUM_3D_TILE_EDGES_DIRECT];
2638
+
2639
+ for (let j = 0; j < commandCount; ++j) {
2640
+ executeCommand(commands[j], scene, passState);
2641
+ }
2642
+ }
2643
+
2621
2644
  /**
2622
2645
  * Execute the draw commands for all the render passes.
2623
2646
  *
@@ -2911,6 +2934,9 @@ function executeCommands(scene, passState) {
2911
2934
 
2912
2935
  performPass(frustumCommands, Pass.OPAQUE);
2913
2936
 
2937
+ // Draw direct edges (EDGES_ONLY mode) after opaque surfaces
2938
+ performCesium3DTileEdgesDirectPass(scene, passState, frustumCommands);
2939
+
2914
2940
  performGaussianSplatPass(scene, passState, frustumCommands);
2915
2941
 
2916
2942
  if (index !== 0 && scene.mode !== SceneMode.SCENE2D) {
@@ -8,175 +8,142 @@ import destroyObject from "../Core/destroyObject.js";
8
8
  * Implements the {@link Cesium3DTileContent} interface.
9
9
  * </p>
10
10
  *
11
- * @alias Tileset3DTileContent
12
- * @constructor
13
- *
11
+ * @implements Cesium3DTileContent
14
12
  * @private
15
13
  */
16
- function Tileset3DTileContent(tileset, tile, resource) {
17
- this._tileset = tileset;
18
- this._tile = tile;
19
- this._resource = resource;
14
+ class Tileset3DTileContent {
15
+ constructor(tileset, tile, resource) {
16
+ this._tileset = tileset;
17
+ this._tile = tile;
18
+ this._resource = resource;
20
19
 
21
- this.featurePropertiesDirty = false;
20
+ this.featurePropertiesDirty = false;
22
21
 
23
- this._metadata = undefined;
24
- this._group = undefined;
22
+ this._metadata = undefined;
23
+ this._group = undefined;
25
24
 
26
- this._ready = false;
27
- }
25
+ this._ready = false;
26
+ }
27
+
28
+ get featuresLength() {
29
+ return 0;
30
+ }
31
+
32
+ get pointsLength() {
33
+ return 0;
34
+ }
35
+
36
+ get trianglesLength() {
37
+ return 0;
38
+ }
39
+
40
+ get geometryByteLength() {
41
+ return 0;
42
+ }
43
+
44
+ get texturesByteLength() {
45
+ return 0;
46
+ }
28
47
 
29
- Object.defineProperties(Tileset3DTileContent.prototype, {
30
- featuresLength: {
31
- get: function () {
32
- return 0;
33
- },
34
- },
35
-
36
- pointsLength: {
37
- get: function () {
38
- return 0;
39
- },
40
- },
41
-
42
- trianglesLength: {
43
- get: function () {
44
- return 0;
45
- },
46
- },
47
-
48
- geometryByteLength: {
49
- get: function () {
50
- return 0;
51
- },
52
- },
53
-
54
- texturesByteLength: {
55
- get: function () {
56
- return 0;
57
- },
58
- },
59
-
60
- batchTableByteLength: {
61
- get: function () {
62
- return 0;
63
- },
64
- },
65
-
66
- innerContents: {
67
- get: function () {
68
- return undefined;
69
- },
70
- },
48
+ get batchTableByteLength() {
49
+ return 0;
50
+ }
51
+
52
+ get innerContents() {
53
+ return undefined;
54
+ }
71
55
 
72
56
  /**
73
57
  * Returns true when the tile's content is ready to render; otherwise false
74
58
  *
75
- * @memberof Tileset3DTileContent.prototype
76
59
  *
77
60
  * @type {boolean}
78
61
  * @readonly
79
62
  * @private
80
63
  */
81
- ready: {
82
- get: function () {
83
- return this._ready;
84
- },
85
- },
86
-
87
- tileset: {
88
- get: function () {
89
- return this._tileset;
90
- },
91
- },
92
-
93
- tile: {
94
- get: function () {
95
- return this._tile;
96
- },
97
- },
98
-
99
- url: {
100
- get: function () {
101
- return this._resource.getUrlComponent(true);
102
- },
103
- },
104
-
105
- batchTable: {
106
- get: function () {
107
- return undefined;
108
- },
109
- },
110
-
111
- metadata: {
112
- get: function () {
113
- return this._metadata;
114
- },
115
- set: function (value) {
116
- this._metadata = value;
117
- },
118
- },
119
-
120
- group: {
121
- get: function () {
122
- return this._group;
123
- },
124
- set: function (value) {
125
- this._group = value;
126
- },
127
- },
128
- });
64
+ get ready() {
65
+ return this._ready;
66
+ }
129
67
 
130
- /**
131
- * Creates an instance of Tileset3DTileContent from a parsed JSON object
132
- * @param {Cesium3DTileset} tileset
133
- * @param {Cesium3DTile} tile
134
- * @param {Resource} resource
135
- * @param {object} json
136
- * @returns {Tileset3DTileContent}
137
- */
138
- Tileset3DTileContent.fromJson = function (tileset, tile, resource, json) {
139
- const content = new Tileset3DTileContent(tileset, tile, resource);
140
- content._tileset.loadTileset(content._resource, json, content._tile);
141
- content._ready = true;
68
+ get tileset() {
69
+ return this._tileset;
70
+ }
142
71
 
143
- return content;
144
- };
72
+ get tile() {
73
+ return this._tile;
74
+ }
145
75
 
146
- /**
147
- * Part of the {@link Cesium3DTileContent} interface. <code>Tileset3DTileContent</code>
148
- * always returns <code>false</code> since a tile of this type does not have any features.
149
- */
150
- Tileset3DTileContent.prototype.hasProperty = function (batchId, name) {
151
- return false;
152
- };
76
+ get url() {
77
+ return this._resource.getUrlComponent(true);
78
+ }
153
79
 
154
- /**
155
- * Part of the {@link Cesium3DTileContent} interface. <code>Tileset3DTileContent</code>
156
- * always returns <code>undefined</code> since a tile of this type does not have any features.
157
- */
158
- Tileset3DTileContent.prototype.getFeature = function (batchId) {
159
- return undefined;
160
- };
80
+ get batchTable() {
81
+ return undefined;
82
+ }
161
83
 
162
- Tileset3DTileContent.prototype.applyDebugSettings = function (
163
- enabled,
164
- color,
165
- ) {};
84
+ get metadata() {
85
+ return this._metadata;
86
+ }
166
87
 
167
- Tileset3DTileContent.prototype.applyStyle = function (style) {};
88
+ set metadata(value) {
89
+ this._metadata = value;
90
+ }
168
91
 
169
- Tileset3DTileContent.prototype.update = function (tileset, frameState) {};
92
+ get group() {
93
+ return this._group;
94
+ }
170
95
 
171
- Tileset3DTileContent.prototype.pick = function (ray, frameState, result) {
172
- return undefined;
173
- };
96
+ set group(value) {
97
+ this._group = value;
98
+ }
174
99
 
175
- Tileset3DTileContent.prototype.isDestroyed = function () {
176
- return false;
177
- };
100
+ /**
101
+ * Creates an instance of Tileset3DTileContent from a parsed JSON object
102
+ * @param {Cesium3DTileset} tileset
103
+ * @param {Cesium3DTile} tile
104
+ * @param {Resource} resource
105
+ * @param {object} json
106
+ * @returns {Tileset3DTileContent}
107
+ */
108
+ static fromJson(tileset, tile, resource, json) {
109
+ const content = new Tileset3DTileContent(tileset, tile, resource);
110
+ content._tileset.loadTileset(content._resource, json, content._tile);
111
+ content._ready = true;
112
+
113
+ return content;
114
+ }
115
+
116
+ /**
117
+ * Part of the {@link Cesium3DTileContent} interface. <code>Tileset3DTileContent</code>
118
+ * always returns <code>false</code> since a tile of this type does not have any features.
119
+ */
120
+ hasProperty(batchId, name) {
121
+ return false;
122
+ }
123
+
124
+ /**
125
+ * Part of the {@link Cesium3DTileContent} interface. <code>Tileset3DTileContent</code>
126
+ * always returns <code>undefined</code> since a tile of this type does not have any features.
127
+ */
128
+ getFeature(batchId) {
129
+ return undefined;
130
+ }
131
+
132
+ applyDebugSettings(enabled, color) {}
133
+ applyStyle(style) {}
134
+ update(tileset, frameState) {}
135
+
136
+ pick(ray, frameState, result) {
137
+ return undefined;
138
+ }
139
+
140
+ isDestroyed() {
141
+ return false;
142
+ }
143
+
144
+ destroy() {
145
+ return destroyObject(this);
146
+ }
147
+ }
178
148
 
179
- Tileset3DTileContent.prototype.destroy = function () {
180
- return destroyObject(this);
181
- };
182
149
  export default Tileset3DTileContent;