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

    类 ESViewerStatusBar

    ESViewerStatusBar 状态栏组件类

    用于在三维场景中显示状态栏信息的组件。状态栏通常位于场景底部,用于展示当前场景的状态信息、 坐标信息、操作提示等内容。

    核心功能:

    • 状态栏的显示和隐藏控制
    • 自定义状态栏高度和字体大小
    • 支持背景颜色自定义
    • 继承场景对象的基础功能

    使用示例:

    构造函数参数:

    可选的场景对象唯一标识符,用于在场景中识别该状态栏实例

    注意事项:

    • 该类继承自 ESSceneObject,具备场景对象的所有基础功能
    • 背景颜色使用 RGBA 格式,数组形式为 [red, green, blue, alpha]
    • 支持 Cesium 和 UE 引擎实现

    层级 (查看层级一览)

    索引

    构造函数

    • 构造函数,可传入一个可选的场景对象键。

      参数

      • 可选id: string

        场景对象键,可选参数。

      返回 ESViewerStatusBar

    属性

    bgColor: ESJColor = ...

    背景颜色,默认为 [71 / 255, 71 / 255, 71 / 255, 0.8]。

    bgColorChanged: Listener<[ESJColor, ESJColor]>
    bgColorReact: ReactiveVariable<ESJColor>
    devTags: undefined | string[] = ...

    对象类型名称相关的开发标签数组,使用 reactArrayWithUndefined 进行响应式处理,默认为 undefined。

    devTagsChanged: Listener<[undefined | string[], undefined | string[]]>
    devTagsReact: ReactiveVariable<undefined | string[]>
    execOnceFuncStr: undefined | string = ...

    一次性执行函数的字符串表示,默认为 undefined。

    execOnceFuncStrChanged: Listener<[undefined | string, undefined | string]>
    execOnceFuncStrReact: ReactiveVariable<string> | ReactiveVariable<undefined>
    extras: JsonValue = ...

    扩展属性 JSON,必须整体赋值,使用 reactJson 进行响应式处理,默认为 undefined。

    extrasChanged: Listener<[JsonValue, JsonValue]>
    fontSize: number = 14

    文字大小,默认为 14。

    fontSizeChanged: Listener<[number, number]>
    fontSizeReact: ReactiveVariable<number>
    height: number = 30

    状态栏高度,默认为 30。

    heightChanged: Listener<[number, number]>
    heightReact: ReactiveVariable<number>
    name: string = '未命名场景对象'

    对象名称,默认为 '未命名场景对象'。

    nameChanged: Listener<[string, string]>
    nameReact: ReactiveVariable<string>
    ref: undefined | string = ...

    对象引用,设置后可通过对象管理器 objm.$refs.xxx 快速获取到对象,默认为 undefined。

    refChanged: Listener<[undefined | string, undefined | string]>
    refReact: ReactiveVariable<string> | ReactiveVariable<undefined>
    show: boolean = true

    是否显示状态栏,默认为 true。

    showChanged: Listener<[boolean, boolean]>
    showReact: ReactiveVariable<false> | ReactiveVariable<true>
    toDestroyFuncStr: undefined | string = ...

    销毁函数的字符串表示,默认为 undefined。

    toDestroyFuncStrChanged: Listener<[undefined | string, undefined | string]>
    toDestroyFuncStrReact: ReactiveVariable<string> | ReactiveVariable<undefined>
    updateFuncStr: undefined | string = ...

    更新函数的字符串表示,默认为 undefined。

    updateFuncStrChanged: Listener<[undefined | string, undefined | string]>
    updateFuncStrReact: ReactiveVariable<string> | ReactiveVariable<undefined>
    _lastMemId: number = -1
    context: ESObjectsContext = ...

    对象上下文,用于管理场景对象的创建、销毁、查找等操作。

    create: <T extends ESSceneObject>(
        sceneObjectType: string | (new (id?: string) => T),
        id?: string,
    ) => undefined | T = ...

    创建场景对象的方法。

    类型声明

      • <T extends ESSceneObject>(
            sceneObjectType: string | (new (id?: string) => T),
            id?: string,
        ): undefined | T
      • 根据场景对象类型名或构造函数创建场景对象实例

        类型参数

        参数

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

          场景对象类型名或构造函数

        • 可选id: string

          可选的场景对象ID

        返回 undefined | T

        创建的场景对象实例,如果未找到对应的构造函数则返回 undefined

    createFromClass: <T extends ESSceneObject>(
        sceneObjConstructor: new (id?: string) => T,
        id?: string,
    ) => T = ...

    根据类创建场景对象的方法。

    类型声明

      • <T extends ESSceneObject>(
            sceneObjConstructor: new (id?: string) => T,
            id?: string,
        ): T
      • 根据场景对象的构造函数创建场景对象实例

        类型参数

        参数

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

          场景对象的构造函数

        • 可选id: string

          可选的场景对象ID,如果未提供或已存在相同ID的对象,将自动生成新的ID

        返回 T

        创建的场景对象实例

    createFromJson: <T extends ESSceneObject>(
        sceneObjectJson: JsonValue & { type: string; [k: string]: any },
    ) => undefined | T = ...

    根据 JSON 数据创建场景对象的方法。

    类型声明

      • <T extends ESSceneObject>(
            sceneObjectJson: JsonValue & { type: string; [k: string]: any },
        ): undefined | T
      • 根据 JSON 对象创建场景对象实例,并将 JSON 数据赋值给场景对象

        类型参数

        参数

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

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

        返回 undefined | T

        创建的场景对象实例,如果未找到对应的构造函数则返回 undefined

    createFromUrl: (url: string, id?: string) => undefined | ESSceneObject = ...

    根据 URL 创建场景对象的方法。

    defaults: Record<string, any> = {}
    destroySceneObject: (sceneObject: ESSceneObject) => boolean = ...

    销毁场景对象的方法。

    类型声明

      • (sceneObject: ESSceneObject): boolean
      • 销毁指定的场景对象实例

        参数

        返回 boolean

        场景对象是否已被销毁

    getEnv: (varName: string) => undefined | string = ...

    获取环境变量的方法。

    类型声明

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

        参数

        • varName: string

          环境变量名

        返回 undefined | string

        环境变量值

    环境变量的键。

    对应的环境变量值,如果未找到则返回 undefined。

    getSceneObj: (option?: string) => undefined | ESSceneObject | ESSceneObject[] = ...

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

    类型声明

      • (option?: string): undefined | ESSceneObject | ESSceneObject[]
      • 根据不同的条件获取场景对象实例

        参数

        • 可选option: string

          可选的条件,如果未提供则返回所有场景对象;如果以 'ES' 开头,则返回指定类型的所有场景对象;否则返回指定ID的场景对象

        返回 undefined | ESSceneObject | ESSceneObject[]

        符合条件的场景对象实例数组或单个实例,如果未找到则返回 undefined

    对象的唯一标识符。

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

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

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

    类型声明

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

        参数

        • id: string

          场景对象的ID

        返回 undefined | ESSceneObject

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

    对象的唯一标识符。

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

    getSceneObject: (option?: string) => undefined | ESSceneObject | ESSceneObject[] = ...

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

    类型声明

      • (option?: string): undefined | ESSceneObject | ESSceneObject[]
      • 根据不同的条件获取场景对象实例

        参数

        • 可选option: string

          可选的条件,如果未提供则返回所有场景对象;如果以 'ES' 开头,则返回指定类型的所有场景对象;否则返回指定ID的场景对象

        返回 undefined | ESSceneObject | ESSceneObject[]

        符合条件的场景对象实例数组或单个实例,如果未找到则返回 undefined

    对象的唯一标识符。

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

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

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

    类型声明

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

        参数

        • id: string

          场景对象的ID

        返回 undefined | ESSceneObject

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

    对象的唯一标识符。

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

    getStrFromEnv: (str: string) => string = ...

    从环境变量中获取字符串值的方法。

    类型声明

      • (str: string): string
      • 根据含有环境变量的字符串获取真实路径

        参数

        • str: string

          包含环境变量的字符串,环境变量格式为 ${xxx-xxx}

        返回 string

        替换环境变量后的真实路径字符串

    环境变量的键。

    对应的字符串值,如果未找到则返回 undefined。

    innerRegister: <T extends ESSceneObject>(
        sceneObjectType: string,
        sceneObjConstructor: new () => T,
        extraInfo?: { [k: string]: any },
    ) => string = ...

    注册对象到上下文的方法。

    类型声明

      • <T extends ESSceneObject>(
            sceneObjectType: string,
            sceneObjConstructor: new () => T,
            extraInfo?: { [k: string]: any },
        ): string
      • 注册场景对象类型及其构造函数

        类型参数

        参数

        • sceneObjectType: string

          场景对象类型名

        • sceneObjConstructor: new () => T

          场景对象的构造函数

        • 可选extraInfo: { [k: string]: any }

          可选的额外信息,将存储在构造函数的扩展属性中

        返回 string

        注册的场景对象类型名

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

    设置环境变量的方法。

    类型声明

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

        参数

        • varName: string

          环境变量名

        • value: undefined | string

          环境变量值

        返回 void

    环境变量的键。

    环境变量的值。

    type: string = ...

    静态属性,用于注册 ESViewerStatusBar 类型,包含类型名称、中文名称、标签和描述信息。

    访问器

    • get _jsonStr(): string

      获取对象的 JSON 字符串表示。

      返回 string

    • set _jsonStr(value: string): void

      根据 JSON 字符串设置对象的属性。

      参数

      • value: string

        JSON 字符串。

      返回 void

    • get activeViewer(): undefined | ESViewer

      返回 undefined | ESViewer

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

      参数

      返回 void

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

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

    • get attachedViewers(): Set<ESViewer>

      获取对象当前存在于哪些视口上的集合。

      返回 Set<ESViewer>

    • get completeJson(): JsonValue

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

      返回 JsonValue

    • get createdEvent(): Event<[]>

      获取对象创建事件。

      返回 Event<[]>

    • get defaultProps(): {
          devTags: ReactiveVariable<undefined | string[]>;
          execOnceFuncStr: undefined | string;
          extras: ReactiveVariable<JsonValue>;
          name: string;
          ref: undefined | string;
          toDestroyFuncStr: undefined | string;
          updateFuncStr: undefined | string;
      }

      获取对象的默认属性。

      返回 {
          devTags: ReactiveVariable<undefined | string[]>;
          execOnceFuncStr: undefined | string;
          extras: ReactiveVariable<JsonValue>;
          name: string;
          ref: undefined | string;
          toDestroyFuncStr: undefined | string;
          updateFuncStr: undefined | string;
      }

      • devTags: ReactiveVariable<undefined | string[]>

        对象类型名称相关的开发标签数组,使用 reactArrayWithUndefined 进行响应式处理,默认为 undefined。

      • execOnceFuncStr: undefined | string

        一次性执行函数的字符串表示,默认为 undefined。

      • extras: ReactiveVariable<JsonValue>

        扩展属性 JSON,必须整体赋值,使用 reactJson 进行响应式处理,默认为 undefined。

      • name: string

        对象名称,默认为 '未命名场景对象'。

      • ref: undefined | string

        对象引用,设置后可通过对象管理器 objm.$refs.xxx 快速获取到对象,默认为 undefined。

      • toDestroyFuncStr: undefined | string

        销毁函数的字符串表示,默认为 undefined。

      • updateFuncStr: undefined | string

        更新函数的字符串表示,默认为 undefined。

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

      返回 (() => void)[]

    • get flushEvent(): Event<[]>

      获取刷新对象事件。

      返回 Event<[]>

    • get id(): string

      获取对象的唯一标识符。

      返回 string

    • get json(): JsonValue

      获取对象的 JSON 表示。省略默认值属性,精简json

      返回 JsonValue

    • set json(value: JsonValue): void

      根据 JSON 数据设置对象的属性。

      参数

      返回 void

    • get memId(): number

      返回 number

    • get parentID(): string

      获取当前对象指定父级对象,未指定返回自身。

      返回 string

    • set parentID(value: undefined | string): void

      参数

      • value: undefined | string

      返回 void

    • get toDestroyEvent(): Listener

      返回 Listener

    • get toDestroyFunc(): undefined | ((sceneObject: ESSceneObject) => void)

      获取对象的销毁函数。

      返回 undefined | ((sceneObject: ESSceneObject) => void)

    • set toDestroyFunc(
          value: undefined | ((sceneObject: ESSceneObject) => void),
      ): void

      设置对象的销毁函数。

      参数

      • value: undefined | ((sceneObject: ESSceneObject) => void)

        销毁函数。

      返回 void

    • get toDestroyFuncChanged(): Listener<
          [
              undefined
              | ((sceneObject: ESSceneObject) => void),
              undefined | ((sceneObject: ESSceneObject) => void),
          ],
      >

      获取销毁函数改变事件。

      返回 Listener<
          [
              undefined
              | ((sceneObject: ESSceneObject) => void),
              undefined | ((sceneObject: ESSceneObject) => void),
          ],
      >

    • get typeName(): string

      获取对象的类型名称,由子类实现。

      返回 string

    • get updateFunc(): | undefined
      | ((sceneObject: ESSceneObject, timeStamp: number) => void)

      获取对象的更新函数。

      返回 undefined | ((sceneObject: ESSceneObject, timeStamp: number) => void)

    • set updateFunc(
          value:
              | undefined
              | ((sceneObject: ESSceneObject, timeStamp: number) => void),
      ): void

      设置对象的更新函数。

      参数

      • value: undefined | ((sceneObject: ESSceneObject, timeStamp: number) => void)

        更新函数。

      返回 void

    • get updateFuncChanged(): Listener<
          [
              undefined
              | ((sceneObject: ESSceneObject, timeStamp: number) => void),
              undefined | ((sceneObject: ESSceneObject, timeStamp: number) => void),
          ],
      >

      获取更新函数改变事件。

      返回 Listener<
          [
              undefined
              | ((sceneObject: ESSceneObject, timeStamp: number) => void),
              undefined | ((sceneObject: ESSceneObject, timeStamp: number) => void),
          ],
      >

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

      获取对象创建在视口上的事件。

      返回 Event<[ESViewer]>

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

      获取对象从视口移除的事件。

      返回 Event<[ESViewer]>

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

      获取所有引用对象的集合。

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

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

      获取所有环境变量的集合。

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

    方法

    • 参数

      • disposeFunc: () => void

      返回 () => void

    • 类型参数

      • T extends { destroy(): void }

      参数

      • obj: T

      返回 T

    • 将对象添加到指定视口中。

      参数

      • viewer: ESViewer

        要添加对象的视口。

      返回 void

    • 参数

      • disposeFunc: () => void

      返回 () => void

    • 类型参数

      • T extends { destroy(): void }

      参数

      • obj: T

      返回 T

    • 创建与视口关联的对象,并返回一个销毁函数,用于手动销毁关联对象。

      参数

      • createViewerPropSceneObject: (viewer: ESViewer) => undefined | Destroyable

        一个函数,用于创建与视口关联的对象。

      返回 () => void

      一个销毁函数,调用该函数可以销毁所有关联对象。

    • 参数

      • disposeFunc: () => void

      返回 () => void

    • 返回 undefined

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

      返回 undefined

    • 返回 void

    • 参数

      • disposeFunc: () => void

      返回 () => void

    • 类型参数

      • T extends { destroy(): void }

      参数

      • obj: T

      返回 T

    • 类型参数

      • T extends { destroy(): void }

      参数

      • obj: T

      返回 T

    • 刷新对象,触发刷新事件。

      返回 void

    • 获取对象的属性列表,用于展示和编辑对象的属性。

      参数

      • 可选language: string

        语言代码,可选参数,用于国际化。

      返回 Property[]

      属性列表。

    • 返回 boolean

    • 返回 boolean

    • 注册与视口关联的对象,当对象被添加到视口或从视口移除时,会自动创建或销毁关联对象。

      参数

      • createViewerPropSceneObject: (viewer: ESViewer) => undefined | Destroyable

        一个函数,用于创建与视口关联的对象。

      返回 void

    • 注册与视口容器关联的对象,当对象被添加到视口或从视口移除时,会自动创建或销毁关联对象。

      参数

      • createContainerPropSceneObject: (viewer: ESViewer, container: HTMLDivElement) => undefined | Destroyable

        一个函数,用于创建与视口容器关联的对象。

      返回 void

    • 将对象从指定视口中移除。

      参数

      • viewer: ESViewer

        要移除对象的视口。

      返回 void

    • 类型参数

      • T extends { tryDestroy(): void }

      参数

      • obj: T

      返回 T

    • 返回 undefined

    • 类型参数

      • T extends { tryDestroy(): void }

      参数

      • obj: T

      返回 T

    • 返回 {
          bgColor: ReactiveVariable<ESJColor>;
          devTags: ReactiveVariable<undefined | string[]>;
          execOnceFuncStr: undefined | string;
          extras: ReactiveVariable<JsonValue>;
          fontSize: number;
          height: number;
          name: string;
          ref: undefined | string;
          show: boolean;
          toDestroyFuncStr: undefined | string;
          updateFuncStr: undefined | string;
      }

      • bgColor: ReactiveVariable<ESJColor>

        背景颜色,默认为 [71 / 255, 71 / 255, 71 / 255, 0.8]。

      • devTags: ReactiveVariable<undefined | string[]>

        对象类型名称相关的开发标签数组,使用 reactArrayWithUndefined 进行响应式处理,默认为 undefined。

      • execOnceFuncStr: undefined | string

        一次性执行函数的字符串表示,默认为 undefined。

      • extras: ReactiveVariable<JsonValue>

        扩展属性 JSON,必须整体赋值,使用 reactJson 进行响应式处理,默认为 undefined。

      • fontSize: number

        文字大小,默认为 14。

      • height: number

        状态栏高度,默认为 30。

      • name: string

        对象名称,默认为 '未命名场景对象'。

      • ref: undefined | string

        对象引用,设置后可通过对象管理器 objm.$refs.xxx 快速获取到对象,默认为 undefined。

      • show: boolean

        是否显示状态栏,默认为 true。

      • toDestroyFuncStr: undefined | string

        销毁函数的字符串表示,默认为 undefined。

      • updateFuncStr: undefined | string

        更新函数的字符串表示,默认为 undefined。

    • 获取父类的类型,用于创建对象时对象本身没有实现类,则使用父类的实现类,一直向上寻找,直到ESSceneObject的实现类

      类型参数

      返回 T

      父类的类型

    • 完善版注册方法

      类型参数

      参数

      • className: string
      • ctor: T & new (id?: string) => ESSceneObject
      • 可选meta: Partial<{ chsName: string; description: string; tags: string[] }>

      返回 string