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

    类 SceneTree

    场景树类,继承自 Tree

    层级 (查看层级一览)

    索引

    构造函数

    属性

    createSceneObjectFunc: (
        sceneObjJson: JsonValue,
        sceneTreeItem: SceneTreeItem,
    ) => undefined | ESSceneObject = SceneTree.defaultCreateSceneObjectFunc

    创建场景对象的函数

    类型声明

      • (
            sceneObjJson: JsonValue,
            sceneTreeItem: SceneTreeItem,
        ): undefined | ESSceneObject
      • 根据场景对象的JSON数据和场景树项创建场景对象。

        参数

        • sceneObjJson: JsonValue

          场景对象的JSON数据,包含场景对象的类型和ID等信息。

        • sceneTreeItem: SceneTreeItem

          场景树项,代表场景对象在场景树中的位置和关系。

        返回 undefined | ESSceneObject

        如果成功创建场景对象,则返回创建的场景对象;否则返回 undefined。

        该函数尝试从传入的JSON数据中提取场景对象的类型和ID,并使用这些信息创建一个新的场景对象。 如果JSON数据中不包含类型信息,或者根据类型无法创建场景对象,则会在控制台输出警告信息。

    createTreeItemDragDropFunc: (treeItem: TreeItem) => TreeItemDragDrop = SceneTree.defaultCreateTreeItemDragDropFunc

    创建树项拖放的函数

    类型声明

      • (treeItem: TreeItem): TreeItemDragDrop
      • 默认创建树项拖放对象的函数。

        该函数接收一个树项对象作为参数,检查该树项是否为 SceneTreeItem 类型的实例。 如果不是,则抛出一个错误;如果是,则创建并返回一个 SceneTreeItemDragDrop 实例。

        参数

        • treeItem: TreeItem

          要为其创建拖放对象的树项。

        返回 TreeItemDragDrop

        一个 TreeItemDragDrop 类型的对象,表示创建的拖放对象。

        如果传入的 treeItem 不是 SceneTreeItem 类型的实例,则抛出错误。

    debug: boolean = false

    调试模式标志

    getSceneObjectShowFunc: (sceneObject: undefined | ESSceneObject) => boolean = SceneTree.defaultGetSceneObjectShow

    获取场景对象显示状态的函数

    类型声明

      • (sceneObject: undefined | ESSceneObject): boolean
      • 获取场景对象的显示状态。

        该函数会检查传入的场景对象是否有 showenabled 属性, 如果有则返回对应的布尔值,如果没有则使用默认值 true

        参数

        • sceneObject: undefined | ESSceneObject

          要检查的场景对象,可能为 undefined

        返回 boolean

        如果场景对象应该显示,则返回 true,否则返回 false

    getSceneTreeItemCloneNameFunc: (originSceneTreeItem: SceneTreeItem) => string = SceneTree.defaultGetSceneTreeItemCloneNameFunc

    获取场景树项克隆名称的函数

    类型声明

      • (originSceneTreeItem: SceneTreeItem): string
      • 获取场景树项克隆后的默认名称

        参数

        返回 string

        克隆后的场景树项名称

    preloadFunc: (
        sceneTreeJson: SceneTreeJsonValue,
        progressFunc?: PreloadProgressFuncType,
    ) => Promise<void> = SceneTree.defaultPreload

    预加载函数

    类型声明

      • (
            sceneTreeJson: SceneTreeJsonValue,
            progressFunc?: PreloadProgressFuncType,
        ): Promise<void>
      • 场景文件中有一些东西是需要提前加载和处理的,所以就有了这个特殊的函数。

        参数

        • sceneTreeJson: SceneTreeJsonValue

          场景树的JSON对象,包含场景的结构信息。

        • 可选progressFunc: PreloadProgressFuncType

          可选的进度回调函数,用于报告加载进度。

        返回 Promise<void>

    setSceneObjectShowFunc: (
        sceneObject: undefined | ESSceneObject,
        show: undefined | boolean,
    ) => void = SceneTree.defaultSetSceneObjectShow

    设置场景对象显示状态的函数

    类型声明

      • (sceneObject: undefined | ESSceneObject, show: undefined | boolean): void
      • 设置场景对象的显示状态。

        该函数会检查传入的场景对象是否有 showenabled 属性, 如果有则将其设置为指定的显示状态。

        参数

        • sceneObject: undefined | ESSceneObject

          要设置显示状态的场景对象,可能为 undefined

        • show: undefined | boolean

          要设置的显示状态,可能为 undefined

        返回 void

    _lastMemId: number = -1
    canMoveToTreeItem: (
        sourceItem: TreeItem,
        targetItem: TreeItem,
        mode: MoveToPositionMode,
    ) => boolean = canMoveToTreeItem
    canMoveToTreeItems: <T extends TreeItem>(
        sourceItems: Iterable<T>,
        targetItem: T,
        mode: MoveToPositionMode,
    ) => boolean = canMoveToTreeItems
    defaultCreateSceneObjectFunc: (
        sceneObjJson: JsonValue,
        sceneTreeItem: SceneTreeItem,
    ) => undefined | ESSceneObject = defaultCreateSceneObject

    默认的创建场景对象的函数

    类型声明

      • (
            sceneObjJson: JsonValue,
            sceneTreeItem: SceneTreeItem,
        ): undefined | ESSceneObject
      • 根据场景对象的JSON数据和场景树项创建场景对象。

        参数

        • sceneObjJson: JsonValue

          场景对象的JSON数据,包含场景对象的类型和ID等信息。

        • sceneTreeItem: SceneTreeItem

          场景树项,代表场景对象在场景树中的位置和关系。

        返回 undefined | ESSceneObject

        如果成功创建场景对象,则返回创建的场景对象;否则返回 undefined。

        该函数尝试从传入的JSON数据中提取场景对象的类型和ID,并使用这些信息创建一个新的场景对象。 如果JSON数据中不包含类型信息,或者根据类型无法创建场景对象,则会在控制台输出警告信息。

    defaultCreateTreeItemDragDropFunc: (treeItem: TreeItem) => TreeItemDragDrop = defaultCreateTreeItemDragDrop

    默认的创建树项拖放的函数

    类型声明

      • (treeItem: TreeItem): TreeItemDragDrop
      • 默认创建树项拖放对象的函数。

        该函数接收一个树项对象作为参数,检查该树项是否为 SceneTreeItem 类型的实例。 如果不是,则抛出一个错误;如果是,则创建并返回一个 SceneTreeItemDragDrop 实例。

        参数

        • treeItem: TreeItem

          要为其创建拖放对象的树项。

        返回 TreeItemDragDrop

        一个 TreeItemDragDrop 类型的对象,表示创建的拖放对象。

        如果传入的 treeItem 不是 SceneTreeItem 类型的实例,则抛出错误。

    defaultGetSceneObjectShow: (sceneObject: undefined | ESSceneObject) => boolean = defaultGetSceneObjectShow

    默认的获取场景对象显示状态的函数

    类型声明

      • (sceneObject: undefined | ESSceneObject): boolean
      • 获取场景对象的显示状态。

        该函数会检查传入的场景对象是否有 showenabled 属性, 如果有则返回对应的布尔值,如果没有则使用默认值 true

        参数

        • sceneObject: undefined | ESSceneObject

          要检查的场景对象,可能为 undefined

        返回 boolean

        如果场景对象应该显示,则返回 true,否则返回 false

    defaultGetSceneTreeItemCloneNameFunc: (
        originSceneTreeItem: SceneTreeItem,
    ) => string = defaultGetSceneTreeItemCloneName

    默认的获取场景树项克隆名称的函数

    类型声明

      • (originSceneTreeItem: SceneTreeItem): string
      • 获取场景树项克隆后的默认名称

        参数

        返回 string

        克隆后的场景树项名称

    defaultItemDivHeight: number = 24
    defaultPreload: (
        sceneTreeJson: SceneTreeJsonValue,
        progressFunc?: PreloadProgressFuncType,
    ) => Promise<void> = preload

    默认的预加载函数

    类型声明

      • (
            sceneTreeJson: SceneTreeJsonValue,
            progressFunc?: PreloadProgressFuncType,
        ): Promise<void>
      • 场景文件中有一些东西是需要提前加载和处理的,所以就有了这个特殊的函数。

        参数

        • sceneTreeJson: SceneTreeJsonValue

          场景树的JSON对象,包含场景的结构信息。

        • 可选progressFunc: PreloadProgressFuncType

          可选的进度回调函数,用于报告加载进度。

        返回 Promise<void>

    defaultSetSceneObjectShow: (
        sceneObject: undefined | ESSceneObject,
        show: undefined | boolean,
    ) => void = defaultSetSceneObjectShow

    默认的设置场景对象显示状态的函数

    类型声明

      • (sceneObject: undefined | ESSceneObject, show: undefined | boolean): void
      • 设置场景对象的显示状态。

        该函数会检查传入的场景对象是否有 showenabled 属性, 如果有则将其设置为指定的显示状态。

        参数

        • sceneObject: undefined | ESSceneObject

          要设置显示状态的场景对象,可能为 undefined

        • show: undefined | boolean

          要设置的显示状态,可能为 undefined

        返回 void

    moveToTreeItem: (
        sourceItem: TreeItem,
        targetItem: TreeItem,
        mode: MoveToPositionMode,
    ) => void = moveToTreeItem
    moveToTreeItems: <T extends TreeItem>(
        sourceItems: Iterable<T>,
        targetItem: T,
        mode: MoveToPositionMode,
    ) => void = moveToTreeItems

    访问器

    • get completeJson(): { root: { children: SceneTreeItemJsonValue[] } }

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

      返回 { root: { children: SceneTreeItemJsonValue[] } }

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

      返回 (() => void)[]

    • get itemChildrenChanged(): Event<[T]>

      返回 Event<[T]>

    • get itemChildrenToChange(): Event<
          [
              item: T,
              changeInfos: ObservableArrayChangeInfo<T>[],
              toDels: Set<TreeItem>,
              toAdds: Set<TreeItem>,
          ],
      >

      返回 Event<
          [
              item: T,
              changeInfos: ObservableArrayChangeInfo<T>[],
              toDels: Set<TreeItem>,
              toAdds: Set<TreeItem>,
          ],
      >

    • get itemDivHeight(): number

      返回 number

    • set itemDivHeight(value: number): void

      参数

      • value: number

      返回 void

    • get itemDivHeightChanged(): Listener<[number, number]>

      返回 Listener<[number, number]>

    • get itemsAdded(): Listener<[T[]]>

      返回 Listener<[T[]]>

    • get itemsChanged(): Event<[T[]]>

      返回 Event<[T[]]>

    • get itemsDeleted(): Listener<[T[]]>

      返回 Listener<[T[]]>

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

      获取 JSON 加载事件

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

    • get jsonStr(): string

      获取场景树的 JSON 字符串

      返回 string

    • set jsonStr(value: string): void

      设置场景树的 JSON 字符串

      参数

      • value: string

        要设置的 JSON 字符串

      返回 void

    • get lastSelectedItem(): undefined | T

      返回 undefined | T

    • get memId(): number

      返回 number

    • get name(): string

      获取场景树的名称

      返回 string

    • get root(): TreeItem

      返回 TreeItem

    • get showPropUiOnSelecting(): boolean

      获取选择项时是否显示属性 UI 的值

      返回 boolean

    • set showPropUiOnSelecting(value: boolean): void

      设置选择项时是否显示属性 UI 的值

      参数

      • value: boolean

        要设置的值

      返回 void

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

      获取选择项时是否显示属性 UI 的值变化事件

      返回 Listener<[boolean, boolean]>

    • get toDestroyEvent(): Listener

      返回 Listener

    • get uiTree(): UiTree<T, Tree<T>>

      返回 UiTree<T, Tree<T>>

    方法

    • 返回 void

    • 返回 void

    • 返回 void

    • 参数

      • disposeFunc: () => void

      返回 () => void

    • 类型参数

      • T extends { destroy(): void }

      参数

      • obj: T

      返回 T

    • 参数

      • disposeFunc: () => void

      返回 () => void

    • 类型参数

      • T extends { destroy(): void }

      参数

      • obj: T

      返回 T

    • 创建一个组节点

      参数

      • 可选name: string

        可选的组节点名称

      • 可选id: string

        可选的组节点 ID

      • 可选currentTreeItem: SceneTreeItem

        可选的当前树项

      • 可选flag: SceneTreeItemInsertFlag

        可选的插入标志

      返回 undefined | SceneTreeItem

      新创建的组节点树项,如果创建失败则返回 undefined

    • 根据场景对象类型创建场景对象树项

      类型参数

      参数

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

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

      • 可选id: string

        可选的场景对象 ID

      • 可选currentTreeItem: SceneTreeItem

        可选的当前树项

      • 可选flag: SceneTreeItemInsertFlag

        可选的插入标志

      返回 undefined | SceneTreeItem

      新创建的场景对象树项,如果创建失败则返回 undefined

    • 根据场景对象构造函数创建场景对象树项

      类型参数

      参数

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

        场景对象的构造函数

      • 可选id: string

        可选的场景对象 ID

      • 可选currentTreeItem: SceneTreeItem

        可选的当前树项

      • 可选flag: SceneTreeItemInsertFlag

        可选的插入标志

      返回 undefined | SceneTreeItem

      新创建的场景对象树项,如果创建失败则返回 undefined

    • 参数

      • disposeFunc: () => void

      返回 () => void

    • 返回 undefined

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

      返回 undefined

    • 销毁用户添加的所有场景节点

      返回 void

    • 返回 void

    • 销毁一个场景对象节点

      参数

      返回 void

    • 参数

      • disposeFunc: () => void

      返回 () => void

    • 类型参数

      • T extends { destroy(): void }

      参数

      • obj: T

      返回 T

    • 类型参数

      • T extends { destroy(): void }

      参数

      • obj: T

      返回 T

    • 返回 void

    • 参数

      返回 Generator<TreeItem, void, unknown>

    • 获取当前树结构的 Json 数据

      返回 { root: { children: SceneTreeItemJsonValue[] } }

      SceneTreeItem 的 isExport 为 true 的 Json 数据

    • 根据场景对象的 ID 获取树项

      参数

      • id: string

        场景对象的 ID

      返回 undefined | SceneTreeItem

      对应的树项,如果未找到则返回 undefined

    • 根据场景对象的名称获取树项

      参数

      • name: string

        { string } 场景对象的名称 例如 :'全球影像'

      返回 SceneTreeItem[]

      对应的树项节点,如果未找到则返回空数组

    • 根据场景对象的类型获取树项

      参数

      • type: string | string[]

        { string | string[] } 场景对象的类型 例如 :['ES3DTileset']

      返回 SceneTreeItem[]

      对应的树项节点,如果未找到则返回空数组

    • 返回 boolean

    • 返回 boolean

    • 设置场景树的 JSON 数据

      参数

      返回 void

    • 类型参数

      • T extends { tryDestroy(): void }

      参数

      • obj: T

      返回 T

    • 监测 addNewTreeItem 是否可以添加项

      参数

      返回 boolean

      是否可以添加项

      请勿使用,未来将废弃!

    • 返回 undefined

    • 类型参数

      • T extends { tryDestroy(): void }

      参数

      • obj: T

      返回 T