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

    ESVisualObject 类是一个抽象类,用于表示场景中的可视化对象。 该类继承自 ESSceneObject 类,并提供了编辑模式、飞行事件、拾取事件等核心功能。 https://c0yh9tnn0na.feishu.cn/wiki/DpH6wv6rTiKQnakg8n8cdAKMnVd 核心功能包括:

    • 支持编辑模式的管理和获取
    • 编辑状态的管理和事件触发
    • 飞行事件(飞入、飞向、飞行结束)的触发和监听
    • 拾取事件的触发和监听
    • 计算飞行参数事件
    • 获取对象的边界球
    • 管理和获取对象的属性

    使用示例:

    构造函数参数:

    • id:对象的唯一标识,类型为 string | undefined

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

    • _deprecated 属性用于管理弃用的变量,当这些变量发生变化时会输出警告信息。

    层级 (查看层级一览)

    索引

    构造函数

    属性

    _deprecated accessToken accessTokenChanged accessTokenReact allowPicking allowPickingChanged allowPickingReact collision collisionChanged collisionReact czmAlpha czmAlphaChanged czmAlphaReact czmBrightness czmBrightnessChanged czmBrightnessReact czmContrast czmContrastChanged czmContrastReact czmGamma czmGammaChanged czmGammaReact czmHue czmHueChanged czmHueReact czmSaturation czmSaturationChanged czmSaturationReact czmSplitDirection czmSplitDirectionChanged czmSplitDirectionReact devTags devTagsChanged devTagsReact editingBindMode editingID execOnceFuncStr execOnceFuncStrChanged execOnceFuncStrReact extras extrasChanged extrasReact flyInParam flyInParamChanged flyInParamReact flyToParam flyToParamChanged flyToParamReact heightReference heightReferenceChanged heightReferenceReact maximumLevel maximumLevelChanged maximumLevelReact minimumLevel minimumLevelChanged minimumLevelReact name nameChanged nameReact opacity opacityChanged opacityReact rectangle rectangleChanged rectangleReact ref refChanged refReact scheme schemeChanged schemeReact show showChanged showReact splitDirection splitDirectionChanged splitDirectionReact style styleChanged styleReact tileSize tileSizeChanged tileSizeReact toDestroyFuncStr toDestroyFuncStrChanged toDestroyFuncStrReact updateFuncStr updateFuncStrChanged updateFuncStrReact url urlChanged urlReact useCalcFlyToParamInESObjectWithLocation zIndex zIndexChanged zIndexReact _lastFlyInId _lastFlyToId _lastMemId context create createFromClass createFromJson createFromUrl defaultFlyInParam defaultFlyToParam defaults destroySceneObject getEnv getSceneObj getSceneObjById getSceneObject getSceneObjectById getStrFromEnv innerRegister setEnv supportEditingModes type

    访问器

    方法

    构造函数

    属性

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

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

    accessToken: string = ""
    accessTokenChanged: Listener<[string, string]>
    accessTokenReact: ReactiveVariable<string>
    allowPicking: boolean = false

    是否允许拾取 默认false

    allowPickingChanged: Listener<[boolean, boolean]>
    allowPickingReact: ReactiveVariable<false> | ReactiveVariable<true>
    collision: boolean = true

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

    collisionChanged: Listener<[boolean, boolean]>
    collisionReact: ReactiveVariable<false> | ReactiveVariable<true>
    czmAlpha: number = 1.0

    czm 透明度

    未来会移除,请使用opacity代替

    czmAlphaChanged: Listener<[number, number]>
    czmAlphaReact: ReactiveVariable<number>
    czmBrightness: number = 1.0

    czm 亮度

    czmBrightnessChanged: Listener<[number, number]>
    czmBrightnessReact: ReactiveVariable<number>
    czmContrast: number = 1.0

    czm 对比度

    czmContrastChanged: Listener<[number, number]>
    czmContrastReact: ReactiveVariable<number>
    czmGamma: number = 1.0

    czm 伽马值

    czmGammaChanged: Listener<[number, number]>
    czmGammaReact: ReactiveVariable<number>
    czmHue: number = 0.0

    czm 色相

    czmHueChanged: Listener<[number, number]>
    czmHueReact: ReactiveVariable<number>
    czmSaturation: number = 1.0

    czm 饱和度

    czmSaturationChanged: Listener<[number, number]>
    czmSaturationReact: ReactiveVariable<number>
    czmSplitDirection: ESJSplitDirectionType = ...

    分割方向

    未来会移除,请使用splitDirection代替

    czmSplitDirectionChanged: Listener<
        [ESJSplitDirectionType, ESJSplitDirectionType],
    >
    czmSplitDirectionReact:
        | ReactiveVariable<"NONE">
        | ReactiveVariable<"LEFT">
        | ReactiveVariable<"RIGHT">
    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]>
    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>
    heightReference: "NONE" | "RELATIVE_TO_GROUND" | "CLAMP_TO_GROUND" = ...

    高度参考模式,可选 'NONE'、'RELATIVE_TO_GROUND' 或 'CLAMP_TO_GROUND'。

    "NONE"
    
    heightReferenceChanged: Listener<
        [
            "NONE"
            | "RELATIVE_TO_GROUND"
            | "CLAMP_TO_GROUND",
            "NONE" | "RELATIVE_TO_GROUND" | "CLAMP_TO_GROUND",
        ],
    >
    heightReferenceReact:
        | ReactiveVariable<"NONE">
        | ReactiveVariable<"RELATIVE_TO_GROUND">
        | ReactiveVariable<"CLAMP_TO_GROUND">
    maximumLevel: number = 18
    maximumLevelChanged: Listener<[number, number]>
    maximumLevelReact: ReactiveVariable<number>
    minimumLevel: number = 0
    minimumLevelChanged: Listener<[number, number]>
    minimumLevelReact: ReactiveVariable<number>
    name: string = '未命名场景对象'

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

    nameChanged: Listener<[string, string]>
    nameReact: ReactiveVariable<string>
    opacity: number = 1

    透明度

    opacityChanged: Listener<[number, number]>
    opacityReact: ReactiveVariable<number>
    rectangle: undefined | ESJVector4D = ...
    rectangleChanged: Listener<[undefined | ESJVector4D, undefined | ESJVector4D]>
    rectangleReact: ReactiveVariable<undefined | ESJVector4D>
    ref: undefined | string = ...

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

    refChanged: Listener<[undefined | string, undefined | string]>
    refReact: ReactiveVariable<string> | ReactiveVariable<undefined>
    scheme: undefined | "tms" | "xyz" = ...
    schemeChanged: Listener<[undefined | "tms" | "xyz", undefined | "tms" | "xyz"]>
    schemeReact: ReactiveVariable<undefined | "tms" | "xyz">
    show: boolean = true

    是否显示 默认true

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

    分割方向

    splitDirectionReact:
        | ReactiveVariable<"NONE">
        | ReactiveVariable<"LEFT">
        | ReactiveVariable<"RIGHT">
    style: undefined | { [xx: string]: any }[] = ...
    styleChanged: Listener<
        [
            undefined
            | { [xx: string]: any }[],
            undefined | { [xx: string]: any }[],
        ],
    >
    styleReact: ReactiveVariable<undefined | { [xx: string]: any }[]>
    tileSize: number = 256
    tileSizeChanged: Listener<[number, number]>
    tileSizeReact: ReactiveVariable<number>
    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>
    url: string | { [xx: string]: any } = ...
    urlChanged: Listener<
        [string | { [xx: string]: any }, string | { [xx: string]: any }],
    >
    urlReact: ReactiveVariable<string | { [xx: string]: any }>
    useCalcFlyToParamInESObjectWithLocation: boolean = false

    是否使用 ESObjectWithLocation 类中的 calcFlyToParam 方法

    zIndex: number = 0
    zIndexChanged: Listener<[number, number]>
    zIndexReact: ReactiveVariable<number>
    _lastFlyInId: number = 0

    最后一次飞入操作的 ID

    _lastFlyToId: number = 0

    最后一次飞向操作的 ID

    _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 创建场景对象的方法。

    defaultFlyInParam: {
        flyDuration: number;
        position: number[];
        rotation: number[];
    } = ...
    defaultFlyToParam: {
        distance: number;
        flyDuration: number;
        hDelta: number;
        heading: number;
        pDelta: number;
        pitch: number;
    } = ...
    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

    环境变量的键。

    环境变量的值。

    supportEditingModes: string[] = []

    用于记录支持的编辑类型

    type: string = ...

    访问器

    • 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 calcFlyInParamEvent(): Listener

      获取计算飞入参数事件

      返回 Listener

      计算飞入参数事件

    • get calcFlyToParamEvent(): Listener

      获取计算飞向参数事件

      返回 Listener

      计算飞向参数事件

    • 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 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 表示。省略默认值属性,精简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 pickedEvent(): Event<[ESJPickedResult]>

      获取拾取事件

      返回 Event<[ESJPickedResult]>

      拾取事件

    • 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 }

    方法

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

      返回 void

    • 参数

      • disposeFunc: () => void

      返回 () => void

    • 类型参数

      • T extends { destroy(): void }

      参数

      • obj: T

      返回 T

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

      参数

      • viewer: ESViewer

        要添加对象的视口。

      返回 void

    • 参数

      • disposeFunc: () => void

      返回 () => void

    • 类型参数

      • T extends { destroy(): void }

      参数

      • obj: T

      返回 T

    • 触发计算飞入参数事件

      返回 void

    • 触发计算飞向参数事件

      返回 void

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

      参数

      • 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

    • 清空飞向参数

      返回 void

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

      返回 void

    • 触发飞入事件

      参数

      • duration: number = 1

        飞入持续时间,默认为 1

      返回 void

    • 触发飞向事件

      参数

      • duration: number = 1

        飞向持续时间,默认为 1

      返回 void

    • 获取对象的边界球

      参数

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

      包含边界球信息的 Promise

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

      参数

      • 可选language: string

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

      返回 Property[]

      属性列表。

    • 返回 boolean

    • 返回 boolean

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

      参数

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

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

      返回 void

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

      参数

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

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

      返回 void

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

      参数

      • viewer: ESViewer

        要移除对象的视口。

      返回 void

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

      返回 any

      支持的编辑模式数组

    • 类型参数

      • T extends { tryDestroy(): void }

      参数

      • obj: T

      返回 T

    • 返回 undefined

    • 类型参数

      • T extends { tryDestroy(): void }

      参数

      • obj: T

      返回 T

    • 更新编辑状态的方法,具体实现由子类完成

      返回 void

    • 返回 {
          accessToken: string;
          allowPicking: boolean;
          collision: boolean;
          czmAlpha: number;
          czmBrightness: number;
          czmContrast: number;
          czmGamma: number;
          czmHue: number;
          czmSaturation: number;
          czmSplitDirection: ESJSplitDirectionType;
          devTags: ReactiveVariable<undefined | string[]>;
          execOnceFuncStr: undefined | string;
          extras: ReactiveVariable<JsonValue>;
          flyInParam: ReactiveVariable<undefined | ESJFlyInParam>;
          flyToParam: ReactiveVariable<undefined | ESJFlyToParam>;
          heightReference: "NONE" | "RELATIVE_TO_GROUND" | "CLAMP_TO_GROUND";
          maximumLevel: number;
          minimumLevel: number;
          name: string;
          opacity: number;
          rectangle: ReactiveVariable<undefined | ESJVector4D>;
          ref: undefined | string;
          scheme: ReactiveVariable<undefined | "tms" | "xyz">;
          show: boolean;
          splitDirection: ESJSplitDirectionType;
          style: ReactiveVariable<undefined | { [xx: string]: any }[]>;
          tileSize: number;
          toDestroyFuncStr: undefined | string;
          updateFuncStr: undefined | string;
          url: ReactiveVariable<string | { [xx: string]: any }>;
          zIndex: number;
      }

      • accessToken: string
      • allowPicking: boolean

        是否允许拾取 默认false

      • collision: boolean

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

      • czmAlpha: number

        czm 透明度

        未来会移除,请使用opacity代替

      • czmBrightness: number

        czm 亮度

      • czmContrast: number

        czm 对比度

      • czmGamma: number

        czm 伽马值

      • czmHue: number

        czm 色相

      • czmSaturation: number

        czm 饱和度

      • czmSplitDirection: ESJSplitDirectionType

        分割方向

        未来会移除,请使用splitDirection代替

      • devTags: ReactiveVariable<undefined | string[]>

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

      • execOnceFuncStr: undefined | string

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

      • extras: ReactiveVariable<JsonValue>

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

      • flyInParam: ReactiveVariable<undefined | ESJFlyInParam>

        飞入参数

      • flyToParam: ReactiveVariable<undefined | ESJFlyToParam>

        飞向参数

      • heightReference: "NONE" | "RELATIVE_TO_GROUND" | "CLAMP_TO_GROUND"

        高度参考模式,可选 'NONE'、'RELATIVE_TO_GROUND' 或 'CLAMP_TO_GROUND'。

        "NONE"
        
      • maximumLevel: number
      • minimumLevel: number
      • name: string

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

      • opacity: number

        透明度

      • rectangle: ReactiveVariable<undefined | ESJVector4D>
      • ref: undefined | string

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

      • scheme: ReactiveVariable<undefined | "tms" | "xyz">
      • show: boolean

        是否显示 默认true

      • splitDirection: ESJSplitDirectionType

        分割方向

      • style: ReactiveVariable<undefined | { [xx: string]: any }[]>
      • tileSize: number
      • toDestroyFuncStr: undefined | string

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

      • updateFuncStr: undefined | string

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

      • url: ReactiveVariable<string | { [xx: string]: any }>
      • zIndex: number
    • 获取父类的类型,用于创建对象时对象本身没有实现类,则使用父类的实现类,一直向上寻找,直到ESSceneObject的实现类

      类型参数

      返回 T

      父类的类型

    • 完善版注册方法

      类型参数

      参数

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

      返回 string