@cesium/engine 22.3.0 → 23.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 (193) hide show
  1. package/Build/Workers/{chunk-EAAH543Q.js → chunk-2GL2EUEE.js} +11 -11
  2. package/Build/Workers/{chunk-EUDHHS7K.js → chunk-2WI4HGJU.js} +6 -6
  3. package/Build/Workers/{chunk-LWZHJWYK.js → chunk-36LBFITA.js} +665 -366
  4. package/Build/Workers/{chunk-7U5YNLF3.js → chunk-3B65YFXC.js} +1 -1
  5. package/Build/Workers/{chunk-D63Z7KKL.js → chunk-4LGFX2P5.js} +11 -11
  6. package/Build/Workers/{chunk-D6OKR3BQ.js → chunk-4UNQX2MP.js} +2 -2
  7. package/Build/Workers/{chunk-BO22JHBX.js → chunk-52K3GJKG.js} +3 -3
  8. package/Build/Workers/{chunk-XLIJV3YZ.js → chunk-56OHFSLH.js} +10 -10
  9. package/Build/Workers/{chunk-AWELU5C6.js → chunk-5A7YSAXT.js} +14 -14
  10. package/Build/Workers/{chunk-T5MJDW43.js → chunk-5JP5FG7U.js} +7 -7
  11. package/Build/Workers/{chunk-NVL7JXAQ.js → chunk-5R7SBUTW.js} +10 -10
  12. package/Build/Workers/chunk-5VKZVPO5.js +1829 -0
  13. package/Build/Workers/{chunk-YHPBT4I5.js → chunk-6FVFM2KB.js} +5 -5
  14. package/Build/Workers/{chunk-WHLGBMBC.js → chunk-6SLGTBB2.js} +5 -5
  15. package/Build/Workers/{chunk-VIQIKMTZ.js → chunk-7KRN6JPQ.js} +14 -14
  16. package/Build/Workers/{chunk-TCOUGKXF.js → chunk-AA33B6PU.js} +4 -4
  17. package/Build/Workers/{chunk-S2KVL7OJ.js → chunk-AP6XWET5.js} +8 -8
  18. package/Build/Workers/{chunk-5PJB7ASO.js → chunk-APDKMX7W.js} +6 -6
  19. package/Build/Workers/{chunk-IXL46IYV.js → chunk-ARCFIOKA.js} +12 -12
  20. package/Build/Workers/{chunk-KIJR26N3.js → chunk-BNBD2YZK.js} +16 -16
  21. package/Build/Workers/{chunk-4R6FGUFP.js → chunk-DT5SJBKA.js} +29 -15
  22. package/Build/Workers/{chunk-FUDC3KOT.js → chunk-ESD4IEOU.js} +5 -5
  23. package/Build/Workers/{chunk-K2PLKJJG.js → chunk-FSDVXW7M.js} +5 -5
  24. package/Build/Workers/{chunk-4BBANFU6.js → chunk-G3YT7M7A.js} +1 -1
  25. package/Build/Workers/{chunk-K4PGSAR5.js → chunk-GN5NEUDT.js} +8 -8
  26. package/Build/Workers/{chunk-OOYICVOK.js → chunk-HYLEKKO5.js} +1 -1
  27. package/Build/Workers/{chunk-FDOLXORR.js → chunk-HYTFXWMY.js} +7 -7
  28. package/Build/Workers/{chunk-7SLNBIZS.js → chunk-IFA7VHHP.js} +560 -277
  29. package/Build/Workers/{chunk-N66PIK46.js → chunk-IYVDOB5V.js} +4 -4
  30. package/Build/Workers/{chunk-ZWWN2CQH.js → chunk-JUGY5AZN.js} +4 -4
  31. package/Build/Workers/{chunk-4O2ARYS7.js → chunk-KPYU6YZG.js} +1 -1
  32. package/Build/Workers/{chunk-TY5JXMVO.js → chunk-L7RDJ4V7.js} +1 -1
  33. package/Build/Workers/{chunk-L4OFWHNI.js → chunk-LDQWNMEC.js} +1 -1
  34. package/Build/Workers/{chunk-N6XBJBI7.js → chunk-MQJG522T.js} +6 -6
  35. package/Build/Workers/{chunk-FS42VX2H.js → chunk-MT5M7RLZ.js} +2 -2
  36. package/Build/Workers/{chunk-7ATKQRBM.js → chunk-N4AWE7TZ.js} +10 -10
  37. package/Build/Workers/{chunk-EOSX23OS.js → chunk-NAYRNPEP.js} +4 -4
  38. package/Build/Workers/{chunk-NO3LMU7T.js → chunk-NNHU33JK.js} +7 -7
  39. package/Build/Workers/{chunk-HWGP4GVC.js → chunk-NQCAZU7S.js} +13 -13
  40. package/Build/Workers/{chunk-6GBGEUWR.js → chunk-NUYLNQKV.js} +2 -2
  41. package/Build/Workers/{chunk-E4YDCSQK.js → chunk-OC6X22PG.js} +9 -9
  42. package/Build/Workers/{chunk-ZGGVEGTA.js → chunk-OHBM4YG4.js} +12 -12
  43. package/Build/Workers/{chunk-6WDMPXQ7.js → chunk-OMXN7YF4.js} +12 -12
  44. package/Build/Workers/{chunk-LK7GEFGB.js → chunk-OQ3EAJNW.js} +2 -2
  45. package/Build/Workers/{chunk-M5DVYXJJ.js → chunk-OQBPOKPZ.js} +6 -6
  46. package/Build/Workers/{chunk-WUWPKBOZ.js → chunk-PQVNT5CJ.js} +6 -6
  47. package/Build/Workers/{chunk-W5NV72VR.js → chunk-QA24Q62E.js} +17 -17
  48. package/Build/Workers/{chunk-PJLRXIMS.js → chunk-QQX7S5QT.js} +17 -17
  49. package/Build/Workers/{chunk-D2PEV362.js → chunk-QTOHIXGF.js} +10 -10
  50. package/Build/Workers/{chunk-MASEF4OV.js → chunk-R7M4XNPP.js} +8 -8
  51. package/Build/Workers/{chunk-2MLJ46ZZ.js → chunk-SGKTBHFQ.js} +13 -13
  52. package/Build/Workers/{chunk-EY5HOJFQ.js → chunk-SQTRWKO2.js} +5 -5
  53. package/Build/Workers/{chunk-AFGP5BXS.js → chunk-T43FXHNC.js} +7 -7
  54. package/Build/Workers/{chunk-IHFAFGR2.js → chunk-UEEGWJJP.js} +2 -2
  55. package/Build/Workers/{chunk-TMGLPEZW.js → chunk-WKXDCVBO.js} +4 -4
  56. package/Build/Workers/{chunk-VRAAQ3FS.js → chunk-Y5AJSEEN.js} +2 -2
  57. package/Build/Workers/{chunk-Y5MRBKQN.js → chunk-ZIW5FCIW.js} +18 -18
  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/AttributeCompression.js +53 -6
  112. package/Source/Core/Cartesian2.js +689 -684
  113. package/Source/Core/Cartesian3.js +1044 -1043
  114. package/Source/Core/Cartesian4.js +816 -813
  115. package/Source/Core/GoogleMaps.js +23 -2
  116. package/Source/Core/Ion.js +1 -1
  117. package/Source/Core/OpenCageGeocoderService.js +2 -3
  118. package/Source/Core/globalTypes.js +16 -0
  119. package/Source/Renderer/ShaderDestination.js +54 -13
  120. package/Source/Scene/ArcGisMapService.js +1 -1
  121. package/Source/Scene/Billboard.js +7 -4
  122. package/Source/Scene/BillboardCollection.js +64 -25
  123. package/Source/Scene/BufferLoader.js +65 -74
  124. package/Source/Scene/CubeMapPanorama.js +351 -0
  125. package/Source/Scene/DerivedCommand.js +8 -31
  126. package/Source/Scene/DracoLoader.js +79 -78
  127. package/Source/Scene/EquirectangularPanorama.js +264 -0
  128. package/Source/Scene/FrameState.js +7 -0
  129. package/Source/Scene/GaussianSplatPrimitive.js +906 -167
  130. package/Source/Scene/GlobeSurfaceShaderSet.js +36 -32
  131. package/Source/Scene/GltfBufferViewLoader.js +109 -118
  132. package/Source/Scene/GltfDracoLoader.js +167 -176
  133. package/Source/Scene/GltfImageLoader.js +91 -101
  134. package/Source/Scene/GltfIndexBufferLoader.js +228 -241
  135. package/Source/Scene/GltfJsonLoader.js +90 -99
  136. package/Source/Scene/GltfLoader.js +313 -324
  137. package/Source/Scene/GltfSpzLoader.js +127 -134
  138. package/Source/Scene/GltfStructuralMetadataLoader.js +181 -186
  139. package/Source/Scene/GltfTextureLoader.js +217 -231
  140. package/Source/Scene/GltfVertexBufferLoader.js +267 -276
  141. package/Source/Scene/GoogleStreetViewCubeMapPanoramaProvider.js +341 -0
  142. package/Source/Scene/Label.js +6 -4
  143. package/Source/Scene/LabelCollection.js +59 -1
  144. package/Source/Scene/MetadataClassProperty.js +212 -7
  145. package/Source/Scene/MetadataComponentType.js +162 -127
  146. package/Source/Scene/MetadataSchemaLoader.js +60 -67
  147. package/Source/Scene/MetadataTable.js +14 -0
  148. package/Source/Scene/MetadataTableProperty.js +14 -0
  149. package/Source/Scene/Model/B3dmLoader.js +216 -224
  150. package/Source/Scene/Model/CustomShader.js +6 -1
  151. package/Source/Scene/Model/CustomShaderPipelineStage.js +122 -7
  152. package/Source/Scene/Model/GeoJsonLoader.js +53 -61
  153. package/Source/Scene/Model/GeometryPipelineStage.js +17 -3
  154. package/Source/Scene/Model/I3dmLoader.js +232 -240
  155. package/Source/Scene/Model/MaterialPipelineStage.js +1 -1
  156. package/Source/Scene/Model/MetadataPipelineStage.js +438 -22
  157. package/Source/Scene/Model/PntsLoader.js +78 -89
  158. package/Source/Scene/Panorama.js +53 -0
  159. package/Source/Scene/PanoramaProvider.js +43 -0
  160. package/Source/Scene/PointPrimitiveCollection.js +14 -22
  161. package/Source/Scene/PropertyTable.js +43 -0
  162. package/Source/Scene/PropertyTexture.js +1 -1
  163. package/Source/Scene/PropertyTextureProperty.js +0 -97
  164. package/Source/Scene/ResourceLoader.js +84 -92
  165. package/Source/Scene/Scene.js +12 -0
  166. package/Source/Scene/SkyBox.js +29 -164
  167. package/Source/Scene/StructuralMetadata.js +18 -3
  168. package/Source/Scene/parseStructuralMetadata.js +244 -0
  169. package/Source/Shaders/BillboardCollectionFS.glsl +66 -40
  170. package/Source/Shaders/BillboardCollectionFS.js +67 -40
  171. package/Source/Shaders/BillboardCollectionVS.glsl +22 -31
  172. package/Source/Shaders/BillboardCollectionVS.js +22 -31
  173. package/Source/Shaders/Builtin/CzmBuiltins.js +4 -0
  174. package/Source/Shaders/Builtin/Functions/decodeRGB8.glsl +22 -0
  175. package/Source/Shaders/Builtin/Functions/decodeRGB8.js +24 -0
  176. package/Source/Shaders/Builtin/Functions/unpackTexture.glsl +35 -0
  177. package/Source/Shaders/Builtin/Functions/unpackTexture.js +37 -0
  178. package/Source/Shaders/CubeMapPanoramaVS.glsl +11 -0
  179. package/Source/Shaders/CubeMapPanoramaVS.js +13 -0
  180. package/Source/Shaders/Model/MetadataStageFS.glsl +2 -1
  181. package/Source/Shaders/Model/MetadataStageFS.js +2 -1
  182. package/Source/Shaders/Model/MetadataStageVS.glsl +2 -1
  183. package/Source/Shaders/Model/MetadataStageVS.js +2 -1
  184. package/Source/Shaders/Model/ModelFS.glsl +2 -2
  185. package/Source/Shaders/Model/ModelFS.js +2 -2
  186. package/Source/Shaders/Model/ModelVS.glsl +2 -2
  187. package/Source/Shaders/Model/ModelVS.js +2 -2
  188. package/Source/Shaders/PointPrimitiveCollectionVS.glsl +8 -39
  189. package/Source/Shaders/PointPrimitiveCollectionVS.js +8 -39
  190. package/index.d.ts +564 -189
  191. package/index.js +127 -119
  192. package/package.json +1 -1
  193. package/Build/Workers/chunk-LYBNPUEI.js +0 -1443
