如视 Five SDK
    Preparing search index...

    Interface FiveInjectionTypes

    监听者模式

    new Subscribe<{
    "foo": [arg1: number, arg2: string],
    "bar": [arg: boolean],
    }>()
    interface FiveInjectionTypes {
        cameraDirection: Vector3;
        cameraRaycaster: Raycaster;
        currentObserver: WorkObserver;
        currentState: State;
        getPixels: {
            <
                T extends
                    Uint8Array<ArrayBufferLike>
                    | Uint8ClampedArray<ArrayBufferLike> = Uint8Array<ArrayBufferLike>,
            >(
                x: number,
                y: number,
                width: number,
                height: number,
                pixelRatio?: number,
                flipY?: boolean,
                buffer?: T,
            ): T;
            <
                T extends
                    Uint8Array<ArrayBufferLike>
                    | Uint8ClampedArray<ArrayBufferLike> = Uint8Array<ArrayBufferLike>,
            >(
                options: {
                    buffer?: T;
                    flipY?: boolean;
                    height: number;
                    helperVisible?: boolean;
                    pixelRatio?: number;
                    skipPanorama?: boolean;
                    width: number;
                    x: number;
                    y: number;
                },
            ): T;
        };
        helperVisible: boolean;
        intersectRaycaster: (
            raycaster: Raycaster,
            target?: Intersection[],
        ) => Intersection[];
        loadWork: (
            inputWork:
                | string
                | string[]
                | LooseWork
                | Work
                | Work[]
                | LooseWork[]
                | LooseWorkWithExtrinsics[]
                | Promise<
                    LooseWork
                    | Work
                    | Work[]
                    | LooseWork[]
                    | LooseWorkWithExtrinsics[],
                >,
            state?: "initial" | Partial<State> | "inherit",
            options?: number | FiveLoadOptions,
            userAction?: boolean,
        ) => Promise<void>;
        model: Model;
        modelReadyState: "Empty" | "Loaded";
        models: Models;
        needsRender: () => void;
        preloadPano: (
            pano: number | Pano | `${string}[${number}]`,
            callback?: (costs: number) => void,
        ) => Promise<number>;
        project2d: (vector: Vector3, testModel?: boolean) => Vector2;
        render: (callback?: () => void) => void;
        scene: Scene;
        setState: (
            state: Partial<State>,
            immediately?: boolean,
            userAction?: boolean,
        ) => void;
        showFloor: (floorIndex?: number) => void;
        shownFloor: number;
        state: State;
        toggleHelperVisible: (visible: boolean) => void;
        unsafe__fiveInstance: Five;
        updateCamera: (
            pose: Partial<Pose>,
            duration: number,
            userAction?: boolean,
        ) => Promise<void>;
        work: Work;
        works: Works;
        emit<
            K extends
                | "dispose"
                | "error"
                | "render"
                | "gesture.pan"
                | "gesture.tap"
                | "gesture.dbltap"
                | "gesture.press"
                | "gesture.pinch"
                | "gesture.mousewheel"
                | "gesture.mousemove"
                | "gesture.momentum"
                | "initAnimation.start"
                | "initAnimation.end"
                | "camera.update"
                | "intersect.update"
                | "pano.select"
                | "pano.request"
                | "pano.moveTo"
                | "pano.moving"
                | "pano.arrived"
                | "pano.cancel"
                | "pano.error"
                | "pano.texture.load"
                | "pano.texture.progress"
                | "pano.texture.success"
                | "pano.texture.error"
                | "pano.texture.abort"
                | "xr.session.end"
                | "xr.session.start"
                | "xr.gesture.tap"
                | "xr.gesture.press"
                | "xr.gesture.buttonUp"
                | "xr.gesture.buttonDown"
                | "xr.controller.update"
                | (keyof LegacyEventType)
                | "works.request"
                | "works.load"
                | "works.ready"
                | "state.set"
                | "state.change"
                | "state.synced"
                | "currentState.change"
                | "model.request"
                | "model.load"
                | "model.error"
                | "model.changeShownFloor"
                | "models.load"
                | "models.refined"
                | "render.prepare"
                | "mode.change.request"
                | "mode.change"
                | "helpers.visible"
                | "network.resource"
                | "fps",
        >(
            name: K,
            ...data: Parameters<EventTypes[K]>,
        ): boolean;
        hasListener(
            name:
                | "dispose"
                | "error"
                | "render"
                | "gesture.pan"
                | "gesture.tap"
                | "gesture.dbltap"
                | "gesture.press"
                | "gesture.pinch"
                | "gesture.mousewheel"
                | "gesture.mousemove"
                | "gesture.momentum"
                | "initAnimation.start"
                | "initAnimation.end"
                | "camera.update"
                | "intersect.update"
                | "pano.select"
                | "pano.request"
                | "pano.moveTo"
                | "pano.moving"
                | "pano.arrived"
                | "pano.cancel"
                | "pano.error"
                | "pano.texture.load"
                | "pano.texture.progress"
                | "pano.texture.success"
                | "pano.texture.error"
                | "pano.texture.abort"
                | "xr.session.end"
                | "xr.session.start"
                | "xr.gesture.tap"
                | "xr.gesture.press"
                | "xr.gesture.buttonUp"
                | "xr.gesture.buttonDown"
                | "xr.controller.update"
                | (keyof LegacyEventType)
                | "works.request"
                | "works.load"
                | "works.ready"
                | "state.set"
                | "state.change"
                | "state.synced"
                | "currentState.change"
                | "model.request"
                | "model.load"
                | "model.error"
                | "model.changeShownFloor"
                | "models.load"
                | "models.refined"
                | "render.prepare"
                | "mode.change.request"
                | "mode.change"
                | "helpers.visible"
                | "network.resource"
                | "fps",
        ): boolean;
        off<
            K extends
                | "dispose"
                | "error"
                | "render"
                | "gesture.pan"
                | "gesture.tap"
                | "gesture.dbltap"
                | "gesture.press"
                | "gesture.pinch"
                | "gesture.mousewheel"
                | "gesture.mousemove"
                | "gesture.momentum"
                | "initAnimation.start"
                | "initAnimation.end"
                | "camera.update"
                | "intersect.update"
                | "pano.select"
                | "pano.request"
                | "pano.moveTo"
                | "pano.moving"
                | "pano.arrived"
                | "pano.cancel"
                | "pano.error"
                | "pano.texture.load"
                | "pano.texture.progress"
                | "pano.texture.success"
                | "pano.texture.error"
                | "pano.texture.abort"
                | "xr.session.end"
                | "xr.session.start"
                | "xr.gesture.tap"
                | "xr.gesture.press"
                | "xr.gesture.buttonUp"
                | "xr.gesture.buttonDown"
                | "xr.controller.update"
                | (keyof LegacyEventType)
                | "works.request"
                | "works.load"
                | "works.ready"
                | "state.set"
                | "state.change"
                | "state.synced"
                | "currentState.change"
                | "model.request"
                | "model.load"
                | "model.error"
                | "model.changeShownFloor"
                | "models.load"
                | "models.refined"
                | "render.prepare"
                | "mode.change.request"
                | "mode.change"
                | "helpers.visible"
                | "network.resource"
                | "fps",
        >(
            name?: K,
            callback?: (
                ...args: Parameters<EventTypes[K]>,
            ) => ReturnType<EventTypes[K]>,
        ): void;
        on<
            K extends
                | "dispose"
                | "error"
                | "render"
                | "gesture.pan"
                | "gesture.tap"
                | "gesture.dbltap"
                | "gesture.press"
                | "gesture.pinch"
                | "gesture.mousewheel"
                | "gesture.mousemove"
                | "gesture.momentum"
                | "initAnimation.start"
                | "initAnimation.end"
                | "camera.update"
                | "intersect.update"
                | "pano.select"
                | "pano.request"
                | "pano.moveTo"
                | "pano.moving"
                | "pano.arrived"
                | "pano.cancel"
                | "pano.error"
                | "pano.texture.load"
                | "pano.texture.progress"
                | "pano.texture.success"
                | "pano.texture.error"
                | "pano.texture.abort"
                | "xr.session.end"
                | "xr.session.start"
                | "xr.gesture.tap"
                | "xr.gesture.press"
                | "xr.gesture.buttonUp"
                | "xr.gesture.buttonDown"
                | "xr.controller.update"
                | (keyof LegacyEventType)
                | "works.request"
                | "works.load"
                | "works.ready"
                | "state.set"
                | "state.change"
                | "state.synced"
                | "currentState.change"
                | "model.request"
                | "model.load"
                | "model.error"
                | "model.changeShownFloor"
                | "models.load"
                | "models.refined"
                | "render.prepare"
                | "mode.change.request"
                | "mode.change"
                | "helpers.visible"
                | "network.resource"
                | "fps",
        >(
            name: K,
            callback: (
                ...args: Parameters<EventTypes[K]>,
            ) => ReturnType<EventTypes[K]>,
            once?: boolean,
        ): () => void;
        once<
            K extends
                | "dispose"
                | "error"
                | "render"
                | "gesture.pan"
                | "gesture.tap"
                | "gesture.dbltap"
                | "gesture.press"
                | "gesture.pinch"
                | "gesture.mousewheel"
                | "gesture.mousemove"
                | "gesture.momentum"
                | "initAnimation.start"
                | "initAnimation.end"
                | "camera.update"
                | "intersect.update"
                | "pano.select"
                | "pano.request"
                | "pano.moveTo"
                | "pano.moving"
                | "pano.arrived"
                | "pano.cancel"
                | "pano.error"
                | "pano.texture.load"
                | "pano.texture.progress"
                | "pano.texture.success"
                | "pano.texture.error"
                | "pano.texture.abort"
                | "xr.session.end"
                | "xr.session.start"
                | "xr.gesture.tap"
                | "xr.gesture.press"
                | "xr.gesture.buttonUp"
                | "xr.gesture.buttonDown"
                | "xr.controller.update"
                | (keyof LegacyEventType)
                | "works.request"
                | "works.load"
                | "works.ready"
                | "state.set"
                | "state.change"
                | "state.synced"
                | "currentState.change"
                | "model.request"
                | "model.load"
                | "model.error"
                | "model.changeShownFloor"
                | "models.load"
                | "models.refined"
                | "render.prepare"
                | "mode.change.request"
                | "mode.change"
                | "helpers.visible"
                | "network.resource"
                | "fps",
        >(
            name: K,
            callback: (
                ...args: Parameters<EventTypes[K]>,
            ) => ReturnType<EventTypes[K]>,
        ): () => void;
        waitUntil<
            K extends
                | "dispose"
                | "error"
                | "render"
                | "gesture.pan"
                | "gesture.tap"
                | "gesture.dbltap"
                | "gesture.press"
                | "gesture.pinch"
                | "gesture.mousewheel"
                | "gesture.mousemove"
                | "gesture.momentum"
                | "initAnimation.start"
                | "initAnimation.end"
                | "camera.update"
                | "intersect.update"
                | "pano.select"
                | "pano.request"
                | "pano.moveTo"
                | "pano.moving"
                | "pano.arrived"
                | "pano.cancel"
                | "pano.error"
                | "pano.texture.load"
                | "pano.texture.progress"
                | "pano.texture.success"
                | "pano.texture.error"
                | "pano.texture.abort"
                | "xr.session.end"
                | "xr.session.start"
                | "xr.gesture.tap"
                | "xr.gesture.press"
                | "xr.gesture.buttonUp"
                | "xr.gesture.buttonDown"
                | "xr.controller.update"
                | (keyof LegacyEventType)
                | "works.request"
                | "works.load"
                | "works.ready"
                | "state.set"
                | "state.change"
                | "state.synced"
                | "currentState.change"
                | "model.request"
                | "model.load"
                | "model.error"
                | "model.changeShownFloor"
                | "models.load"
                | "models.refined"
                | "render.prepare"
                | "mode.change.request"
                | "mode.change"
                | "helpers.visible"
                | "network.resource"
                | "fps",
        >(
            name: K,
            filter?: (...args: Parameters<EventTypes[K]>) => boolean | void,
        ): Promise<Parameters<EventTypes[K]>>;
    }

    Hierarchy (View Summary)

    Index

    Properties

    cameraDirection: Vector3

    Five React Inject: Five cameraDirection

    cameraRaycaster: Raycaster

    Five React Inject: Five cameraRaycaster

    currentObserver: WorkObserver

    Five React Inject: Five currentState

    currentState: State

    Five React Inject: Five 的当前状态

    five 设置了以下状态
    
    - mode: Mode
    - panoId: string
    - panoIndex: number
    - longitude: number
    - latitude: number
    - fov: number
    - offset: THREE.Vector3
    
    可以通过 state, currentState 和 setState 来获取和设置。
    通过 state 设置后,five 会通过合适的动画运动来达到设置的位置。
    来迎合一些通过数据驱动的场景。
    
    getPixels: {
        <
            T extends
                Uint8Array<ArrayBufferLike>
                | Uint8ClampedArray<ArrayBufferLike> = Uint8Array<ArrayBufferLike>,
        >(
            x: number,
            y: number,
            width: number,
            height: number,
            pixelRatio?: number,
            flipY?: boolean,
            buffer?: T,
        ): T;
        <
            T extends
                Uint8Array<ArrayBufferLike>
                | Uint8ClampedArray<ArrayBufferLike> = Uint8Array<ArrayBufferLike>,
        >(
            options: {
                buffer?: T;
                flipY?: boolean;
                height: number;
                helperVisible?: boolean;
                pixelRatio?: number;
                skipPanorama?: boolean;
                width: number;
                x: number;
                y: number;
            },
        ): T;
    }

    获取画面中的像素颜色

    Type Declaration

      • <
            T extends
                Uint8Array<ArrayBufferLike>
                | Uint8ClampedArray<ArrayBufferLike> = Uint8Array<ArrayBufferLike>,
        >(
            x: number,
            y: number,
            width: number,
            height: number,
            pixelRatio?: number,
            flipY?: boolean,
            buffer?: T,
        ): T
      • 获取画面中的像素颜色

        Type Parameters

        • T extends Uint8Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike> = Uint8Array<ArrayBufferLike>

        Parameters

        • x: number

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

        • y: number

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

        • width: number

          获取像素区域的宽度

        • height: number

          获取像素区域的高度

        • OptionalpixelRatio: number

          获取区域的像素比

        • OptionalflipY: boolean

          是否Y轴翻转

        • Optionalbuffer: T

          存储数组

        Returns T

        rgba颜色平铺的 Uint8Array

      • <
            T extends
                Uint8Array<ArrayBufferLike>
                | Uint8ClampedArray<ArrayBufferLike> = Uint8Array<ArrayBufferLike>,
        >(
            options: {
                buffer?: T;
                flipY?: boolean;
                height: number;
                helperVisible?: boolean;
                pixelRatio?: number;
                skipPanorama?: boolean;
                width: number;
                x: number;
                y: number;
            },
        ): T
      • 获取画面中的像素颜色

        Type Parameters

        • T extends Uint8Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike> = Uint8Array<ArrayBufferLike>

        Parameters

        • options: {
              buffer?: T;
              flipY?: boolean;
              height: number;
              helperVisible?: boolean;
              pixelRatio?: number;
              skipPanorama?: boolean;
              width: number;
              x: number;
              y: number;
          }

          参数

          • Optionalbuffer?: T

            存储数组

          • OptionalflipY?: boolean

            是否Y轴翻转

          • height: number

            获取像素区域的高度

          • OptionalhelperVisible?: boolean
          • OptionalpixelRatio?: number

            获取区域的像素比

          • OptionalskipPanorama?: boolean
          • width: number

            获取像素区域的宽度

          • x: number

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

          • y: number

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

        Returns T

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

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

    获取像素区域的宽度

    获取像素区域的高度

    获取区域的像素比

    rgba颜色平铺的 Uint8Array

    helperVisible: boolean

    Five React Inject: Five helperVisible

    intersectRaycaster: (
        raycaster: Raycaster,
        target?: Intersection[],
    ) => Intersection[]

    计算模型射线碰撞检测

    Type Declaration

    THREE 射线对象

    和某一楼层做碰撞检测, 不传为和所有楼层做碰撞检测

    返回碰撞

    loadWork: (
        inputWork:
            | string
            | string[]
            | LooseWork
            | Work
            | Work[]
            | LooseWork[]
            | LooseWorkWithExtrinsics[]
            | Promise<
                LooseWork
                | Work
                | Work[]
                | LooseWork[]
                | LooseWorkWithExtrinsics[],
            >,
        state?: "initial" | Partial<State> | "inherit",
        options?: number | FiveLoadOptions,
        userAction?: boolean,
    ) => Promise<void>

    加载 Work 数据

    Type Declaration

      • (
            inputWork:
                | string
                | string[]
                | LooseWork
                | Work
                | Work[]
                | LooseWork[]
                | LooseWorkWithExtrinsics[]
                | Promise<
                    LooseWork
                    | Work
                    | Work[]
                    | LooseWork[]
                    | LooseWorkWithExtrinsics[],
                >,
            state?: "initial" | Partial<State> | "inherit",
            options?: number | FiveLoadOptions,
            userAction?: boolean,
        ): Promise<void>
      • 加载 Work 数据

        Parameters

        • inputWork:
              | string
              | string[]
              | LooseWork
              | Work
              | Work[]
              | LooseWork[]
              | LooseWorkWithExtrinsics[]
              | Promise<
                  LooseWork
                  | Work
                  | Work[]
                  | LooseWork[]
                  | LooseWorkWithExtrinsics[],
              >

          Work 数据

        • Optionalstate: "initial" | Partial<State> | "inherit"

          初始化姿态

          • "inherit" 使用当前姿态
          • "initial" 使用 Work 数据中的 initial 姿态
          • State 自定义姿态
        • Optionaloptions: number | FiveLoadOptions

          切换时间, 切换效果

        • userAction: boolean = true

        Returns Promise<void>

    Work 数据

    初始化姿态

    • "inherit" 使用当前姿态
    • "initial" 使用 Work 数据中的 initial 姿态
    • State 自定义姿态

    切换时间

    model: Model

    Five React Inject: Five model

    modelReadyState: "Empty" | "Loaded"

    Five React Inject: Five modelReadyState

    models: Models

    Five React Inject: Five models

    needsRender: () => void

    下一帧渲染

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

    • needsRender() 为在下帧渲染画面
    • render() 在当前帧渲染画面 推荐使用 needsRender(), 可以更加流畅。但是如果需要截图等同步操作,可以使用 render()
    preloadPano: (
        pano: number | Pano | `${string}[${number}]`,
        callback?: (costs: number) => void,
    ) => Promise<number>

    预加载点位图片资源

    Type Declaration

      • (
            pano: number | Pano | `${string}[${number}]`,
            callback?: (costs: number) => void,
        ): Promise<number>
      • 预加载点位图片资源

        Parameters

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

          观察点序号

        • callback: (costs: number) => void = noop

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

        Returns Promise<number>

        加载完成的 Promise 参数同 callback

    观察点

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

    加载完成的 Promise 参数同 callback

    project2d: (vector: Vector3, testModel?: boolean) => Vector2

    计算三维坐标对应到屏幕的二维坐标

    Type Declaration

      • (vector: Vector3, testModel?: boolean): Vector2
      • 计算三维坐标对应到屏幕的二维坐标

        Parameters

        • vector: Vector3

          三维坐标

        • testModel: boolean = false

          是否计算模型遮挡

        Returns Vector2

        二维坐标 或者 null

        如果三维坐标不在屏幕中,则返回 null

    如果三维坐标不在屏幕中,则返回 null

    三维坐标

    是否计算模型遮挡

    二维坐标 或者 null

    render: (callback?: () => void) => void

    强制渲染

    Type Declaration

      • (callback?: () => void): void
      • 强制渲染

        Parameters

        • Optionalcallback: () => void

          渲染完成回调

        Returns void

        调用 five.render() 和设置 five.needsRender = true 均可在按需渲染时,使得画面渲染一次 区别在于:

        • five.needsRender = true 为在下帧渲染画面
        • five.render() 在当前帧渲染画面 推荐使用 five.needsRender = true, 可以更加流畅。但是如果需要截图等同步操作,可以使用 five.render()

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

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

    渲染完成回调

    scene: Scene

    Five React Inject: Five models

    setState: (
        state: Partial<State>,
        immediately?: boolean,
        userAction?: boolean,
    ) => void

    设置 State

    Type Declaration

      • (state: Partial<State>, immediately?: boolean, userAction?: boolean): void
      • 设置 State

        Parameters

        • state: Partial<State>

          目标状态

        • immediately: boolean = false

          是否马上转换,马上转换会尽快达到目标状态,尽量减少中间状态,更少动画。

        • userAction: boolean = true

          是否是用户触发的动作

        Returns void

        five 设置了以下状态
        
        - mode: Mode
        - panoIndex: number
        - longitude: number
        - latitude: number
        - distance: number
        - fov: number
        - offset: THREE.Vector3
        
        可以通过 five.state 和 five.setState 来获取和设置。
        通过 state 设置后,five 会通过合适的动画运动来达到设置的位置。
        来迎合一些通过数据驱动的场景。
        
    five 设置了以下状态
    
    - mode: Mode
    - panoId: string
    - panoIndex: number
    - longitude: number
    - latitude: number
    - fov: number
    - offset: THREE.Vector3
    
    可以通过 state, currentState 和 setState 来获取和设置。
    通过 state 设置后,five 会通过合适的动画运动来达到设置的位置。
    来迎合一些通过数据驱动的场景。
    

    目标状态

    是否马上转换,马上转换会尽快达到目标状态,尽量减少中间状态,更少动画。

    showFloor: (floorIndex?: number) => void

    显示楼层

    Type Declaration

      • (floorIndex?: number): void
      • Parameters

        • OptionalfloorIndex: number

          楼层,如果不传则都显示

        Returns void

    shownFloor: number

    Five React Inject: Five shownFloor

    state: State

    Five React Inject: Five 的目标状态

    five 设置了以下状态
    
    - mode: Mode
    - panoId: string
    - panoIndex: number
    - longitude: number
    - latitude: number
    - fov: number
    - offset: THREE.Vector3
    
    可以通过 state, currentState 和 setState 来获取和设置。
    通过 state 设置后,five 会通过合适的动画运动来达到设置的位置。
    来迎合一些通过数据驱动的场景。
    
    toggleHelperVisible: (visible: boolean) => void

    帮助元素的隐藏/显示

    Type Declaration

      • (visible: boolean): void
      • Parameters

        • visible: boolean

          隐藏/显示

        Returns void

    unsafe__fiveInstance: Five

    Five React Inject: 获取 five 实例

    不到万不得已,并不推荐直接使用。

    不到万不得已,并不推荐直接使用。

    updateCamera: (
        pose: Partial<Pose>,
        duration: number,
        userAction?: boolean,
    ) => Promise<void>

    移动相机。(不触发点位移动)

    Type Declaration

      • (pose: Partial<Pose>, duration: number, userAction?: boolean): Promise<void>
      • 移动相机。(不触发点位移动)

        Parameters

        • pose: Partial<Pose>

          相机目标位置

        • duration: number

          动画触发的时常

        • userAction: boolean = true

          是否用户触发

        Returns Promise<void>

        Promise 是否移动成功

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

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

    相机目标位置

    动画触发的时常

    Promise 是否移动成功

    work: Work

    Five React Inject: Five Work

    works: Works

    Five React Inject: Five Work

    Methods

    • 触发事件

      Type Parameters

      • K extends
            | "dispose"
            | "error"
            | "render"
            | "gesture.pan"
            | "gesture.tap"
            | "gesture.dbltap"
            | "gesture.press"
            | "gesture.pinch"
            | "gesture.mousewheel"
            | "gesture.mousemove"
            | "gesture.momentum"
            | "initAnimation.start"
            | "initAnimation.end"
            | "camera.update"
            | "intersect.update"
            | "pano.select"
            | "pano.request"
            | "pano.moveTo"
            | "pano.moving"
            | "pano.arrived"
            | "pano.cancel"
            | "pano.error"
            | "pano.texture.load"
            | "pano.texture.progress"
            | "pano.texture.success"
            | "pano.texture.error"
            | "pano.texture.abort"
            | "xr.session.end"
            | "xr.session.start"
            | "xr.gesture.tap"
            | "xr.gesture.press"
            | "xr.gesture.buttonUp"
            | "xr.gesture.buttonDown"
            | "xr.controller.update"
            | (keyof LegacyEventType)
            | "works.request"
            | "works.load"
            | "works.ready"
            | "state.set"
            | "state.change"
            | "state.synced"
            | "currentState.change"
            | "model.request"
            | "model.load"
            | "model.error"
            | "model.changeShownFloor"
            | "models.load"
            | "models.refined"
            | "render.prepare"
            | "mode.change.request"
            | "mode.change"
            | "helpers.visible"
            | "network.resource"
            | "fps"

        预设的监听事件名称

      Parameters

      • name: K

        事件类型

      • ...data: Parameters<EventTypes[K]>

        触发事件的数据

      Returns boolean

      canceled 是否被触发取消

    • 判断是否注册了事件

      Parameters

      • name:
            | "dispose"
            | "error"
            | "render"
            | "gesture.pan"
            | "gesture.tap"
            | "gesture.dbltap"
            | "gesture.press"
            | "gesture.pinch"
            | "gesture.mousewheel"
            | "gesture.mousemove"
            | "gesture.momentum"
            | "initAnimation.start"
            | "initAnimation.end"
            | "camera.update"
            | "intersect.update"
            | "pano.select"
            | "pano.request"
            | "pano.moveTo"
            | "pano.moving"
            | "pano.arrived"
            | "pano.cancel"
            | "pano.error"
            | "pano.texture.load"
            | "pano.texture.progress"
            | "pano.texture.success"
            | "pano.texture.error"
            | "pano.texture.abort"
            | "xr.session.end"
            | "xr.session.start"
            | "xr.gesture.tap"
            | "xr.gesture.press"
            | "xr.gesture.buttonUp"
            | "xr.gesture.buttonDown"
            | "xr.controller.update"
            | (keyof LegacyEventType)
            | "works.request"
            | "works.load"
            | "works.ready"
            | "state.set"
            | "state.change"
            | "state.synced"
            | "currentState.change"
            | "model.request"
            | "model.load"
            | "model.error"
            | "model.changeShownFloor"
            | "models.load"
            | "models.refined"
            | "render.prepare"
            | "mode.change.request"
            | "mode.change"
            | "helpers.visible"
            | "network.resource"
            | "fps"

        事件类型

      Returns boolean

    • 解除事件

      如果 name 不传的话解除对应所有事件 如果 name, callback 不传的话解除所有name的所有事件

      Type Parameters

      • K extends
            | "dispose"
            | "error"
            | "render"
            | "gesture.pan"
            | "gesture.tap"
            | "gesture.dbltap"
            | "gesture.press"
            | "gesture.pinch"
            | "gesture.mousewheel"
            | "gesture.mousemove"
            | "gesture.momentum"
            | "initAnimation.start"
            | "initAnimation.end"
            | "camera.update"
            | "intersect.update"
            | "pano.select"
            | "pano.request"
            | "pano.moveTo"
            | "pano.moving"
            | "pano.arrived"
            | "pano.cancel"
            | "pano.error"
            | "pano.texture.load"
            | "pano.texture.progress"
            | "pano.texture.success"
            | "pano.texture.error"
            | "pano.texture.abort"
            | "xr.session.end"
            | "xr.session.start"
            | "xr.gesture.tap"
            | "xr.gesture.press"
            | "xr.gesture.buttonUp"
            | "xr.gesture.buttonDown"
            | "xr.controller.update"
            | (keyof LegacyEventType)
            | "works.request"
            | "works.load"
            | "works.ready"
            | "state.set"
            | "state.change"
            | "state.synced"
            | "currentState.change"
            | "model.request"
            | "model.load"
            | "model.error"
            | "model.changeShownFloor"
            | "models.load"
            | "models.refined"
            | "render.prepare"
            | "mode.change.request"
            | "mode.change"
            | "helpers.visible"
            | "network.resource"
            | "fps"

        预设的监听事件名称

      Parameters

      • Optionalname: K

        事件类型

      • Optionalcallback: (...args: Parameters<EventTypes[K]>) => ReturnType<EventTypes[K]>

        事件回调函数

      Returns void

    • 注册事件

      Type Parameters

      • K extends
            | "dispose"
            | "error"
            | "render"
            | "gesture.pan"
            | "gesture.tap"
            | "gesture.dbltap"
            | "gesture.press"
            | "gesture.pinch"
            | "gesture.mousewheel"
            | "gesture.mousemove"
            | "gesture.momentum"
            | "initAnimation.start"
            | "initAnimation.end"
            | "camera.update"
            | "intersect.update"
            | "pano.select"
            | "pano.request"
            | "pano.moveTo"
            | "pano.moving"
            | "pano.arrived"
            | "pano.cancel"
            | "pano.error"
            | "pano.texture.load"
            | "pano.texture.progress"
            | "pano.texture.success"
            | "pano.texture.error"
            | "pano.texture.abort"
            | "xr.session.end"
            | "xr.session.start"
            | "xr.gesture.tap"
            | "xr.gesture.press"
            | "xr.gesture.buttonUp"
            | "xr.gesture.buttonDown"
            | "xr.controller.update"
            | (keyof LegacyEventType)
            | "works.request"
            | "works.load"
            | "works.ready"
            | "state.set"
            | "state.change"
            | "state.synced"
            | "currentState.change"
            | "model.request"
            | "model.load"
            | "model.error"
            | "model.changeShownFloor"
            | "models.load"
            | "models.refined"
            | "render.prepare"
            | "mode.change.request"
            | "mode.change"
            | "helpers.visible"
            | "network.resource"
            | "fps"

        预设的监听事件名称

      Parameters

      • name: K

        事件类型

      • callback: (...args: Parameters<EventTypes[K]>) => ReturnType<EventTypes[K]>

        事件回调函数

      • Optionalonce: boolean

        是否只执行一次

      Returns () => void

      解除事件

    • 注册事件(是否只执行一次)

      Type Parameters

      • K extends
            | "dispose"
            | "error"
            | "render"
            | "gesture.pan"
            | "gesture.tap"
            | "gesture.dbltap"
            | "gesture.press"
            | "gesture.pinch"
            | "gesture.mousewheel"
            | "gesture.mousemove"
            | "gesture.momentum"
            | "initAnimation.start"
            | "initAnimation.end"
            | "camera.update"
            | "intersect.update"
            | "pano.select"
            | "pano.request"
            | "pano.moveTo"
            | "pano.moving"
            | "pano.arrived"
            | "pano.cancel"
            | "pano.error"
            | "pano.texture.load"
            | "pano.texture.progress"
            | "pano.texture.success"
            | "pano.texture.error"
            | "pano.texture.abort"
            | "xr.session.end"
            | "xr.session.start"
            | "xr.gesture.tap"
            | "xr.gesture.press"
            | "xr.gesture.buttonUp"
            | "xr.gesture.buttonDown"
            | "xr.controller.update"
            | (keyof LegacyEventType)
            | "works.request"
            | "works.load"
            | "works.ready"
            | "state.set"
            | "state.change"
            | "state.synced"
            | "currentState.change"
            | "model.request"
            | "model.load"
            | "model.error"
            | "model.changeShownFloor"
            | "models.load"
            | "models.refined"
            | "render.prepare"
            | "mode.change.request"
            | "mode.change"
            | "helpers.visible"
            | "network.resource"
            | "fps"

        预设的监听事件名称

      Parameters

      Returns () => void

      解除事件

    • 等待事件

      Type Parameters

      • K extends
            | "dispose"
            | "error"
            | "render"
            | "gesture.pan"
            | "gesture.tap"
            | "gesture.dbltap"
            | "gesture.press"
            | "gesture.pinch"
            | "gesture.mousewheel"
            | "gesture.mousemove"
            | "gesture.momentum"
            | "initAnimation.start"
            | "initAnimation.end"
            | "camera.update"
            | "intersect.update"
            | "pano.select"
            | "pano.request"
            | "pano.moveTo"
            | "pano.moving"
            | "pano.arrived"
            | "pano.cancel"
            | "pano.error"
            | "pano.texture.load"
            | "pano.texture.progress"
            | "pano.texture.success"
            | "pano.texture.error"
            | "pano.texture.abort"
            | "xr.session.end"
            | "xr.session.start"
            | "xr.gesture.tap"
            | "xr.gesture.press"
            | "xr.gesture.buttonUp"
            | "xr.gesture.buttonDown"
            | "xr.controller.update"
            | (keyof LegacyEventType)
            | "works.request"
            | "works.load"
            | "works.ready"
            | "state.set"
            | "state.change"
            | "state.synced"
            | "currentState.change"
            | "model.request"
            | "model.load"
            | "model.error"
            | "model.changeShownFloor"
            | "models.load"
            | "models.refined"
            | "render.prepare"
            | "mode.change.request"
            | "mode.change"
            | "helpers.visible"
            | "network.resource"
            | "fps"

        预设的监听事件名称

      Parameters

      • name: K

        事件类型

      • Optionalfilter: (...args: Parameters<EventTypes[K]>) => boolean | void

        事件类型

      Returns Promise<Parameters<EventTypes[K]>>

      触发事件的数据