Type Alias LegacyEventType

LegacyEventType: {
    cameraDirectionUpdate(coordinates: Pick<Pose, "longitude" | "latitude">, userAction: boolean): void;
    cameraFovUpdate(fov: number, userAction: boolean): void;
    cameraPositionUpdate(offset: Vector3, userAction: boolean): void;
    cameraUpdate(pose: Pose, userAction: boolean): void;
    currentStateChange(state: State, userAction: boolean): void;
    dblTapGesture(raycaster: Raycaster, tapPosition: Vector2, final: boolean): void;
    gesture(type: GestureTypes, pointers: {
        delta?: number;
        x: number;
        y: number;
    }[], final: boolean): void;
    helpersVisibleChange(visible: boolean): void;
    initAnimationEnded(panoIndex: number, pose: Pose, userAction: boolean): void;
    initAnimationWillStart(panoIndex: number, pose: Pose, userAction: boolean): void;
    interiaPan(pose: Pose, final: boolean): void;
    intersectionHidden(): void;
    intersectionOnModelUpdate(intersection: Intersection, mesh: Object3D): void;
    load(input: any, work: Work, state: Partial<State>): void;
    loaded(input: any, work: Work): void;
    modeChange(mode: Mode, prevMode: Mode, panoIndex: number, toPose: Pose, userAction: boolean): void;
    modelLoadError(error: Error, model: Model): void;
    modelLoaded(model: Model): void;
    modelShownFloorChange(shownFloor: number, floorLength: number): void;
    modelWillLoad(workModel: WorkModel): void;
    mouseWheel(delta: number, fov: number, final: boolean): void;
    moveToPano(panoIndex: number, userAction: boolean): void;
    moveToPanoCanceled(panoIndex: number): void;
    movingToPano(panoIndex: number, prevPanoIndex: number, progress: number): void;
    network(source: string, type: NetworkType, state: NetworkState, detail: string): void;
    panGesture(pose: Pose, final: boolean): void;
    panoArrived(panoIndex: number, pose: Pose, userAction: boolean): void;
    panoLoadError(error: Error, panoIndex: number): void;
    panoLoaded(panoIndex: number): void;
    panoSelected(panoIndex: number): void;
    panoWillArrive(panoIndex: number, pose: Pose, userAction: boolean): void;
    panoWillLoad(panoIndex: number): void;
    pinchGesture(scale: number, fov: number, final: boolean): void;
    pressGesture(raycaster: Raycaster, tapPosition: Vector2, duration: number, final: boolean): void;
    renderFrame(rendered: boolean): void;
    setState(state: State): void;
    stateChange(state: State, userAction: boolean): void;
    stateSynced(state: State): void;
    tapGesture(raycaster: Raycaster, tapPosition: Vector2, final: boolean): void;
    textureAbort(panoIndex: number): void;
    textureError(error: Error, panoIndex: number): void;
    textureLoaded(panoIndex: number, meta: NetWorkMeta[]): void;
    textureLoading(progress: number, panoIndex: number): void;
    textureStartLoad(panoIndex: number): void;
    wantsChangeCameraFov(fov: number): false | void;
    wantsChangeMode(mode: Mode, prevMode: Mode): false | void;
    wantsDblTapGesture(raycaster: Raycaster, tapPosition: Vector2, final: boolean): false | void;
    wantsGesture(type: GestureTypes, pointers: {
        delta?: number;
        x: number;
        y: number;
    }[], final: boolean): false | void;
    wantsInteriaPan(pose: Pose): false | void;
    wantsMouseWheel(delta: number, nextFov: number, final: boolean): false | void;
    wantsMoveToPano(panoIndex: number, options: MovePanoOptions, userAction: boolean): false | void;
    wantsPanGesture(pose: Pose, final: boolean): false | void;
    wantsPinchGesture(scale: number, nextFov: number, final: boolean): false | void;
    wantsPressGesture(raycaster: Raycaster, tapPosition: Vector2, duration: number, final: boolean): false | void;
    wantsShowIntersectionOnModel(raycaster: Raycaster): false | void;
    wantsTapGesture(raycaster: Raycaster, tapPosition: Vector2, final: boolean): false | void;
    wantsToMoveToPano(panoIndex: number, options: MovePanoOptions, userAction: boolean): void;
    webXRAxesUpdate(type: "left" | "right", param: WebXRAxesParams): void;
    webXRControllerEvent(type: WebXRControllerType, key:
        | "Y"
        | "X"
        | "A"
        | "B"
        | "RightTrigger"
        | "RightPinch"
        | "LeftTrigger"
        | "LeftPinch"
        | "LeftAxesLeft"
        | "LeftAxesRight"
        | "LeftAxesUp"
        | "LeftAxesDown"
        | "RightAxesLeft"
        | "RightAxesRight"
        | "RightAxesUp"
        | "RightAxesDown", params: WebXRControllerParams): void;
    webXRControllerRayUpdate(raycaster: {
        leftRay?: THREE.Raycaster;
        rightRay?: THREE.Raycaster;
    }): void;
    webXRSessionEnd(): void;
    webXRSessionStart(): void;
    willLoad(input: any, work: Work, state: Partial<State>): void;
}

