Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

Index

Properties

cameraDirection: any
cameraRaycaster: any
currentObserver: any
currentState: State

Five React Inject: Five 的当前状态

description
five 设置了以下状态

- mode: Mode
- panoIndex: number
- longitude: number
- latitude: number
- fov: number
- offset: THREE.Vector3

可以通过 state, currentState 和 setState 来获取和设置。
通过 state 设置后,five 会通过合适的动画运动来达到设置的位置。
来迎合一些通过数据驱动的场景。
getPixels: ((x: number, y: number, width: number, height: number, pixelRatio?: number) => Uint8Array)

Type declaration

    • (x: number, y: number, width: number, height: number, pixelRatio?: number): Uint8Array
    • 获取画面中的像素颜色

      Parameters

      • x: number

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

      • y: number

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

      • width: number

        获取像素区域的宽度

      • height: number

        获取像素区域的高度

      • pixelRatio: number = 1

        获取区域的像素比

      Returns Uint8Array

      rgba颜色平铺的 Uint8Array

helperVisible: any
initBasisLoader: any
intersectRaycaster: ((raycaster: Raycaster, floors?: number | number[]) => Intersection[])

Type declaration

    • (raycaster: Raycaster, floors?: number | number[]): Intersection[]
    • 计算模型射线碰撞检测

      Parameters

      • raycaster: Raycaster

        THREE 射线对象

      • Optional floors: number | number[]

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

      Returns Intersection[]

      返回碰撞

loadWork: ((inputWork: any, state?: "inherit" | "initial" | Partial<Omit<State, "offset">>, duration?: number, userAction?: boolean) => Promise<void>)

Type declaration

    • (inputWork: any, state?: "inherit" | "initial" | Partial<Omit<State, "offset">>, duration?: number, userAction?: boolean): Promise<void>
    • 加载 Work 数据

      Parameters

      • inputWork: any

        Work 数据

      • Optional state: "inherit" | "initial" | Partial<Omit<State, "offset">>

        初始化姿态

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

        切换时间

      • userAction: boolean = true

      Returns Promise<void>

model: any
modelReadyState: any
off: (<K>(name?: K, callback?: ((...args: Parameters<EventTypes[K]>) => ReturnType<EventTypes[K]>)) => void)

Type declaration

    • 解除事件

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

      Type Parameters

      • K extends "error" | "network" | "load" | "loaded" | "webXRSessionStart" | "webXRSessionEnd" | "mouseWheel" | "initAnimationWillStart" | "initAnimationEnded" | "cameraUpdate" | "cameraPositionUpdate" | "cameraDirectionUpdate" | "panoSelected" | "wantsMoveToPano" | "moveToPano" | "panoWillLoad" | "panoLoaded" | "panoLoadError" | "moveToPanoCanceled" | "panoWillArrive" | "panoArrived" | "movingToPano" | "wantsGesture" | "gesture" | "wantsPanGesture" | "panGesture" | "wantsInteriaPan" | "interiaPan" | "wantsTapGesture" | "tapGesture" | "wantsPinchGesture" | "wantsPressGesture" | "pressGesture" | "pinchGesture" | "wantsMouseWheel" | "intersectionOnModelUpdate" | "wantsShowIntersectionOnModel" | "intersectionHidden" | "textureStartLoad" | "textureLoading" | "textureAbort" | "textureError" | "textureLoaded" | "webXRControllerEvent" | "webXRAxesUpdate" | "webXRControllerRayUpdate" | "webXRMoveToPano" | "dispose" | "willLoad" | "modelWillLoad" | "modelGeometryLoaded" | "modelMaterialLoaded" | "modelBvhLoaded" | "modelLoadError" | "modelLoaded" | "modelShownFloorChange" | "renderFrame" | "fps" | "stateChange" | "currentStateChange" | "setState" | "stateSynced" | "wantsToMoveToPano" | "wantsChangeMode" | "modeChange" | "helpersVisibleChange"

        预设的监听事件名称

      Parameters

      Returns void

on: (<K>(name: K, callback: ((...args: Parameters<EventTypes[K]>) => ReturnType<EventTypes[K]>), once?: boolean) => (() => void))

Type declaration

    • <K>(name: K, callback: ((...args: Parameters<EventTypes[K]>) => ReturnType<EventTypes[K]>), once?: boolean): (() => void)
    • 注册事件

      Type Parameters

      • K extends "error" | "network" | "load" | "loaded" | "webXRSessionStart" | "webXRSessionEnd" | "mouseWheel" | "initAnimationWillStart" | "initAnimationEnded" | "cameraUpdate" | "cameraPositionUpdate" | "cameraDirectionUpdate" | "panoSelected" | "wantsMoveToPano" | "moveToPano" | "panoWillLoad" | "panoLoaded" | "panoLoadError" | "moveToPanoCanceled" | "panoWillArrive" | "panoArrived" | "movingToPano" | "wantsGesture" | "gesture" | "wantsPanGesture" | "panGesture" | "wantsInteriaPan" | "interiaPan" | "wantsTapGesture" | "tapGesture" | "wantsPinchGesture" | "wantsPressGesture" | "pressGesture" | "pinchGesture" | "wantsMouseWheel" | "intersectionOnModelUpdate" | "wantsShowIntersectionOnModel" | "intersectionHidden" | "textureStartLoad" | "textureLoading" | "textureAbort" | "textureError" | "textureLoaded" | "webXRControllerEvent" | "webXRAxesUpdate" | "webXRControllerRayUpdate" | "webXRMoveToPano" | "dispose" | "willLoad" | "modelWillLoad" | "modelGeometryLoaded" | "modelMaterialLoaded" | "modelBvhLoaded" | "modelLoadError" | "modelLoaded" | "modelShownFloorChange" | "renderFrame" | "fps" | "stateChange" | "currentStateChange" | "setState" | "stateSynced" | "wantsToMoveToPano" | "wantsChangeMode" | "modeChange" | "helpersVisibleChange"

        预设的监听事件名称

      Parameters

      • name: K

        事件类型

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

        事件回调函数

      • Optional once: boolean

        是否只执行一次

      Returns (() => void)

      解除事件

        • (): void
        • 注册事件

          Returns void

          解除事件

