fixedScenes.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /**
  2. * 固定业务场景配置
  3. * 这些场景是系统内置的,不能被删除,只能加载和卸载
  4. */
  5. import { JuKouSceneConfig } from '../business-scenes/JuKouShuiZhaScene';
  6. export const fixedScenes = [
  7. {
  8. sceneId: JuKouSceneConfig.sceneId,
  9. sceneName: JuKouSceneConfig.sceneName,
  10. sceneType: 'fixed',
  11. description: '莒口水闸固定场景,包含闸门启闭控制功能和第一人称漫游',
  12. // 第三人称相机配置(用于视口跳转)
  13. thirdPersonCameraPos: JSON.stringify(JuKouSceneConfig.camera.position),
  14. cameraDirection: JSON.stringify(JuKouSceneConfig.camera.direction),
  15. cameraUp: JSON.stringify(JuKouSceneConfig.camera.up),
  16. // 第一人称相机配置(用于第一人称漫游初始位置)
  17. firstPersonCameraPos: JSON.stringify({
  18. lon: 119.144008,
  19. lat: 25.867707,
  20. height: 35,
  21. heading: 0,
  22. pitch: -10
  23. }),
  24. // 闸门控制配置
  25. enableGateControl: true,
  26. initialGatePosition: JuKouSceneConfig.initialGatePosition,
  27. // 第一人称漫游配置
  28. enableFirstPerson: true,
  29. // 模型配置(从 JuKouSceneConfig 引用,用于显示在配置界面)
  30. loadedModels: JSON.stringify([JuKouSceneConfig.model]),
  31. // 是否禁用模型变换弹框
  32. disableModelTransform: JuKouSceneConfig.disableModelTransform,
  33. // 模型拆解图标配置
  34. modelDisassemblyIcon: JuKouSceneConfig.modelDisassemblyIcon
  35. }
  36. ]
  37. /**
  38. * 获取固定场景列表
  39. */
  40. export function getFixedScenes() {
  41. return fixedScenes
  42. }
  43. /**
  44. * 根据场景ID获取固定场景
  45. */
  46. export function getFixedSceneById(sceneId) {
  47. return fixedScenes.find(scene => scene.sceneId === sceneId)
  48. }
  49. /**
  50. * 检查是否为固定场景
  51. */
  52. export function isFixedScene(sceneId) {
  53. return fixedScenes.some(scene => scene.sceneId === sceneId)
  54. }