过时的事件列表

Type declaration

  • cameraDirectionUpdate:function
    • 相机姿态中相机方向变化

      Parameters

      • coordinates: Pick<Pose, "longitude" | "latitude">

        相机姿态的俯仰角和偏航角

      • userAction: boolean

        是否用户触发

      Returns void

  • cameraFovUpdate:function
    • 相机姿态中可视角度变化

      Parameters

      • fov: number

        相机的可视角度

      • userAction: boolean

        是否用户触发

      Returns void

  • cameraPositionUpdate:function
    • 相机姿态中相机位置变化

      Parameters

      • offset: Vector3

        相机位置

      • userAction: boolean

        是否用户触发

      Returns void

  • cameraUpdate:function
    • 相机姿态变化

      Parameters

      • pose: Pose

        相机姿态

      • userAction: boolean

        是否用户触发

      Returns void

  • currentStateChange:function
    • 当前实时 state 变化时

      Parameters

      • state: State

        当前姿态状态

      • userAction: boolean

        是否用户触发

      Returns void

  • dblTapGesture:function
    • dbltap 手势(点击屏幕) 被触发

      Parameters

      • raycaster: Raycaster

        点击对应的三维射线

      • tapPosition: Vector2

        点击对应的屏幕位置

      • final: boolean

        是否手势结束

      Returns void

  • gesture:function
    • 手势 触发

      Parameters

      • type: GestureTypes

        手势类型

      • pointers: {
            delta?: number;
            x: number;
            y: number;
        }[]

        手指位置

      • final: boolean

        是否手势结束

      Returns void

  • helpersVisibleChange:function
    • 帮助元素显应的变换

      Parameters

      • visible: boolean

        帮助元素的是否开启

      Returns void

  • initAnimationEnded:function
    • 模态间切换动画结束

      Parameters

      • panoIndex: number

        当前点位

      • pose: Pose

        相机姿态

      • userAction: boolean

        是否用户触发

      Returns void

  • initAnimationWillStart:function
    • 模态间切换动画开始

      Parameters

      • panoIndex: number

        当前点位

      • pose: Pose

        相机姿态

      • userAction: boolean

        是否用户触发

      Returns void

  • interiaPan:function
    • pan 手势(滑动屏幕) 的惯性运动

      Parameters

      • pose: Pose

        意图的相机姿态

      • final: boolean

        是否手势结束

      Returns void

  • intersectionHidden:function
    • 鼠标焦点环被隐藏

      Returns void

  • intersectionOnModelUpdate:function
    • 鼠标焦点环位置被重新计算

      Parameters

      • intersection: Intersection

        焦点碰撞结果

      • mesh: Object3D

        焦点环 mesh

      Returns void

  • load:function
    • 开始加载 Work 数据

      Parameters

      • input: any

        输入的 work

      • work: Work

        归一化的标准 work

      • state: Partial<State>

        加载时的姿态

      Returns void

  • loaded:function
    • 加载完 Work 数据

      Parameters

      • input: any

        输入的 work

      • work: Work

        归一化的标准 work

      Returns void

  • modeChange:function
    • 模态切换完成

      Parameters

      • mode: Mode

        切换到的模态

      • prevMode: Mode

        上本质是一个模态

      • panoIndex: number

        初始化动画结束后的点位下标

      • toPose: Pose

        初始化动画结束后的状态

      • userAction: boolean

        是否用户触发

      Returns void

  • modelLoadError:function
    • 模型加载错误

      Parameters

      • error: Error

        错误对象

      • model: Model

        加载完的 model

      Returns void

  • modelLoaded:function
    • 模型加载完成

      Parameters

      • model: Model

        加载完的 model

      Returns void

  • modelShownFloorChange:function
    • 模型楼层切换

      Parameters

      • shownFloor: number

        模型楼层

      • floorLength: number

      Returns void

  • modelWillLoad:function
    • 模型开始加载

      Parameters

      • workModel: WorkModel

        归一化的标准 work 中的 model 值

      Returns void

  • mouseWheel:function
    • 鼠标滚轮被触发

      Parameters

      • delta: number

        滚轮数值

      • fov: number

        意图的fov变更

      • final: boolean

        是否手势结束

      Returns void

  • moveToPano:function
    • 开始加载并移动到某个观察点位

      Parameters

      • panoIndex: number

        移动到的点位

      • userAction: boolean

        是否用户触发

      Returns void

      可 panoWillArrive 相比

      • moveToPano 在加载全景图资源前触发
      • panoWillArrive 在加载全景图资源后触发
  • moveToPanoCanceled:function
    • 移动到某个观察点位被取消

      Parameters

      • panoIndex: number

        对应的点位

      Returns void

      这个有一些情况会导致

      • 移动过程中切换模态
      • 移动过程中 five 被析构
      • 移动过程点击切换到另一个点位
  • movingToPano:function
    • 移动中, 会告知移动状态(耗时百分比)

      Parameters

      • panoIndex: number

        将要移动到的点位下标

      • prevPanoIndex: number

        上一个点位下标

      • progress: number

        整个过程经度 [0-1]

      Returns void

  • network:function
    • 网络资源分析

      Parameters

      Returns void

  • panGesture:function
    • pan 手势(滑动屏幕) 被触发

      Parameters

      • pose: Pose

        相机姿态

      • final: boolean

        是否手势结束

      Returns void

  • panoArrived:function
    • 移动到某个观察点位

      Parameters

      • panoIndex: number

        移动到点位

      • pose: Pose

        相机姿态

      • userAction: boolean

        是否用户触发

      Returns void

  • panoLoadError:function
    • 某个观察点的全景资源加载失败

      Parameters

      • error: Error

        错误对象

      • panoIndex: number

        对应的点位

      Returns void

  • panoLoaded:function
    • 某个观察点的全景资源加载完成

      Parameters

      • panoIndex: number

        对应的点位

      Returns void

  • panoSelected:function
    • 观察点位被选择

      Parameters

      • panoIndex: number

        选择的点位

      Returns void

  • panoWillArrive:function
    • 开始移动到某个观察点位

      Parameters

      • panoIndex: number

        移动到点位

      • pose: Pose

        相机姿态

      • userAction: boolean

        是否用户触发

      Returns void

      和 moveToPano 相比

      • moveToPano 在加载全景图资源前触发
      • panoWillArrive 在加载全景图资源后触发
  • panoWillLoad:function
    • 开始加载某个观察点的全景资源

      Parameters

      • panoIndex: number

        移动到的点位

      Returns void

  • pinchGesture:function
    • pinch 手势(双指缩放) 被触发

      Parameters

      • scale: number

        缩放数值

      • fov: number

        意图的fov变更

      • final: boolean

        是否手势结束

      Returns void

  • pressGesture:function
    • tap 手势(点击屏幕) 被触发

      Parameters

      • raycaster: Raycaster

        点击对应的三维射线

      • tapPosition: Vector2

        点击对应的屏幕位置

      • duration: number

        长按持续时间

      • final: boolean

        是否手势结束

      Returns void

  • renderFrame:function
    • 渲染循环

      Parameters

      • rendered: boolean

        是否渲染了

      Returns void

  • setState:function
    • 当 setState 方法被调用

      Parameters

      • state: State

        当前姿态状态

      Returns void

  • stateChange:function
    • 当目标 state 变化时

      Parameters

      • state: State

        当前姿态状态

      • userAction: boolean

        是否用户触发

      Returns void

  • stateSynced:function
    • 当 state 被同步完成时

      Parameters

      • state: State

        当前姿态状态

      Returns void

  • tapGesture:function
    • tap 手势(点击屏幕) 被触发

      Parameters

      • raycaster: Raycaster

        点击对应的三维射线

      • tapPosition: Vector2

        点击对应的屏幕位置

      • final: boolean

        是否手势结束

      Returns void

  • textureAbort:function
    • 观察点的全景资源加载被中止

      Parameters

      • panoIndex: number

        加载点位

      Returns void

  • textureError:function
    • 观察点的全景资源加载失败

      Parameters

      • error: Error

        错误对象

      • panoIndex: number

        加载点位

      Returns void

  • textureLoaded:function
    • 观察点的全景资源加载完成

      Parameters

      Returns void

  • textureLoading:function
    • 观察点的全景资源加载中,可获取到进度

      Parameters

      • progress: number

        加载进度 [0-1]

      • panoIndex: number

        加载点位下标

      Returns void

  • textureStartLoad:function
    • 观察点的全景资源开始加载

      Parameters

      • panoIndex: number

        加载点位

      Returns void

  • wantsChangeCameraFov:function
    • 意图要变化相机的可视角度 可以通过 return false 阻止

      Parameters

      • fov: number

        意图要变化相机的可视角度

      Returns false | void

      可以通过 return false 阻止

      建议通过 初始化设置的 defaultFov, maxFov, minFov 来限制

  • wantsChangeMode:function
    • 意图要切换到某个模态, 可以通过 return false 阻止

      Parameters

      • mode: Mode

        意图要切换到的模态

      • prevMode: Mode

        当前模态

      Returns false | void

      可以通过 return false 阻止

  • wantsDblTapGesture:function
    • 意图要触发 dlbtap 手势(点击屏幕), 可以通过 return false 阻止

      Parameters

      • raycaster: Raycaster

        点击对应的三维射线

      • tapPosition: Vector2

        点击对应的屏幕位置

      • final: boolean

        是否手势结束

      Returns false | void

      可以通过 return false 阻止

  • wantsGesture:function
    • 意图要触发手势, 可以通过 return false 阻止

      Parameters

      • type: GestureTypes

        手势类型

      • pointers: {
            delta?: number;
            x: number;
            y: number;
        }[]

        手指位置

      • final: boolean

        是否手势结束

      Returns false | void

      可以通过 return false 阻止

  • wantsInteriaPan:function
    • 意图要触发 pan 手势(滑动屏幕) 的惯性运动, 可以通过 return false 阻止

      Parameters

      • pose: Pose

        意图的相机姿态

      Returns false | void

      可以通过 return false 阻止

  • wantsMouseWheel:function
    • 意图要触发 鼠标滚轮 可以通过 return false 阻止

      Parameters

      • delta: number

        滚轮数值

      • nextFov: number

        意图的fov变更

      • final: boolean

        是否手势结束

      Returns false | void

      可以通过 return false 阻止

  • wantsMoveToPano:function
    • 意图要移动到某个点时, 可以通过 return false 阻止

      Parameters

      • panoIndex: number

        意图要移动到点位

      • options: MovePanoOptions

        移动参数

      • userAction: boolean

        是否用户触发

      Returns false | void

      可以通过 return false 阻止

  • wantsPanGesture:function
    • 意图要触发 pan 手势(滑动屏幕), 可以通过 return false 阻止

      Parameters

      • pose: Pose

        意图的相机姿态

      • final: boolean

        是否手势结束

      Returns false | void

      可以通过 return false 阻止

  • wantsPinchGesture:function
    • 意图要触发 pinch 手势(双指缩放),可以通过 return false 阻止

      Parameters

      • scale: number

        缩放数值

      • nextFov: number

        意图的fov变更

      • final: boolean

        是否手势结束

      Returns false | void

      可以通过 return false 阻止

  • wantsPressGesture:function
    • 意图要触发 press 手势(长按屏幕), 可以通过 return false 阻止

      Parameters

      • raycaster: Raycaster

        长按对应的三维射线

      • tapPosition: Vector2

        长按对应的屏幕位置

      • duration: number

        长按持续时间

      • final: boolean

        是否手势结束

      Returns false | void

      可以通过 return false 阻止

  • wantsShowIntersectionOnModel:function
    • 意图要展示鼠标焦点环,可以通过 return false 阻止

      Parameters

      • raycaster: Raycaster

        射线

      Returns false | void

      可以通过 return false 阻止

  • wantsTapGesture:function
    • 意图要触发 tap 手势(点击屏幕), 可以通过 return false 阻止

      Parameters

      • raycaster: Raycaster

        点击对应的三维射线

      • tapPosition: Vector2

        点击对应的屏幕位置

      • final: boolean

        是否手势结束

      Returns false | void

      可以通过 return false 阻止

  • wantsToMoveToPano:function
    • 同 wantsMoveToPano

      Parameters

      • panoIndex: number

        意图要移动到点位

      • options: MovePanoOptions

        移动参数

      • userAction: boolean

        是否用户触发

      Returns void

      可以通过 return false 阻止

  • webXRAxesUpdate:function
    • xr控制器的Axes原始实时数据状态

      Parameters

      Returns void

  • webXRControllerEvent:function
    • axes代表控制杆,axes数组的0-1元素分别代表左控制器的左(-1)右(1),左控制器的上(-1)下(1),axes数组的2-3元素同理

      Parameters

      • type: WebXRControllerType
      • key:
            | "Y"
            | "X"
            | "A"
            | "B"
            | "RightTrigger"
            | "RightPinch"
            | "LeftTrigger"
            | "LeftPinch"
            | "LeftAxesLeft"
            | "LeftAxesRight"
            | "LeftAxesUp"
            | "LeftAxesDown"
            | "RightAxesLeft"
            | "RightAxesRight"
            | "RightAxesUp"
            | "RightAxesDown"
      • params: WebXRControllerParams

      Returns void

  • webXRControllerRayUpdate:function
    • xr控制器的控制器射线更新

      Parameters

      • raycaster: {
            leftRay?: THREE.Raycaster;
            rightRay?: THREE.Raycaster;
        }
        • OptionalleftRay?: THREE.Raycaster
        • OptionalrightRay?: THREE.Raycaster

      Returns void

  • webXRSessionEnd:function
    • webXR模式结束,webxr session销毁

      Returns void

  • webXRSessionStart:function
    • webXR模式开始,webxr session完成坐标系矫正

      Returns void

  • willLoad:function
    • 准备加载 Work 数据

      Parameters

      • input: any

        输入的 work

      • work: Work

        归一化的标准 work

      • state: Partial<State>

        加载时的姿态

      Returns void