viewerCesium3DTilesInspectorMixin.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import { Check } from "@cesium/engine";
  2. import Cesium3DTilesInspector from "../Cesium3DTilesInspector/Cesium3DTilesInspector.js";
  3. /**
  4. * A mixin which adds the {@link Cesium3DTilesInspector} widget to the {@link Viewer} widget.
  5. * Rather than being called directly, this function is normally passed as
  6. * a parameter to {@link Viewer#extend}, as shown in the example below.
  7. * @function
  8. *
  9. * @param {Viewer} viewer The viewer instance.
  10. *
  11. * @example
  12. * const viewer = new Cesium.Viewer('cesiumContainer');
  13. * viewer.extend(Cesium.viewerCesium3DTilesInspectorMixin);
  14. */
  15. function viewerCesium3DTilesInspectorMixin(viewer) {
  16. //>>includeStart('debug', pragmas.debug);
  17. Check.typeOf.object("viewer", viewer);
  18. //>>includeEnd('debug');
  19. const container = document.createElement("div");
  20. container.className = "cesium-viewer-cesium3DTilesInspectorContainer";
  21. viewer.container.appendChild(container);
  22. const cesium3DTilesInspector = new Cesium3DTilesInspector(
  23. container,
  24. viewer.scene
  25. );
  26. Object.defineProperties(viewer, {
  27. cesium3DTilesInspector: {
  28. get: function () {
  29. return cesium3DTilesInspector;
  30. },
  31. },
  32. });
  33. }
  34. export default viewerCesium3DTilesInspectorMixin;