@@ -0,0 +1,264 @@
1
+ import Frozen from "../Core/Frozen.js";
2
+ import defined from "../Core/defined.js";
3
+ import DeveloperError from "../Core/DeveloperError.js";
4
+ import Credit from "../Core/Credit.js";
5
+ import Matrix4 from "../Core/Matrix4.js";
6
+ import Cartesian2 from "../Core/Cartesian2.js";
7
+ import SphereGeometry from "../Core/SphereGeometry.js";
8
+ import GeometryInstance from "../Core/GeometryInstance.js";
9
+ import Material from "./Material.js";
10
+ import MaterialAppearance from "./MaterialAppearance.js";
11
+ import Primitive from "./Primitive.js";
12
+ import VertexFormat from "../Core/VertexFormat.js";
13
+ import destroyObject from "../Core/destroyObject.js";
14
+
15
+ const DEFAULT_RADIUS = 100000.0;
16
+
17
+ /**
18
+ * @typedef {object} EquirectangularPanorama.ConstructorOptions
19
+ *
20
+ * Initialization options for the EquirectangularPanorama constructor
21
+ *
22
+ * @property {Matrix4} options.transform A 4x4 transformation matrix that defines the panorama’s position and orientation
23
+ * (for example, derived from a position and heading-pitch-roll).
24
+ * @property {string|HTMLImageElement|HTMLCanvasElement|ImageBitmap} options.image A URL to an image resource, or a preloaded image object.
25
+ * @property {number} [options.radius=100000.0] The radius of the panorama in meters.
26
+ * @property {number} [options.repeatHorizontal=1.0] The number of times to repeat the texture horizontally.
27
+ * @property {number} [options.repeatVertical=1.0] The number of times to repeat the texture vertically.
28
+ * @property {Credit|string} [options.credit] A credit for the panorama, which is displayed on the canvas.
29
+ */
30
+
31
+ /**
32
+ * A {@link Panorama} that displays imagery in equirectangular format in a scene.
33
+ *
34
+ * @alias EquirectangularPanorama
35
+ * @constructor
36
+ *
37
+ * @param {EquirectangularPanorama.ConstructorOptions} options Object describing initialization options
38
+ *
39
+ * @example
40
+ * const position = Cesium.Cartesian3.fromDegrees(
41
+ * -75.1699, // longitude
42
+ * 39.9522, // latitude
43
+ * 100.0 // height in meters
44
+ * );
45
+ *
46
+ * const heading = Cesium.Math.toRadians(45.0); // rotation about up axis
47
+ * const pitch = Cesium.Math.toRadians(-30.0); // pitch (negative looks down)
48
+ * const roll = Cesium.Math.toRadians(10.0); // roll about forward axis
49
+ *
50
+ * const hpr = new Cesium.HeadingPitchRoll(
51
+ * heading,
52
+ * pitch,
53
+ * roll
54
+ * );
55
+ *
56
+ * const modelMatrix = Cesium.Transforms.headingPitchRollToFixedFrame(
57
+ * position,
58
+ * hpr,
59
+ * Cesium.Ellipsoid.WGS84,
60
+ * Cesium.Transforms.eastNorthUpToFixedFrame
61
+ * );
62
+ *
63
+ * scene.primitives.add(new Cesium.EquirectangularPanorama({
64
+ * transform: modelMatrix,
65
+ * image: 'path/to/image',
66
+ * }));
67
+ *
68
+ * @demo {@link https://sandcastle.cesium.com/index.html?id=panorama|Cesium Sandcastle Panorama}
69
+ */
70
+ function EquirectangularPanorama(options) {
71
+ options = options ?? Frozen.EMPTY_OBJECT;
72
+
73
+ //>>includeStart('debug', pragmas.debug);
74
+ if (!defined(options.image)) {
75
+ throw new DeveloperError("options.image is required.");
76
+ }
77
+
78
+ if (defined(options.transform) && !(options.transform instanceof Matrix4)) {
79
+ throw new DeveloperError("options.transform must be a Matrix4.");
80
+ }
81
+ //>>includeEnd('debug');
82
+
83
+ // Credit specified by the user.
84
+ let credit = options.credit;
85
+ if (typeof credit === "string") {
86
+ credit = new Credit(credit);
87
+ }
88
+ this._credit = credit;
89
+
90
+ this._radius = defined(options.radius) ? options.radius : DEFAULT_RADIUS;
91
+ this._image = options.image;
92
+ this._transform = defined(options.transform)
93
+ ? options.transform
94
+ : Matrix4.IDENTITY;
95
+ this._repeatHorizontal = defined(options.repeatHorizontal)
96
+ ? options.repeatHorizontal
97
+ : 1.0;
98
+ this._repeatVertical = defined(options.repeatVertical)
99
+ ? options.repeatVertical
100
+ : 1.0;
101
+
102
+ const geometry = new SphereGeometry({
103
+ radius: this._radius,
104
+ vertexFormat: VertexFormat.ALL,
105
+ });
106
+
107
+ const geometryInstance = new GeometryInstance({
108
+ geometry: geometry,
109
+ modelMatrix: this._transform,
110
+ });
111
+
112
+ const equirectangularMaterial = new Material({
113
+ fabric: {
114
+ type: "Image",
115
+ uniforms: {
116
+ image: this._image, // 2:1 360 degrees equirectangular image path
117
+ repeat: new Cartesian2(-this._repeatHorizontal, this._repeatVertical), // flip horizontally by default to match expected orientation of images inside a sphere, but allow user to override
118
+ },
119
+ },
120
+ });
121
+
122
+ // Create the primitive with the material
123
+ this._primitive = new Primitive({
124
+ geometryInstances: geometryInstance,
125
+ appearance: new MaterialAppearance({
126
+ material: equirectangularMaterial,
127
+ closed: true,
128
+ faceForward: false,
129
+ translucent: false,
130
+ renderState: {
131
+ cull: {
132
+ enabled: false, // show inside of sphere
133
+ },
134
+ },
135
+ }),
136
+ credit: this._credit,
137
+ });
138
+
139
+ return this;
140
+ }
141
+
142
+ Object.defineProperties(EquirectangularPanorama.prototype, {
143
+ /**
144
+ * Gets the radius of the panorama.
145
+ * @memberof EquirectangularPanorama.prototype
146
+ * @type {number}
147
+ * @readonly
148
+ */
149
+ radius: {
150
+ get: function () {
151
+ return this._radius;
152
+ },
153
+ },
154
+
155
+ /**
156
+ * Gets the source image of the panorama.
157
+ * @memberof EquirectangularPanorama.prototype
158
+ * @type {string|HTMLImageElement|HTMLCanvasElement|ImageBitmap}
159
+ * @readonly
160
+ */
161
+ image: {
162
+ get: function () {
163
+ return this._image;
164
+ },
165
+ },
166
+
167
+ /**
168
+ * Gets the transform of the panorama.
169
+ * @memberof EquirectangularPanorama.prototype
170
+ * @type {Matrix4}
171
+ * @readonly
172
+ */
173
+ transform: {
174
+ get: function () {
175
+ return this._transform;
176
+ },
177
+ },
178
+
179
+ /**
180
+ * Gets the credits of the panorama.
181
+ * @memberof EquirectangularPanorama.prototype
182
+ * @type {Credit}
183
+ * @readonly
184
+ */
185
+ credit: {
186
+ get: function () {
187
+ return defined(this._credit) ? this._credit : undefined;
188
+ },
189
+ },
190
+
191
+ /**
192
+ * Determines if the equirectangular panorama will be shown.
193
+ * @memberof EquirectangularPanorama.prototype
194
+ * @type {boolean}
195
+ */
196
+ show: {
197
+ get: function () {
198
+ return defined(this._primitive) ? this._primitive.show : undefined;
199
+ },
200
+ set: function (value) {
201
+ if (defined(this._primitive)) {
202
+ this._primitive.show = value;
203
+ }
204
+ },
205
+ },
206
+ });
207
+
208
+ // Proxy update/destroy/etc to the primitive
209
+
210
+ /**
211
+ * Called when {@link Viewer} or {@link CesiumWidget} render the scene to
212
+ * get the draw commands needed to render this primitive.
213
+ * <p>
214
+ * Do not call this function directly. This is documented just to
215
+ * list the exceptions that may be propagated when the scene is rendered:
216
+ * </p>
217
+ *
218
+ */
219
+ EquirectangularPanorama.prototype.update = function (frameState) {
220
+ if (defined(this._credit)) {
221
+ frameState.creditDisplay.addCreditToNextFrame(this._credit);
222
+ }
223
+
224
+ return this._primitive.update(frameState);
225
+ };
226
+
227
+ /**
228
+ * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
229
+ * release of WebGL resources, instead of relying on the garbage collector to destroy this object.
230
+ * <br /><br />
231
+ * Once an object is destroyed, it should not be used; calling any function other than
232
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
233
+ * assign the return value (<code>undefined</code>) to the object as done in the example.
234
+ *
235
+ * @exception {DeveloperError} This object was destroyed, i.e., destroy() was called.
236
+ *
237
+ *
238
+ * @example
239
+ * equirectangularPanorama = equirectangularPanorama && equirectangularPanorama.destroy();
240
+ *
241
+ * @see EquirectangularPanorama#isDestroyed
242
+ */
243
+ EquirectangularPanorama.prototype.destroy = function () {
244
+ this._primitive = this._primitive && this._primitive.destroy();
245
+ return destroyObject(this);
246
+ };
247
+
248
+ /**
249
+ * Returns true if this object was destroyed; otherwise, false.
250
+ * <br /><br />
251
+ * If this object was destroyed, it should not be used; calling any function other than
252
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
253
+ *
254
+ * @returns {boolean} <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
255
+ *
256
+ * @see EquirectangularPanorama#destroy
257
+ */
258
+
259
+ EquirectangularPanorama.prototype.isDestroyed = function () {
260
+ return this._primitive.isDestroyed();
261
+ };
262
+
263
+ // Exposed for tests
264
+ export default EquirectangularPanorama;
@@ -28,6 +28,13 @@ function FrameState(context, creditDisplay, jobScheduler) {
28
28
  */
29
29
  this.commandList = [];
30
30
 
31
+ /**
32
+ * An array of panorama rendering commands.
33
+ *
34
+ * @type {DrawCommand[]}
35
+ */
36
+ this.panoramaCommandList = [];
37
+
31
38
  /**
32
39
  * An array of shadow maps.
33
40
  * @type {ShadowMap[]}