Interface FiveActionVueCallbacks

Five 命令集合

interface FiveActionVueCallbacks {
    getPixels(x: number, y: number, width: number, height: number, pixelRatio?: number): Uint8Array;
    needsRender(): void;
    preloadPano(pano: number | Pano | `${string}[${number}]`, callback?: ((costs: number) => void)): Promise<number>;
    project2d(vector3: Vector3, testModel?: boolean): Vector2;
    render(callback?: (() => void)): void;
    updateCamera(pose: Pose, duration: number): Promise<void>;
}

Methods

  • 获取画面中的像素颜色

    Parameters

    • x: number

      获取像素区域的起始坐标 x

    • y: number

      获取像素区域的起始坐标 y

    • width: number

      获取像素区域的宽度

    • height: number

      获取像素区域的高度

    • OptionalpixelRatio: number

      获取区域的像素比

    Returns Uint8Array

    rgba颜色平铺的 Uint8Array

  • 下一帧渲染

    Returns void

    调用 render()needsRender() 均可在按需渲染时,使得画面渲染一次 区别在于:

    • needsRender() 为在下帧渲染画面
    • render() 在当前帧渲染画面 推荐使用 needsRender(), 可以更加流畅。但是如果需要截图等同步操作,可以使用 render()
  • 预加载点位图片资源

    Parameters

    • pano: number | Pano | `${string}[${number}]`

      观察点

    • Optionalcallback: ((costs: number) => void)

      加载完成回调, 并传递加载用时。

        • (costs): void
        • Parameters

          • costs: number

          Returns void

    Returns Promise<number>

    加载完成的 Promise 参数同 callback

  • 计算三维空间的点对应到屏幕的二维坐标

    Parameters

    • vector3: Vector3
    • OptionaltestModel: boolean

    Returns Vector2

    调用 project2d()useFiveProject2d() 均可用于计算三维空间的点对应到屏幕的二维坐标 区别在于:

    • project2d() 只计算一次,入参改变或 cameraUpdate 时 不会更新值
    • useFiveProject2d() 通过 watch 监听入参和 cameraUpdate 变化,自动更新返回值
  • 强制渲染

    Parameters

    • Optionalcallback: (() => void)

      渲染完成回调

        • (): void
        • Returns void

    Returns void

    调用 render()needsRender() 均可在按需渲染时,使得画面渲染一次 区别在于:

    • needsRender() 为在下帧渲染画面
    • render() 在当前帧渲染画面 推荐使用 needsRender(), 可以更加流畅。但是如果需要截图等同步操作,可以使用 render()
  • 移动相机。(不触发点位移动)

    Parameters

    • pose: Pose

      相机目标位置

    • duration: number

      动画触发的时常

    Returns Promise<void>

    Promise 是否移动成功

    如果动画中途被打断(用户触发行为,或者调用 setState, load, changeMode)的等 会 Promise.reject。运动完成则 Promise.resolve