EarthSDK
    正在准备搜索索引...

    类 ESObjectsManager

    ESObjectsManager 类用于管理场景对象、视口、环境变量等,提供了一系列静态和实例方法来操作这些对象。 该类继承自 Destroyable 类,支持销毁操作。

    核心功能包括:

    • 获取和设置环境变量
    • 获取和创建场景对象
    • 获取和创建视口
    • 管理场景树和属性 UI 树
    • 支持视口同步和切换
    • 支持路径动画管理

    使用示例:

    构造函数参数:

    • args: 构造函数参数,具体参数根据实际情况传递。

    特殊使用限制或潜在的副作用:

    • 在使用视口同步功能时,确保活动视口已正确设置。
    • 销毁场景对象或视口时,确保不会影响正在使用的对象。

    层级 (查看层级一览)

    索引

    构造函数

    属性

    _lastActiveViewerJson: JsonValue

    内部同步视口属性信息,外部勿用。

    _lastCameraInfo: undefined | { position: ESJVector3D; rotation: ESJVector3D }

    内部同步视口相机信息,外部勿用。

    _lastMemId: number = -1
    getEnv: (varName: string) => undefined | string = ...

    获取环境变量的静态方法。

    类型声明

      • (varName: string): undefined | string
      • 获取环境变量

        参数

        • varName: string

          环境变量名

        返回 undefined | string

        环境变量值

    当前的环境变量。

    getSceneObjById: (id: string) => undefined | ESSceneObject = ...

    根据对象 ID 获取场景对象的静态方法。

    类型声明

      • (id: string): undefined | ESSceneObject
      • 根据场景对象的ID获取场景对象实例

        参数

        • id: string

          场景对象的ID

        返回 undefined | ESSceneObject

        对应的场景对象实例,如果未找到则返回 undefined

    对象的 ID。

    对应的场景对象。

    setEnv: (varName: string, value: undefined | string) => void = ...

    设置环境变量的静态方法。

    类型声明

      • (varName: string, value: undefined | string): void
      • 设置环境变量

        参数

        • varName: string

          环境变量名

        • value: undefined | string

          环境变量值

        返回 void

    要设置的环境变量。

    访问器

    • get $refs(): { [k: string]: undefined | ESSceneObject }

      获取场景对象的引用。

      返回 { [k: string]: undefined | ESSceneObject }

    • get activeViewer(): undefined | ESViewer

      获取当前活动的视口。

      返回 undefined | ESViewer

    • set activeViewer(value: undefined | ESViewer): void

      设置当前活动的视口。

      参数

      • value: undefined | ESViewer

        要设置的视口。

      返回 void

    • get activeViewerChanged(): Listener<
          [undefined | ESViewer, undefined | ESViewer],
      >

      获取活动视口改变事件。

      返回 Listener<[undefined | ESViewer, undefined | ESViewer]>

    • get completeJson(): {
          asset: {
              createdTime: string;
              modifiedTime: string;
              name: string;
              type: string;
              version: string;
          };
          lastView: undefined
          | { position: ESJVector3D; rotation: ESJVector3D };
          sceneTree: { root: { children: SceneTreeItemJsonValue[] } };
          viewCollection: ESJViewInfo[];
          viewers: JsonValue[];
      }

      获取对象的 JSON 表示,包含所有属性。包括默认值

      返回 {
          asset: {
              createdTime: string;
              modifiedTime: string;
              name: string;
              type: string;
              version: string;
          };
          lastView: undefined
          | { position: ESJVector3D; rotation: ESJVector3D };
          sceneTree: { root: { children: SceneTreeItemJsonValue[] } };
          viewCollection: ESJViewInfo[];
          viewers: JsonValue[];
      }

    • get disposers(): (() => void)[]

      返回 (() => void)[]

    • get esPlyarAndPathTime(): ESPlyarAndPathTime

      获取播放器和路径时间管理器。

      返回 ESPlyarAndPathTime

    • 获取 ESObjectsManager 的 JSON 表示。

      返回 ESObjectsManagerJsonType

      包含资产信息、视口信息、场景树信息、视角集合信息和最后一个视口的相机信息的 JSON 对象。

    • set json(value: ESObjectsManagerJsonType): void

      设置 ESObjectsManager 的 JSON 数据。

      参数

      • value: ESObjectsManagerJsonType

        包含资产信息、视口信息、场景树信息、视角集合信息和最后一个视口的相机信息的 JSON 对象。

      返回 void

    • get jsonLoadingEvent(): Event<
          [
              | { type: "init"
              | "loading"
              | "loaded" }
              | { error?: string; type: "error" },
          ],
      >

      获取 JSON 加载事件。

      返回 Event<
          [
              | { type: "init"
              | "loading"
              | "loaded" }
              | { error?: string; type: "error" },
          ],
      >

    • get memId(): number

      返回 number

    • get pathAnimationManager(): PathAnimationManager

      路径动画管理器 1.channels : { pathId: string, sceneObjectIds: string[] }[]; 2.player : ESPlayer; 3.指定的id的sceneObject必须拥有position和rotation属性,path类型为 ESPath;

      返回 PathAnimationManager

    • get player(): ESPlayer

      获取播放器。

      返回 ESPlayer

    • get sceneObjectEditingManager(): SceneObjectEditingManager

      获取场景对象编辑管理器。

      返回 SceneObjectEditingManager

    • get sceneObjectsManager(): SceneObjectsManager

      获取场景对象管理器。

      返回 SceneObjectsManager

    • get sceneTree(): SceneTree

      获取默认场景树。

      返回 SceneTree

    • get syncOtherViewersToActived(): boolean

      获取是否将其他视口同步到活动视口的状态。

      返回 boolean

    • set syncOtherViewersToActived(value: boolean): void

      设置是否将其他视口同步到活动视口。

      参数

      • value: boolean

        布尔值,指示是否同步。

      返回 void

    • get syncOtherViewersToActivedChanged(): Listener<[boolean, boolean]>

      获取同步状态改变事件。

      返回 Listener<[boolean, boolean]>

    • get toDestroyEvent(): Listener

      返回 Listener

    • get viewerCreatedEvent(): Event<[ESViewer]>

      获取视口创建事件。

      返回 Event<[ESViewer]>

    • get viewers(): Readonly<Set<ESViewer>>

      获取所有视口。

      返回 Readonly<Set<ESViewer>>

    • get envs(): { [k: string]: undefined | string }

      获取所有环境变量的静态属性。

      返回 { [k: string]: undefined | string }

    方法

    • 参数

      • disposeFunc: () => void

      返回 () => void

    • 类型参数

      • T extends { destroy(): void }

      参数

      • obj: T

      返回 T

    • 参数

      • disposeFunc: () => void

      返回 () => void

    • 类型参数

      • T extends { destroy(): void }

      参数

      • obj: T

      返回 T

    • 创建 Cesium 视口。

      类型参数

      参数

      • params: ESVOptionCzm

        创建选项,可以是对象或具体参数。

      返回 T

      创建的视口。

    • 创建 Cesium 视口。

      类型参数

      参数

      • container: string | HTMLDivElement

        视口容器,可以是 HTML 元素或字符串。

      • 可选options: JsonValue

        视口选项,可选。

      • 可选id: string

        视口的 ID,可选。

      返回 T

      创建的视口。

    • 创建 OpenLayers 视口。

      类型参数

      参数

      • params: ESVOptionOl

        创建选项,可以是对象或具体参数。

      返回 T

      创建的视口。

    • 创建 Cesium 视口。

      类型参数

      参数

      • container: string | HTMLDivElement

        视口容器,可以是 HTML 元素或字符串。

      • 可选options: JsonValue

        视口选项,可选。

      • 可选id: string

        视口的 ID,可选。

      返回 T

      创建的视口。

    • 创建场景对象。

      类型参数

      参数

      • sceneObjectType: string | (new (id?: string) => T)

        场景对象类型,可以是字符串或构造函数。

      • 可选id: string

        场景对象的 ID,可选。

      返回 undefined | T

      创建的场景对象。

    • 根据类构造函数创建场景对象。

      类型参数

      参数

      • sceneObjConstructor: new (id?: string) => T

        场景对象的构造函数。

      • 可选id: string

        场景对象的 ID,可选。

      返回 T

      创建的场景对象。

    • 根据 JSON 数据创建场景对象。

      类型参数

      参数

      • sceneObjectJson: JsonValue & { type: string; [k: string]: any }

        包含场景对象类型和其他属性的 JSON 数据。

      返回 undefined | T

      创建的场景对象,如果解析失败则返回 undefined。

    • 根据 URL 创建场景对象。

      参数

      • url: string

        场景对象的 URL。

      • 可选id: string

        场景对象的 ID,可选。

      返回 undefined | ESSceneObject

      创建的场景对象。

    • 创建新的场景树。

      参数

      • id: string

        场景树的 ID。

      • itemDivHeight: number = 24

        场景树项的高度,默认为 24。

      返回 undefined | SceneTree

      创建的场景树,如果 ID 已存在则返回已有的场景树。

    • 创建 UE 视口。

      类型参数

      参数

      • params: ESVOptionUe

        创建选项,可以是对象或具体参数。

      返回 T

      创建的视口。

    • 创建 UE 视口。

      类型参数

      参数

      • container: string | HTMLDivElement

        视口容器,可以是 HTML 元素或字符串。

      • uri: string

        视口的 URI。

      • app: string

        应用程序名称。

      • 可选token: string

        令牌,可选。

      • 可选id: string

        视口的 ID,可选。

      返回 T

      创建的视口。

    • 创建 UE 视口。

      类型参数

      参数

      • container: string | HTMLDivElement

        视口容器,可以是 HTML 元素或字符串。

      • ws: string

        WebSocket 地址。

      • 可选esmsg: string

        消息,可选。

      • 可选id: string

        视口的 ID,可选。

      返回 T

      创建的视口。

    • 创建 UE 视口。

      类型参数

      参数

      • container: string | HTMLDivElement

        视口容器,可以是 HTML 元素或字符串。

      • project: string

        项目名称。

      • 可选baseUrl: string

        基础 URL,可选。

      • 可选id: string

        视口的 ID,可选。

      返回 T

      创建的视口。

    • 创建新的视口。

      参数

      返回 ESViewer

      创建的视口。

    • 参数

      • disposeFunc: () => void

      返回 () => void

    • 返回 undefined

    • 请不要重写destroy,请使用destroyImp来重写!

      返回 undefined

    • 销毁所有场景对象,但跳过内置对象(如视角集合和内置播放器)。

      返回 void

    • 返回 void

    • 销毁指定的场景对象。

      类型参数

      参数

      • sceneObject: T

        要销毁的场景对象。

      返回 boolean

      销毁操作的结果。

    • 销毁指定的视口。

      类型参数

      参数

      • viewer: T

        要销毁的视口。

      返回 boolean

      销毁操作的结果。

    • 参数

      • disposeFunc: () => void

      返回 () => void

    • 类型参数

      • T extends { destroy(): void }

      参数

      • obj: T

      返回 T

    • 类型参数

      • T extends { destroy(): void }

      参数

      • obj: T

      返回 T

    • 获取场景对象。

      参数

      • 可选option: string

        可以是对象 ID 或者对象类型,为空则返回所有对象。

      返回 undefined | ESSceneObject | ESSceneObject[]

      单个场景对象、场景对象数组或undefined。

    • 根据对象 ID 获取场景对象。

      参数

      • id: string

        对象的 ID。

      返回 undefined | ESSceneObject

      对应的场景对象或者undefined。

    • 根据 ID 获取场景树。

      参数

      • id: string = 'default'

        场景树的 ID,默认为 'default'。

      返回 undefined | SceneTree

      对应的场景树,如果不存在则返回 undefined。

    • 获取所有场景树。

      返回 SceneTree[]

      场景树数组。

    • 获取所有视口的方法。

      返回 readonly ESViewer[]

      视口数组。

    • 返回 boolean

    • 返回 boolean

    • 属性树回调方法。

      参数

      • params: propTreeCallbackParamsType

        属性树回调参数。

      返回 void

      回调结果。

    • 切换到 Cesium 视口。

      类型参数

      参数

      返回 T

      切换后的视口。

    • 切换到 Cesium 视口。

      类型参数

      参数

      • container: string | HTMLDivElement

        视口容器,可以是 HTML 元素或字符串。

      • 可选viewSync: boolean

        是否同步视角,默认为 true。

      • 可选attributeSync: boolean

        是否同步属性,默认为 true。

      • 可选destroy: boolean

        是否销毁当前活动视口,默认为 true。

      • 可选id: string

        视口的 ID。

      返回 T

      切换后的视口。

    • 切换到 UE 视口。

      类型参数

      参数

      返回 T

      切换后的视口。

    • 切换到 UE 视口。

      类型参数

      参数

      • container: string | HTMLDivElement

        视口容器,可以是 HTML 元素或字符串。

      • uri: string

        视口的 URI。

      • app: string

        应用程序名称。

      • 可选token: string

        令牌,可选。

      • 可选viewSync: boolean

        是否同步视角,默认为 true。

      • 可选attributeSync: boolean

        是否同步属性,默认为 true。

      • 可选destroy: boolean

        是否销毁当前活动视口,默认为 true。

      • 可选id: string

        视口的 ID,可选。

      返回 T

      切换后的视口。

    • 切换到 UE 视口。

      类型参数

      参数

      • container: string | HTMLDivElement

        视口容器,可以是 HTML 元素或字符串。

      • ws: string

        WebSocket 地址。

      • 可选esmsg: string

        消息,可选。

      • 可选viewSync: boolean

        是否同步视角,默认为 true。

      • 可选attributeSync: boolean

        是否同步属性,默认为 true。

      • 可选destroy: boolean

        是否销毁当前活动视口,默认为 true。

      • 可选id: string

        视口的 ID,可选。

      返回 T

      切换后的视口。

    • 切换到 UE 视口。

      类型参数

      参数

      • container: string | HTMLDivElement

        视口容器,可以是 HTML 元素或字符串。

      • project: string

        项目名称。

      • 可选baseUrl: string

        基础 URL,可选。

      • 可选viewSync: boolean

        是否同步视角,默认为 true。

      • 可选attributeSync: boolean

        是否同步属性,默认为 true。

      • 可选destroy: boolean

        是否销毁当前活动视口,默认为 true。

      • 可选id: string

        视口的 ID,可选。

      返回 T

      切换后的视口。

    • 切换视口。

      类型参数

      参数

      • option: ESVOption

        视口切换选项。

      • viewSync: boolean = true

        是否同步视角,默认为 true。

      • attributeSync: boolean = true

        是否同步属性,默认为 true。

      • destroy: boolean = true

        是否销毁当前活动视口,默认为 true。

      返回 T

      切换后的视口。

    • 类型参数

      • T extends { tryDestroy(): void }

      参数

      • obj: T

      返回 T

    • 返回 undefined

    • 类型参数

      • T extends { tryDestroy(): void }

      参数

      • obj: T

      返回 T