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

    类 ESPathImpl

    ESPathImpl 类表示地理路径的实现,包含路径的时间、位置、旋转等信息,以及路径的计算和操作方法。

    层级 (查看层级一览)

    索引

    构造函数

    属性

    访问器

    方法

    构造函数

    属性

    allowPicking: boolean = false

    一个布尔属性,指定是否允许拾取折线,默认值为 false。

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

    折线的弧线类型,可选值为 'GEODESIC',默认值为 'GEODESIC'。

    arcTypeChanged: Listener<[ESJArcType, ESJArcType]>
    arcTypeReact:
        | ReactiveVariable<"NONE">
        | ReactiveVariable<"GEODESIC">
        | ReactiveVariable<"RHUMB">
    autoComputeTimeFromTimePosRots: boolean = true

    一个布尔属性,指定是否根据时间-位置-旋转数据自动计算时间信息,默认值为 true。

    autoComputeTimeFromTimePosRotsChanged: Listener<[boolean, boolean]>
    autoComputeTimeFromTimePosRotsReact:
        | ReactiveVariable<false>
        | ReactiveVariable<true>
    color: [number, number, number, number] = ...

    折线的颜色,使用响应式数组表示,格式为 [R, G, B, A],默认值为 [1, 1, 1, 1]。

    colorChanged: Listener<
        [[number, number, number, number], [number, number, number, number]],
    >
    colorReact: ReactiveVariable<[number, number, number, number]>
    currentPoiShow: boolean = true

    一个布尔属性,指定当前兴趣点的可见性,默认值为 true。

    currentPoiShowChanged: Listener<[boolean, boolean]>
    currentPoiShowReact: ReactiveVariable<false> | ReactiveVariable<true>
    currentTime: number = 0

    当前时间,以数字表示,默认值为 0。

    currentTimeChanged: Listener<[number, number]>
    currentTimeReact: ReactiveVariable<number>
    dashLength: number = 16

    虚线的长度,默认值为 16。

    dashLengthChanged: Listener<[number, number]>
    dashLengthReact: ReactiveVariable<number>
    dashPattern: number = 255

    虚线的模式,默认值为 255。

    dashPatternChanged: Listener<[number, number]>
    dashPatternReact: ReactiveVariable<number>
    dataText: undefined | string = ...

    用于解析数据的文本,默认值为 undefined。

    dataTextChanged: Listener<[undefined | string, undefined | string]>
    dataTextReact: ReactiveVariable<string> | ReactiveVariable<undefined>
    dataUri: string = ""

    需要加载的路径的 URI,默认值为空字符串。

    dataUriChanged: Listener<[string, string]>
    dataUriReact: ReactiveVariable<string>
    debug: boolean = false

    一个布尔属性,指定是否开启调试模式,默认值为 false。

    debugChanged: Listener<[boolean, boolean]>
    debugReact: ReactiveVariable<false> | ReactiveVariable<true>
    depthTest: boolean = false

    一个布尔属性,指定折线是否进行深度测试,默认值为 false。

    depthTestChanged: Listener<[boolean, boolean]>
    depthTestReact: ReactiveVariable<false> | ReactiveVariable<true>
    duration: undefined | number = ...

    持续时间,以数字表示,默认值为 undefined。

    durationChanged: Listener<[undefined | number, undefined | number]>
    durationReact: ReactiveVariable<number> | ReactiveVariable<undefined>
    gapColor: [number, number, number, number] = ...

    虚线的间隙颜色,使用响应式数组表示,格式为 [R, G, B, A],默认值为 [0, 0, 0, 0]。

    gapColorChanged: Listener<
        [[number, number, number, number], [number, number, number, number]],
    >
    gapColorReact: ReactiveVariable<[number, number, number, number]>
    ground: boolean = false

    一个布尔属性,指定折线是否贴地,默认值为 false。

    groundChanged: Listener<[boolean, boolean]>
    groundReact: ReactiveVariable<false> | ReactiveVariable<true>
    hasDash: boolean = false

    一个布尔属性,指定折线是否有虚线效果,默认值为 false。

    hasDashChanged: Listener<[boolean, boolean]>
    hasDashReact: ReactiveVariable<false> | ReactiveVariable<true>
    leadTime: number = 0

    领先时间,单位未指定,默认值为 0。

    leadTimeChanged: Listener<[number, number]>
    leadTimeReact: ReactiveVariable<number>
    loop: boolean = false

    一个布尔属性,指定是否循环播放,默认值为 false。

    loopChanged: Listener<[boolean, boolean]>
    loopReact: ReactiveVariable<false> | ReactiveVariable<true>
    playing: boolean = false

    一个布尔属性,指定是否正在播放,默认值为 false。

    playingChanged: Listener<[boolean, boolean]>
    playingReact: ReactiveVariable<false> | ReactiveVariable<true>
    polylineShow: boolean = true

    一个布尔属性,指定折线的可见性,默认值为 true。

    polylineShowChanged: Listener<[boolean, boolean]>
    polylineShowReact: ReactiveVariable<false> | ReactiveVariable<true>
    rotLerpMode: RotLerpModeType = ...

    姿态的插值方式,可选值为 'Lerp'、'Prev' 或 'Next',默认值为 'Lerp'。

    rotLerpModeChanged: Listener<[RotLerpModeType, RotLerpModeType]>
    rotLerpModeReact:
        | ReactiveVariable<"Lerp">
        | ReactiveVariable<"Prev">
        | ReactiveVariable<"Next">
    show: boolean = false

    一个布尔属性,指定对象的可见性,默认值为 false。

    showChanged: Listener<[boolean, boolean]>
    showReact: ReactiveVariable<false> | ReactiveVariable<true>
    speed: number = 1

    播放速度,默认值为 1。

    speedChanged: Listener<[number, number]>
    speedReact: ReactiveVariable<number>
    startTime: undefined | number = ...

    开始时间,以数字表示,默认值为 undefined。

    startTimeChanged: Listener<[undefined | number, undefined | number]>
    startTimeReact: ReactiveVariable<number> | ReactiveVariable<undefined>
    stopTime: undefined | number = ...

    结束时间,以数字表示,默认值为 undefined。

    stopTimeChanged: Listener<[undefined | number, undefined | number]>
    stopTimeReact: ReactiveVariable<number> | ReactiveVariable<undefined>
    timePosRots: undefined | TimePosRotType[] = ...

    时间-位置-旋转数据数组,使用响应式深度数组处理,用于存储路径的时间、位置和旋转信息。 比较函数用于判断两个元素是否相等,映射函数用于处理元素以确保格式正确。

    timePosRotsChanged: Listener<
        [undefined | TimePosRotType[], undefined | TimePosRotType[]],
    >
    timePosRotsReact: ReactiveVariable<undefined | TimePosRotType[]>
    trailTime: number = 0

    滞后时间,单位未指定,默认值为 0。

    trailTimeChanged: Listener<[number, number]>
    trailTimeReact: ReactiveVariable<number>
    width: number = 1

    折线的宽度,以像素为单位,默认值为 1。

    widthChanged: Listener<[number, number]>
    widthReact: ReactiveVariable<number>
    _lastMemId: number = -1
    computeRotIfUndefinedUsingLerp: (
        timePosRots: TimePosRotType[],
        force?: boolean,
    ) => TimePosRotType[] = computeRotIfUndefinedUsingLerp

    使用线性插值计算未定义的旋转。

    类型声明

      • (timePosRots: TimePosRotType[], force?: boolean): TimePosRotType[]
      • 使用线性插值计算未定义的旋转信息。 结合使用前一个线段和下一个线段计算的旋转信息进行线性插值。

        参数

        • timePosRots: TimePosRotType[]

          包含时间、位置和旋转信息的数组。

        • force: boolean = false

          是否强制重新计算旋转信息,即使旋转信息已经定义。默认为 false。

        返回 TimePosRotType[]

        包含计算后旋转信息的新数组。

    computeRotIfUndefinedUsingNextLine: (
        timePosRots: TimePosRotType[],
        force?: boolean,
    ) => TimePosRotType[] = computeRotIfUndefinedUsingNextLine

    使用后一条线段计算未定义的旋转。

    类型声明

      • (timePosRots: TimePosRotType[], force?: boolean): TimePosRotType[]
      • 使用下一个线段计算未定义的旋转信息。 如果某个时间点的旋转信息未定义,则根据当前时间点和下一个时间点的位置计算旋转信息。

        参数

        • timePosRots: TimePosRotType[]

          包含时间、位置和旋转信息的数组。

        • force: boolean = false

          是否强制重新计算旋转信息,即使旋转信息已经定义。默认为 false。

        返回 TimePosRotType[]

        包含计算后旋转信息的新数组。

    computeRotIfUndefinedUsingPrevLine: (
        timePosRots: TimePosRotType[],
        force?: boolean,
    ) => TimePosRotType[] = computeRotIfUndefinedUsingPrevLine

    使用前一条线段计算未定义的旋转。

    类型声明

      • (timePosRots: TimePosRotType[], force?: boolean): TimePosRotType[]
      • 使用前一个线段计算未定义的旋转信息。 如果某个时间点的旋转信息未定义,则根据前一个时间点和当前时间点的位置计算旋转信息。

        参数

        • timePosRots: TimePosRotType[]

          包含时间、位置和旋转信息的数组。

        • force: boolean = false

          是否强制重新计算旋转信息,即使旋转信息已经定义。默认为 false。

        返回 TimePosRotType[]

        包含计算后旋转信息的新数组。

    defaults: {
        dataText: string;
        duration: number;
        loop: boolean;
        playing: boolean;
        startTime: number;
        stopTime: number;
        timePosRots: TimePosRotType[];
    } = ...

    默认属性。

    getLeftRotation: (
        timePosRots: TimePosRotType[],
        index: number,
    ) => [undefined | [number, number, number], number] = getLeftRotation

    获取左旋转。

    类型声明

      • (
            timePosRots: TimePosRotType[],
            index: number,
        ): [undefined | [number, number, number], number]
      • 控制点的rotation有可能为undefined,这里是获取左边最近的一个控制点的rotation

        参数

        • timePosRots: TimePosRotType[]

          包含时间、位置和旋转信息的数组

        • index: number

          当前索引位置

        返回 [undefined | [number, number, number], number]

        返回一个数组,第一个元素为左边最近控制点的旋转信息(可能为undefined),第二个元素为该控制点的索引

    getRightRotation: (
        timePosRots: TimePosRotType[],
        index: number,
    ) => [undefined | [number, number, number], number] = getRightRotation

    获取右旋转。

    类型声明

      • (
            timePosRots: TimePosRotType[],
            index: number,
        ): [undefined | [number, number, number], number]
      • 控制点的rotation有可能为undefined,这里是获取右边最近的一个控制点的rotation

        参数

        • timePosRots: TimePosRotType[]

          包含时间、位置和旋转信息的数组

        • index: number

          当前索引位置

        返回 [undefined | [number, number, number], number]

        返回一个数组,第一个元素为右边最近控制点的旋转信息(可能为undefined),第二个元素为该控制点的索引

    parseData: (text: string) => undefined | TimePosRotType[] = parseData

    解析数据的静态方法。

    类型声明

      • (text: string): undefined | TimePosRotType[]
      • 解析输入的文本数据,将其转换为时间、位置和旋转信息数组。

        参数

        • text: string

          输入的文本数据,可以是JSON格式或每行包含7个数字的文本。

        返回 undefined | TimePosRotType[]

        • 解析成功时返回时间、位置和旋转信息数组,否则返回undefined。
        • 如果输入的JSON格式不正确,抛出解析错误的异常。
    timePosRotsMd: string = timePosRotsMd

    时间-位置-旋转数据的元数据。

    访问器

    • get accumDistances(): number[]

      获取累积距离数组。如果累积距离为脏数据,则重新计算。

      返回 number[]

    • get accumDistancesChanged(): Event<[]>

      获取累积距离发生变化的事件。

      返回 Event<[]>

    • get currentIndex(): undefined | number

      获取当前索引。

      返回 undefined | number

    • get currentIndexChanged(): Listener<
          [undefined | CurrentInfoType, undefined | CurrentInfoType],
      >

      当前索引发生变化的事件。

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

    • get currentInfo(): undefined | CurrentInfoType

      获取当前信息。

      返回 undefined | CurrentInfoType

    • get currentInfoChanged(): Listener<
          [undefined | CurrentInfoType, undefined | CurrentInfoType],
      >

      当前信息发生变化的事件。

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

    • get currentPosition(): undefined | [number, number, number]

      获取当前位置。

      返回 undefined | [number, number, number]

    • get currentPositionChanged(): Listener<
          [undefined | CurrentInfoType, undefined | CurrentInfoType],
      >

      当前位置发生变化的事件。

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

    • get currentRotation(): undefined | [number, number, number]

      获取当前旋转。

      返回 undefined | [number, number, number]

    • get currentRotationChanged(): Listener<
          [undefined | CurrentInfoType, undefined | CurrentInfoType],
      >

      当前旋转发生变化的事件。

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

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

      返回 (() => void)[]

    • get flyToEvent(): Listener<[undefined | number]>

      获取飞行到指定位置的事件监听器。

      返回 Listener<[undefined | number]>

    • get getCurrentFunc(): undefined | GetCurrentFuncType

      获取获取当前信息的函数。

      返回 undefined | GetCurrentFuncType

    • set getCurrentFunc(value: undefined | GetCurrentFuncType): void

      设置获取当前信息的函数。

      参数

      • value: undefined | GetCurrentFuncType

        获取当前信息的函数。

      返回 void

    • get getCurrentFuncChanged(): Listener<
          [undefined | GetCurrentFuncType, undefined | GetCurrentFuncType],
      >

      获取当前信息的函数发生变化的事件。

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

    • get memId(): number

      返回 number

    • get player(): any

      获取播放器实例。

      返回 any

    • get ratio(): number

      获取播放进度比例。

      返回 number

    • set ratio(value: number): void

      设置播放进度比例。

      参数

      • value: number

        播放进度比例。

      返回 void

    • get ratioChanged(): any

      播放进度比例发生变化的事件。

      返回 any

    • get toDestroyEvent(): Listener

      返回 Listener

    • get totalDistance(): number

      获取总距离。

      返回 number

    • get totalDistanceChanged(): Event<[]>

      总距离发生变化的事件。

      返回 Event<[]>

    方法

    • 参数

      • disposeFunc: () => void

      返回 () => void

    • 类型参数

      • T extends { destroy(): void }

      参数

      • obj: T

      返回 T

    • 在控制点周边增加新的控制点。

      参数

      • intervalDistance: number[]

        间隔距离,单位是米。

      • reserveOrigin: boolean

        是否保留原控制点。

      返回 void

    • 参数

      • disposeFunc: () => void

      返回 () => void

    • 类型参数

      • T extends { destroy(): void }

      参数

      • obj: T

      返回 T

    • 参数

      • force: boolean = false

        即使rotation不是undefined,也会被强制赋值

      返回 void

      computeRotIfUndefined已弃用,请使用computeRotIfUndefinedUsingPrevLine

    • 使用线性插值计算未定义的旋转。

      参数

      • force: boolean = false

        即使旋转不是未定义的,也强制重新计算,默认为 false。

      返回 void

    • 使用后一条线段计算未定义的旋转。

      参数

      • force: boolean = false

        即使旋转不是未定义的,也强制重新计算,默认为 false。

      返回 void

    • 使用前一条线段计算未定义的旋转。

      参数

      • force: boolean = false

        即使旋转不是未定义的,也强制重新计算,默认为 false。

      返回 void

    • 根据时间-位置-旋转数据计算开始时间、结束时间和持续时间。

      返回 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

    • 触发飞行到指定位置的事件。

      参数

      • 可选duration: number

        飞行持续时间,可选。

      返回 void

    • 根据时间戳获取当前位置和旋转信息。

      参数

      • timeStamp: number

        时间戳。

      返回 undefined | CurrentInfoType

      当前位置和旋转信息。

    • 返回 boolean

    • 返回 boolean

    • 截取指定时间范围内的子路径。

      参数

      • startTimeStamp: number

        开始时间戳。

      • stopTimeStamp: number

        结束时间戳。

      返回 undefined | TimePosRotType[]

      子路径。

    • 类型参数

      • T extends { tryDestroy(): void }

      参数

      • obj: T

      返回 T

    • 返回 undefined

    • 类型参数

      • T extends { tryDestroy(): void }

      参数

      • obj: T

      返回 T