/
viewerCesiumInspectorMixin.js
43 lines (40 loc) · 1.38 KB
/
viewerCesiumInspectorMixin.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import { defined, DeveloperError } from "@cesium/engine";
import CesiumInspector from "../CesiumInspector/CesiumInspector.js";
/**
* A mixin which adds the CesiumInspector widget to the Viewer widget.
* Rather than being called directly, this function is normally passed as
* a parameter to {@link Viewer#extend}, as shown in the example below.
* @function
*
* @param {Viewer} viewer The viewer instance.
*
* @exception {DeveloperError} viewer is required.
*
* @demo {@link https://sandcastle.cesium.com/index.html?src=Cesium%20Inspector.html|Cesium Sandcastle Cesium Inspector Demo}
*
* @example
* const viewer = new Cesium.Viewer('cesiumContainer');
* viewer.extend(Cesium.viewerCesiumInspectorMixin);
*/
function viewerCesiumInspectorMixin(viewer) {
//>>includeStart('debug', pragmas.debug);
if (!defined(viewer)) {
throw new DeveloperError("viewer is required.");
}
//>>includeEnd('debug');
const cesiumInspectorContainer = document.createElement("div");
cesiumInspectorContainer.className = "cesium-viewer-cesiumInspectorContainer";
viewer.container.appendChild(cesiumInspectorContainer);
const cesiumInspector = new CesiumInspector(
cesiumInspectorContainer,
viewer.scene
);
Object.defineProperties(viewer, {
cesiumInspector: {
get: function () {
return cesiumInspector;
},
},
});
}
export default viewerCesiumInspectorMixin;