EarthSDK

    类 ESUEWidget

    ESUEWidget 类

    继承自 ESLabel 的 UE 部件类,用于在 3D 场景中创建和管理虚幻引擎(Unreal Engine)部件。

    核心功能:

    • 支持动态调用远程函数并获取返回结果
    • 提供位置和旋转偏移控制
    • 支持部件类名、套接字名称、角色标签等配置
    • 包含信息展示功能(标题和内容)

    使用示例:

    构造函数参数:

    • id (可选): 场景对象的键值,用于标识特定的场景对象实例

    注意事项:

    • callFunction 方法有 10 秒超时限制,超时返回 undefined
    • 该类主要用于 Cesium 和 UE 实现环境
    • 需要配合相应的 UE 端实现才能正常工作

    层级 (查看层级一览, 展开)

    索引

    构造函数

    属性

    _deprecated actorTag actorTagChanged actorTagReact allowPicking allowPickingChanged allowPickingReact anchor anchorChanged anchorReact collision collisionChanged collisionReact combinationClass devTags devTagsChanged devTagsReact editingBindMode editingID execOnceFuncStr execOnceFuncStrChanged execOnceFuncStrReact extras extrasChanged extrasReact flyInParam flyInParamChanged flyInParamReact flyToParam flyToParamChanged flyToParamReact info infoChanged infoReact mainClass maxVisibleDistance maxVisibleDistanceChanged maxVisibleDistanceReact minVisibleDistance minVisibleDistanceChanged minVisibleDistanceReact name nameChanged nameReact offset offsetChanged offsetReact position positionChanged positionOffset positionOffsetChanged positionOffsetReact positionReact ref refChanged refReact renderMode renderModeChanged renderModeReact rotation rotationChanged rotationOffset rotationOffsetChanged rotationOffsetReact rotationReact rotationType rotationTypeChanged rotationTypeReact scale scaleChanged scaleReact screenRender screenRenderChanged screenRenderReact show showChanged showReact size sizeByContent sizeByContentChanged sizeByContentReact sizeChanged sizeReact socketName socketNameChanged socketNameReact toDestroyFuncStr toDestroyFuncStrChanged toDestroyFuncStrReact updateFuncStr updateFuncStrChanged updateFuncStrReact useCalcFlyToParamInESObjectWithLocation viewer viewerChanged widgetClass widgetClassChanged widgetClassReact zOrder zOrderChanged zOrderReact _lastFlyInId _lastFlyToId context create createFromClass createFromJson defaults destroySceneObject getEnv getSceneObj getSceneObjById getSceneObject getSceneObjectById getStrFromEnv register setEnv supportEditingModes type

    访问器

    方法

    构造函数

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

      参数

      • 可选id: string

        场景对象的键值,可选。

      返回 ESUEWidget

    属性

    _deprecated: (string | { [k: string]: any })[] = []

    弃用变量管理器 请勿使用该属性

    actorTag: string = ""

    UE Actor标签,用于识别特定对象

    actorTagChanged: Listener<[string, string]>
    actorTagReact: ReactiveVariable<string>
    allowPicking: boolean = false

    是否允许拾取 默认false

    allowPickingChanged: Listener<[boolean, boolean]>
    allowPickingReact: ReactiveVariable<false> | ReactiveVariable<true>
    anchor: ESJVector2D = ...

    锚点位置,取值范围[0,1],默认底部居中(0.5,1)

    anchorChanged: Listener<[ESJVector2D, ESJVector2D]>
    anchorReact: ReactiveVariable<ESJVector2D>
    collision: boolean = true

    是否开启碰撞监测 默认true ,主要是UE使用

    collisionChanged: Listener<[boolean, boolean]>
    collisionReact: ReactiveVariable<false> | ReactiveVariable<true>
    combinationClass: boolean = false

    是否是组合类,组合类是指该类的实例不需要自动更新也不需要创建销毁,不用给 UE 发送这个对象的消息,都有组合类去处理。

    devTags: undefined | string[] = ...

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

    devTagsChanged: Listener<[undefined | string[], undefined | string[]]>
    devTagsReact: ReactiveVariable<undefined | string[]>
    editingBindMode: ESJEditingBindModeType = 'singlePoint'

    编辑绑定模式,默认为 'singlePoint'

    editingID: undefined | string = undefined

    编辑 ID,用于标识编辑操作

    execOnceFuncStr: undefined | string = ...

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

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

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

    extrasChanged: Listener<[JsonValue, JsonValue]>
    extrasReact: ReactiveVariable<JsonValue>
    flyInParam: undefined | ESJFlyInParam = ...

    飞入参数

    flyInParamChanged: Listener<
        [undefined | ESJFlyInParam, undefined | ESJFlyInParam],
    >
    flyInParamReact: ReactiveVariable<undefined | ESJFlyInParam>
    flyToParam: undefined | ESJFlyToParam = ...

    飞向参数

    flyToParamChanged: Listener<
        [undefined | ESJFlyToParam, undefined | ESJFlyToParam],
    >
    flyToParamReact: ReactiveVariable<undefined | ESJFlyToParam>
    info: undefined | ESUEWidgetInfoType = ...

    面板标题和内容

    infoChanged: Listener<
        [undefined | ESUEWidgetInfoType, undefined | ESUEWidgetInfoType],
    >
    infoReact: ReactiveVariable<undefined | ESUEWidgetInfoType>
    mainClass: undefined | ESSceneObject = undefined

    主类,当该对象被添加到视口时,会将该对象添加到主类上。

    maxVisibleDistance: number = ...

    最大可视距离

    maxVisibleDistanceChanged: Listener<[number, number]>
    maxVisibleDistanceReact: ReactiveVariable<number>
    minVisibleDistance: number = ...

    最小可视距离

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

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

    nameChanged: Listener<[string, string]>
    nameReact: ReactiveVariable<string>
    offset: ESJVector2D = ...

    位置偏移量,格式为[x,y],默认无偏移

    offsetChanged: Listener<[ESJVector2D, ESJVector2D]>
    offsetReact: ReactiveVariable<ESJVector2D>
    position: ESJVector3D = ...

    位置点 [经,纬,高]

    positionChanged: Listener<[ESJVector3D, ESJVector3D]>
    positionOffset: ESJVector3D = ...

    3D位置偏移,格式为[x,y,z],默认无偏移

    positionOffsetChanged: Listener<[ESJVector3D, ESJVector3D]>
    positionOffsetReact: ReactiveVariable<ESJVector3D>
    positionReact: ReactiveVariable<ESJVector3D>
    ref: undefined | string = ...

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

    refChanged: Listener<[undefined | string, undefined | string]>
    refReact: ReactiveVariable<string> | ReactiveVariable<undefined>
    renderMode: number = 0

    渲染模式枚举,定义了标签的渲染方式 默认值为0

    • '单面不透明': 0 单面渲染且不透明(默认)
    • '双面不透明': 1 双面渲染且不透明
    • '单面遮罩': 2 单面渲染并使用遮罩
    • '双面遮罩': 3 双面渲染并使用遮罩
    • '单面透明': 4 单面渲染且透明
    • '双面透明': 5 双面渲染且透明
    • '单面未遮挡透明': 6 单面渲染,未被遮挡部分透明
    • '双面未遮挡透明': 7 双面渲染,未被遮挡部分透明
    renderModeChanged: Listener<[number, number]>
    renderModeReact: ReactiveVariable<number>
    rotation: ESJVector3D = ...

    姿态 [h,p,r]

    rotationChanged: Listener<[ESJVector3D, ESJVector3D]>
    rotationOffset: ESJVector3D = ...

    3D旋转偏移,格式为[pitch,yaw,roll],默认无旋转

    rotationOffsetChanged: Listener<[ESJVector3D, ESJVector3D]>
    rotationOffsetReact: ReactiveVariable<ESJVector3D>
    rotationReact: ReactiveVariable<ESJVector3D>
    rotationType: number = 1

    旋转类型枚举,定义了标签的旋转方式 默认值为1

    • '固定朝向': 1 标签保持固定的朝向 (默认)
    • '面向屏幕旋转':2 标签始终面向屏幕
    • '绕自身Z轴旋转':3 标签绕自身的Z轴进行旋转
    rotationTypeChanged: Listener<[number, number]>
    rotationTypeReact: ReactiveVariable<number>
    scale: ESJVector3D = ...

    缩放 [x,y,z]

    scaleChanged: Listener<[ESJVector3D, ESJVector3D]>
    scaleReact: ReactiveVariable<ESJVector3D>
    screenRender: boolean = true

    是否启用屏幕渲染,默认true

    screenRenderChanged: Listener<[boolean, boolean]>
    screenRenderReact: ReactiveVariable<false> | ReactiveVariable<true>
    show: boolean = true

    是否显示 默认true

    showChanged: Listener<[boolean, boolean]>
    showReact: ReactiveVariable<false> | ReactiveVariable<true>
    size: ESJVector2D = ...

    元素尺寸,格式为[width, height],默认100×100

    sizeByContent: boolean = true

    是否根据内容自动调整大小,默认true

    sizeByContentChanged: Listener<[boolean, boolean]>
    sizeByContentReact: ReactiveVariable<false> | ReactiveVariable<true>
    sizeChanged: Listener<[ESJVector2D, ESJVector2D]>
    sizeReact: ReactiveVariable<ESJVector2D>
    socketName: string = ""

    UE 骨骼套接字名称,用于骨骼绑定

    socketNameChanged: Listener<[string, string]>
    socketNameReact: ReactiveVariable<string>
    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>
    useCalcFlyToParamInESObjectWithLocation: boolean = true

    是否使用 ESObjectWithLocation 类中的 calcFlyToParam。

    viewer: undefined | ESViewer = undefined

    对象所属的视口,如果未指定则为 undefined。

    viewerChanged: Event<[undefined | ESViewer]> = ...

    所属视口改变事件,当对象所属视口发生变化时触发。

    widgetClass: string = ""

    UE 提供的 Widget 信息

    widgetClassChanged: Listener<[string, string]>
    widgetClassReact: ReactiveVariable<string>
    zOrder: number = 0

    Z轴渲染顺序,数值越大越靠前

    zOrderChanged: Listener<[number, number]>
    zOrderReact: ReactiveVariable<number>
    _lastFlyInId: number = 0

    最后一次飞入操作的 ID

    _lastFlyToId: number = 0

    最后一次飞向操作的 ID

    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

    defaults: {
        actorTag: string;
        allowPicking: boolean;
        anchor: ESJVector2D;
        collision: boolean;
        flyInParam: ESJFlyInParam;
        flyToParam: ESJFlyToParam;
        info: ESUEWidgetInfoType;
        positionOffset: [number, number, number];
        renderMode: number;
        rotationOffset: [number, number, number];
        rotationType: number;
        screenRender: boolean;
        show: boolean;
        size: ESJVector2D;
        sizeByContent: boolean;
        socketName: string;
        widgetClass: string;
    } = ...

    静态属性,包含 ESUEWidget 的默认属性值。

    类型声明

    • actorTag: string

      角色标签,默认为空字符串。

    • allowPicking: boolean
    • anchor: ESJVector2D
    • collision: boolean
    • flyInParam: ESJFlyInParam
    • flyToParam: ESJFlyToParam
    • info: ESUEWidgetInfoType

      信息的默认值,包含标题和内容。

    • positionOffset: [number, number, number]

      位置偏移量,默认为 [0, 0, 0]。

    • renderMode: number
    • rotationOffset: [number, number, number]

      旋转偏移量,默认为 [0, 0, 0]。

    • rotationType: number
    • screenRender: boolean
    • show: boolean
    • size: ESJVector2D
    • sizeByContent: boolean
    • socketName: string

      套接字名称,默认为空字符串。

    • widgetClass: string

      部件类名,默认为空字符串。

    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。

    register: <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

    环境变量的键。

    环境变量的值。

    supportEditingModes: string[] = ...

    该类支持的编辑模式列表。

    type: string = ...

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

    访问器

    • get __callFunctionResultEvent(): Event<[undefined | { [k: string]: any }]>

      获取调用函数结果的事件。

      返回 Event<[undefined | { [k: string]: any }]>

    • get _jsonStr(): string

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

      返回 string

    • set _jsonStr(value: string): void

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

      参数

      • value: string

        JSON 字符串。

      返回 void

    • get attachedViewers(): Set<ESViewer>

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

      返回 Set<ESViewer>

    • get automaticLandingEvent(): Listener<[flag: boolean]>

      获取自动落地事件的监听器。

      返回 Listener<[flag: boolean]>

    • get calcFlyInParamEvent(): Listener

      获取计算飞入参数事件

      返回 Listener

      计算飞入参数事件

    • get calcFlyToParamEvent(): Listener

      获取计算飞向参数事件

      返回 Listener

      计算飞向参数事件

    • get callFunctionEvent(): Event<[string, { [k: string]: any }]>

      获取调用函数的事件。

      返回 Event<[string, { [k: string]: any }]>

    • get components(): ObservableSet<ESSceneObject>

      获取对象组件集合。

      返回 ObservableSet<ESSceneObject>

    • get createdEvent(): Event<[]>

      获取对象创建事件。

      返回 Event<[]>

    • get defaultProps(): {
          actorTag: string;
          allowPicking: boolean;
          anchor: ReactiveVariable<ESJVector2D>;
          collision: boolean;
          devTags: ReactiveVariable<undefined | string[]>;
          execOnceFuncStr: undefined | string;
          extras: ReactiveVariable<JsonValue>;
          flyInParam: ReactiveVariable<undefined | ESJFlyInParam>;
          flyToParam: ReactiveVariable<undefined | ESJFlyToParam>;
          info: ReactiveVariable<undefined | ESUEWidgetInfoType>;
          maxVisibleDistance: ReactiveVariable<number>;
          minVisibleDistance: ReactiveVariable<number>;
          name: string;
          offset: ReactiveVariable<ESJVector2D>;
          position: ReactiveVariable<ESJVector3D>;
          positionOffset: ReactiveVariable<ESJVector3D>;
          ref: undefined | string;
          renderMode: number;
          rotation: ReactiveVariable<ESJVector3D>;
          rotationOffset: ReactiveVariable<ESJVector3D>;
          rotationType: number;
          scale: ReactiveVariable<ESJVector3D>;
          screenRender: boolean;
          show: boolean;
          size: ReactiveVariable<ESJVector2D>;
          sizeByContent: boolean;
          socketName: string;
          toDestroyFuncStr: undefined | string;
          updateFuncStr: undefined | string;
          widgetClass: string;
          zOrder: number;
      }

      重写方法,获取默认属性。

      返回 {
          actorTag: string;
          allowPicking: boolean;
          anchor: ReactiveVariable<ESJVector2D>;
          collision: boolean;
          devTags: ReactiveVariable<undefined | string[]>;
          execOnceFuncStr: undefined | string;
          extras: ReactiveVariable<JsonValue>;
          flyInParam: ReactiveVariable<undefined | ESJFlyInParam>;
          flyToParam: ReactiveVariable<undefined | ESJFlyToParam>;
          info: ReactiveVariable<undefined | ESUEWidgetInfoType>;
          maxVisibleDistance: ReactiveVariable<number>;
          minVisibleDistance: ReactiveVariable<number>;
          name: string;
          offset: ReactiveVariable<ESJVector2D>;
          position: ReactiveVariable<ESJVector3D>;
          positionOffset: ReactiveVariable<ESJVector3D>;
          ref: undefined | string;
          renderMode: number;
          rotation: ReactiveVariable<ESJVector3D>;
          rotationOffset: ReactiveVariable<ESJVector3D>;
          rotationType: number;
          scale: ReactiveVariable<ESJVector3D>;
          screenRender: boolean;
          show: boolean;
          size: ReactiveVariable<ESJVector2D>;
          sizeByContent: boolean;
          socketName: string;
          toDestroyFuncStr: undefined | string;
          updateFuncStr: undefined | string;
          widgetClass: string;
          zOrder: number;
      }

      • actorTag: string

        UE Actor标签,用于识别特定对象

      • allowPicking: boolean

        是否允许拾取 默认false

      • anchor: ReactiveVariable<ESJVector2D>

        锚点位置,取值范围[0,1],默认底部居中(0.5,1)

      • collision: boolean

        是否开启碰撞监测 默认true ,主要是UE使用

      • devTags: ReactiveVariable<undefined | string[]>

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

      • execOnceFuncStr: undefined | string

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

      • extras: ReactiveVariable<JsonValue>

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

      • flyInParam: ReactiveVariable<undefined | ESJFlyInParam>

        飞入参数

      • flyToParam: ReactiveVariable<undefined | ESJFlyToParam>

        飞向参数

      • info: ReactiveVariable<undefined | ESUEWidgetInfoType>

        面板标题和内容

      • maxVisibleDistance: ReactiveVariable<number>

        最大可视距离

      • minVisibleDistance: ReactiveVariable<number>

        最小可视距离

      • name: string

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

      • offset: ReactiveVariable<ESJVector2D>

        位置偏移量,格式为[x,y],默认无偏移

      • position: ReactiveVariable<ESJVector3D>

        位置点 [经,纬,高]

      • positionOffset: ReactiveVariable<ESJVector3D>

        3D位置偏移,格式为[x,y,z],默认无偏移

      • ref: undefined | string

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

      • renderMode: number

        渲染模式枚举,定义了标签的渲染方式 默认值为0

        • '单面不透明': 0 单面渲染且不透明(默认)
        • '双面不透明': 1 双面渲染且不透明
        • '单面遮罩': 2 单面渲染并使用遮罩
        • '双面遮罩': 3 双面渲染并使用遮罩
        • '单面透明': 4 单面渲染且透明
        • '双面透明': 5 双面渲染且透明
        • '单面未遮挡透明': 6 单面渲染,未被遮挡部分透明
        • '双面未遮挡透明': 7 双面渲染,未被遮挡部分透明
      • rotation: ReactiveVariable<ESJVector3D>

        姿态 [h,p,r]

      • rotationOffset: ReactiveVariable<ESJVector3D>

        3D旋转偏移,格式为[pitch,yaw,roll],默认无旋转

      • rotationType: number

        旋转类型枚举,定义了标签的旋转方式 默认值为1

        • '固定朝向': 1 标签保持固定的朝向 (默认)
        • '面向屏幕旋转':2 标签始终面向屏幕
        • '绕自身Z轴旋转':3 标签绕自身的Z轴进行旋转
      • scale: ReactiveVariable<ESJVector3D>

        缩放 [x,y,z]

      • screenRender: boolean

        是否启用屏幕渲染,默认true

      • show: boolean

        是否显示 默认true

      • size: ReactiveVariable<ESJVector2D>

        元素尺寸,格式为[width, height],默认100×100

      • sizeByContent: boolean

        是否根据内容自动调整大小,默认true

      • socketName: string

        UE 骨骼套接字名称,用于骨骼绑定

      • toDestroyFuncStr: undefined | string

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

      • updateFuncStr: undefined | string

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

      • widgetClass: string

        UE 提供的 Widget 信息

      • zOrder: number

        Z轴渲染顺序,数值越大越靠前

    • get editing(): boolean

      获取对象的编辑状态

      返回 boolean

      编辑状态

    • set editing(value: boolean): void

      设置对象的编辑状态

      参数

      • value: boolean

        编辑状态

      返回 void

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

      获取编辑状态改变事件

      返回 Listener<[boolean, boolean]>

      编辑状态改变事件

    • get flushEvent(): Event<[]>

      获取刷新对象事件。

      返回 Event<[]>

    • get flyInEvent(): Event<
          [duration: number, id: number, flyMode?: "default" | "uniform"],
      >

      获取飞入事件

      返回 Event<[duration: number, id: number, flyMode?: "default" | "uniform"]>

      飞入事件

    • get flyOverEvent(): Event<
          [id: number, mode: "error" | "cancelled" | "over", viewer: ESViewer],
      >

      获取飞行结束事件

      返回 Event<[id: number, mode: "error" | "cancelled" | "over", viewer: ESViewer]>

      飞行结束事件

    • get flyToDistance(): undefined | number

      获取飞向距离

      返回 undefined | number

      飞向距离

    • set flyToDistance(value: undefined | number): void

      设置飞向距离

      参数

      • value: undefined | number

        飞向距离

      返回 void

    • get flyToDistanceChanged(): Listener<
          [undefined | ESJFlyToParam, undefined | ESJFlyToParam],
      >

      获取飞向距离改变事件

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

      飞向距离改变事件

    • get flyToEvent(): Listener<
          [duration: number, id: number, flyMode?: "default" | "uniform"],
      >

      获取飞向事件

      返回 Listener<[duration: number, id: number, flyMode?: "default" | "uniform"]>

      飞向事件

    • get flyToFlyDuration(): undefined | number

      获取飞向持续时间

      返回 undefined | number

      飞向持续时间

    • set flyToFlyDuration(value: undefined | number): void

      设置飞向持续时间

      参数

      • value: undefined | number

        飞向持续时间

      返回 void

    • get flyToFlyDurationChanged(): Listener<
          [undefined | ESJFlyToParam, undefined | ESJFlyToParam],
      >

      获取飞向持续时间改变事件

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

      飞向持续时间改变事件

    • get flyToHDelta(): undefined | number

      获取飞向水平偏移量

      返回 undefined | number

      飞向水平偏移量

    • set flyToHDelta(value: undefined | number): void

      设置飞向水平偏移量

      参数

      • value: undefined | number

        飞向水平偏移量

      返回 void

    • get flyToHDeltaChanged(): Listener<
          [undefined | ESJFlyToParam, undefined | ESJFlyToParam],
      >

      获取飞向水平偏移量改变事件

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

      飞向水平偏移量改变事件

    • get flyToHeading(): undefined | number

      获取飞向航向

      返回 undefined | number

      飞向航向

    • set flyToHeading(value: undefined | number): void

      设置飞向航向

      参数

      • value: undefined | number

        飞向航向

      返回 void

    • get flyToHeadingChanged(): Listener<
          [undefined | ESJFlyToParam, undefined | ESJFlyToParam],
      >

      获取飞向航向改变事件

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

      飞向航向改变事件

    • get flyToPDelta(): undefined | number

      获取飞向垂直偏移量

      返回 undefined | number

      飞向垂直偏移量

    • set flyToPDelta(value: undefined | number): void

      设置飞向垂直偏移量

      参数

      • value: undefined | number

        飞向垂直偏移量

      返回 void

    • get flyToPDeltaChanged(): Listener<
          [undefined | ESJFlyToParam, undefined | ESJFlyToParam],
      >

      获取飞向垂直偏移量改变事件

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

      飞向垂直偏移量改变事件

    • get flyToPitch(): undefined | number

      获取飞向俯仰角

      返回 undefined | number

      飞向俯仰角

    • set flyToPitch(value: undefined | number): void

      设置飞向俯仰角

      参数

      • value: undefined | number

        飞向俯仰角

      返回 void

    • get flyToPitchChanged(): Listener<
          [undefined | ESJFlyToParam, undefined | ESJFlyToParam],
      >

      获取飞向俯仰角改变事件

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

      飞向俯仰角改变事件

    • get id(): string

      获取对象的唯一标识符。

      返回 string

    • get json(): JsonValue

      获取对象的 JSON 表示。

      返回 JsonValue

    • set json(value: JsonValue): void

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

      参数

      • value: JsonValue

        JSON 数据。

      返回 void

    • get parentID(): undefined | string

      返回 undefined | string

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

      参数

      • value: undefined | string

      返回 void

    • get parentIDChanged(): Listener<[undefined | string, undefined | string]>

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

    • get pickedEvent(): Event<[ESJPickedResult]>

      获取拾取事件

      返回 Event<[ESJPickedResult]>

      拾取事件

    • get smoothMoveEvent(): Event<[ESJVector3D, number]>

      获取平滑移动事件。

      返回 Event<[ESJVector3D, number]>

    • get smoothMoveKeepPitchEvent(): Event<[ESJVector3D, number]>

      获取保持俯仰角平滑移动事件。

      返回 Event<[ESJVector3D, number]>

    • get smoothMoveOnGroundEvent(): Event<[number, number, number, string]>

      获取贴地平滑移动事件。

      返回 Event<[number, number, number, string]>

    • get smoothMoveRelativelyEvent(): Event<[ESJVector3D, number]>

      获取相对平滑移动事件。

      返回 Event<[ESJVector3D, number]>

    • get smoothMoveRelativelyWithRotationEvent(): Event<
          [ESJVector3D, ESJVector3D, number],
      >

      获取相对平滑偏移到指定位置和姿态的事件。

      返回 Event<[ESJVector3D, ESJVector3D, number]>

    • get smoothMoveWithRotationEvent(): Event<[ESJVector3D, ESJVector3D, number]>

      获取平滑偏移到指定位置和姿态的事件。

      返回 Event<[ESJVector3D, ESJVector3D, number]>

    • get smoothMoveWithRotationOnGroundEvent(): Event<
          [ESJVector3D, number, number, number, string],
      >

      获取贴地平滑偏移到指定位置和姿态的事件。

      返回 Event<[ESJVector3D, number, number, number, string]>

    • get statusDis(): boolean

      获取对象是否禁用的状态。

      返回 boolean

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

      获取对象禁用状态改变的事件监听器。

      返回 Listener<[boolean, boolean]>

    • 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 widgetEvent(): Event<[ESJWidgetEventInfo]>

      获取小部件事件的访问器

      返回 Event<[ESJWidgetEventInfo]>

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

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

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

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

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

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

    方法

    • 弃用变量管理器 当弃用的属性发生变化时,会在控制台输出警告信息

      返回 void

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

      参数

      • viewer: ESViewer

        要添加对象的视口。

      返回 void

    • 自动落地。 先禁用碰撞检测,一段时间后触发自动落地事件并恢复碰撞检测状态。

      返回 void

    • 触发计算飞入参数事件

      返回 void

    • 触发计算飞向参数事件

      返回 void

    • 调用指定名称的函数,并传入参数,返回一个 Promise,在 10 秒内等待结果,超时则返回 undefined。

      参数

      • fn: string

        要调用的函数名。

      • param: { [k: string]: any }

        传递给函数的参数对象。

      返回 Promise<unknown>

      一个 Promise,解析为函数调用的结果或 undefined。

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

      参数

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

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

      返回 () => void

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

    • 清空飞入参数

      返回 void

    • 清空飞向参数

      返回 void

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

      返回 void

    • 触发飞入事件

      参数

      • duration: number = 1

        飞入持续时间,默认为 1

      返回 void

    • 触发飞向事件

      参数

      • duration: number = 1

        飞向持续时间,默认为 1

      返回 void

    • 获取对象的边界球

      参数

      返回 Promise<
          | undefined
          | { center?: [number, number, number]; radius?: number; tips?: string },
      >

      包含边界球信息的 Promise

    • 重写方法,获取 ES 属性。

      返回 {
          basic: Property[];
          coordinate: Property[];
          dataSource: Property[];
          defaultMenu: string;
          general: Property[];
          location: Property[];
          style: Property[];
      }

      包含 ES 属性的对象。

    • 重写方法,获取属性列表。

      参数

      • 可选language: string

        语言选项,可选。

      返回 Property[]

      属性列表数组。

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

      参数

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

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

      返回 void

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

      参数

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

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

      返回 void

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

      参数

      • viewer: ESViewer

        要移除对象的视口。

      返回 void

    • 平滑移动到指定位置。

      参数

      • Destination: ESJVector3D

        目标位置,格式为[经度, 纬度, 高度]

      • Time: number

        平滑移动所需的时间,单位为秒

      返回 void

    • 保持俯仰角平滑移动到指定位置。

      参数

      • Destination: ESJVector3D

        目标位置,格式为[经度, 纬度, 高度]

      • Time: number

        平滑移动所需的时间,单位为秒

      返回 void

    • 贴地平滑移动。

      参数

      • Lon: number

        目标位置的经度

      • Lat: number

        目标位置的纬度

      • Time: number

        平滑移动所需的时间,单位为秒

      • Ground: string

        地面类型,UE特有属性

      返回 void

    • 相对平滑移动。

      参数

      • RelativePosition: ESJVector3D

        相对位置,格式为[经度, 纬度, 高度]

      • Time: number

        平滑移动所需的时间,单位为秒

      返回 void

    • 相对平滑偏移到指定位置和姿态。

      参数

      • RelativePosition: ESJVector3D

        相对位置,格式为[经度, 纬度, 高度]

      • NewRotation: ESJVector3D

        目标姿态,格式为[偏航角, 俯仰角, 翻转角]

      • Time: number

        平滑移动所需的时间,单位为秒

      返回 void

    • 平滑偏移到指定位置和姿态。

      参数

      • Destination: ESJVector3D

        目标位置,格式为[经度, 纬度, 高度]

      • NewRotation: ESJVector3D

        目标姿态,格式为[偏航角, 俯仰角, 翻转角]

      • Time: number

        平滑移动所需的时间,单位为秒

      返回 void

    • 贴地平滑偏移到指定位置和姿态。

      参数

      • NewRotation: ESJVector3D

        目标姿态,格式为[偏航角, 俯仰角, 翻转角]

      • Lon: number

        目标位置的经度

      • Lat: number

        目标位置的纬度

      • Time: number

        平滑移动所需的时间,单位为秒

      • Ground: string

        地面类型,ue特有属性

      返回 void

    • 获取当前对象支持的编辑模式

      返回 any

      支持的编辑模式数组

    • 更新对象的编辑模式。 根据 editingBindMode 的值,设置不同的编辑模式,并启动编辑。

      返回 void

    MMNEPVFCICPMFPCPTTAAATR