once: (<K>(name: K, callback: ((...args: Parameters<EventTypes[K]>) => ReturnType<EventTypes[K]>)) => (() => void))

Type declaration

    • <K>(name: K, callback: ((...args: Parameters<EventTypes[K]>) => ReturnType<EventTypes[K]>)): (() => void)
    • 注册事件(是否只执行一次)

      Type Parameters

      • K extends "error" | "network" | "load" | "loaded" | "webXRSessionStart" | "webXRSessionEnd" | "mouseWheel" | "initAnimationWillStart" | "initAnimationEnded" | "cameraUpdate" | "cameraPositionUpdate" | "cameraDirectionUpdate" | "panoSelected" | "wantsMoveToPano" | "moveToPano" | "panoWillLoad" | "panoLoaded" | "panoLoadError" | "moveToPanoCanceled" | "panoWillArrive" | "panoArrived" | "movingToPano" | "wantsGesture" | "gesture" | "wantsPanGesture" | "panGesture" | "wantsInteriaPan" | "interiaPan" | "wantsTapGesture" | "tapGesture" | "wantsPinchGesture" | "wantsPressGesture" | "pressGesture" | "pinchGesture" | "wantsMouseWheel" | "intersectionOnModelUpdate" | "wantsShowIntersectionOnModel" | "intersectionHidden" | "textureStartLoad" | "textureLoading" | "textureAbort" | "textureError" | "textureLoaded" | "webXRControllerEvent" | "webXRAxesUpdate" | "webXRControllerRayUpdate" | "webXRMoveToPano" | "dispose" | "willLoad" | "modelWillLoad" | "modelGeometryLoaded" | "modelMaterialLoaded" | "modelBvhLoaded" | "modelLoadError" | "modelLoaded" | "modelShownFloorChange" | "renderFrame" | "fps" | "stateChange" | "currentStateChange" | "setState" | "stateSynced" | "wantsToMoveToPano" | "wantsChangeMode" | "modeChange" | "helpersVisibleChange"

        预设的监听事件名称

      Parameters

      Returns (() => void)

      解除事件

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

          Returns void

          解除事件

preloadPano: ((panoIndex: number, callback?: ((costs: number) => void)) => Promise<number>)

Type declaration

    • (panoIndex: number, callback?: ((costs: number) => void)): Promise<number>
    • 预加载点位图片资源

      Parameters

      • panoIndex: number

        观察点序号

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

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

          • (costs: number): void
          • Parameters

            • costs: number

            Returns void

      Returns Promise<number>

      加载完成的 Promise 参数同 callback

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

Type declaration

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

      description

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

      Parameters

      • vector: Vector3

        三维坐标

      • testModel: boolean = false

        是否计算模型遮挡

      Returns Vector2

      二维坐标 或者 null

render: ((callback?: (() => void), updateObjectResolution?: boolean) => WebGLRenderTarget)

Type declaration

    • (callback?: (() => void), updateObjectResolution?: boolean): WebGLRenderTarget
    • 强制渲染

      description

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

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

      Parameters

      • Optional callback: (() => void)

        渲染完成回调

          • (): void
          • Returns void

      • updateObjectResolution: boolean = false

      Returns WebGLRenderTarget

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

Type declaration

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

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

      Parameters

      • state: Partial<State>

        目标状态

      • immediately: boolean = false

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

      • userAction: boolean = true

        是否是用户触发的动作

      Returns void

shownFloor: any
state: State

Five React Inject: Five 的目标状态

description
five 设置了以下状态

- mode: Mode
- panoIndex: number
- longitude: number
- latitude: number
- fov: number
- offset: THREE.Vector3

可以通过 state, currentState 和 setState 来获取和设置。
通过 state 设置后,five 会通过合适的动画运动来达到设置的位置。
来迎合一些通过数据驱动的场景。
totalFloorLength: any
unsafe__fiveInstance: Five

Five React Inject: 获取 five 实例

description

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

deprecated

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

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

Type declaration

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

      description

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

      Parameters

      • pose: Partial<Omit<Pose, "offset">>

        相机目标位置

      • duration: number

        动画触发的时常

      • userAction: boolean = true

        是否用户触发

      Returns Promise<void>

      Promise 是否移动成功

work: Work

Five React Inject: Five Work

Methods

  • needsRender(): void
  • 下一帧渲染

    description

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

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

    Returns void

  • showFloor(floorIndex?: number): void
  • 显示楼层

    Parameters

    • Optional floorIndex: number

      楼层,如果不传则都显示

    Returns void

  • toggleHelperVisible(visible: boolean): void
  • 帮助元素的隐藏/显示

    Parameters

    • visible: boolean

      隐藏/显示

    Returns void