You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.4 KiB
JavaScript

import defined from "../../Core/defined.js";
import DeveloperError from "../../Core/DeveloperError.js";
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
* var 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');
var cesiumInspectorContainer = document.createElement("div");
cesiumInspectorContainer.className = "cesium-viewer-cesiumInspectorContainer";
viewer.container.appendChild(cesiumInspectorContainer);
var cesiumInspector = new CesiumInspector(
cesiumInspectorContainer,
viewer.scene
);
Object.defineProperties(viewer, {
cesiumInspector: {
get: function () {
return cesiumInspector;
},
},
});
}
export default viewerCesiumInspectorMixin;