viewerCesiumInspectorMixin.js 1.7 KB

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