Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

Index

Properties

cameraDirection

cameraDirection: any

cameraRaycaster

cameraRaycaster: any

currentObserver

currentObserver: any

currentState

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

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

helperVisible: any

initBasisLoader

initBasisLoader: (transcoderResourcePath?: string) => void

Type declaration

    • (transcoderResourcePath?: string): void
    • 初始化 initBasisLoader

      description

      同初始化的 initBasisLoader 参数。用于初始化 basisLoader。 basisLoader 只会初始化一次,一旦初始化则不会再修改。

      example
      // 使用默认解析器
      five.initialBasisLoader();

      // 使用指定解析器
      // 会调用这个目录下的 basis_transcoder.js basis_transcoder.wasm 文件作为解析器
      five.initialBasisLoader("https://vrlab-public.ljcdn.com/release/static/image/release/five/basis/");

      Parameters

      • Optional transcoderResourcePath: string

        basis 解析器路径 如果不设置,使用默认解析器 basis 解析器。 可以传入解析器的 resourcePath, 则使用指定的解析器

      Returns void

intersectRaycaster

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

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

model: any

modelReadyState

modelReadyState: any

off

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

Type declaration

    • 解除事件

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

      Type parameters

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

        预设的监听事件名称

      Parameters

      Returns void

on

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: "error" | "network" | "cameraDirectionUpdate" | "cameraUpdate" | "cameraPositionUpdate" | "panoSelected" | "moveToPano" | "moveToPanoCanceled" | "panoWillArrive" | "movingToPano" | "panoArrived" | "panoWillLoad" | "panoLoaded" | "panoLoadError" | "initAnimationEnded" | "initAnimationWillStart" | "wantsGesture" | "gesture" | "wantsTapGesture" | "tapGesture" | "wantsPressGesture" | "pressGesture" | "wantsPanGesture" | "wantsInteriaPan" | "panGesture" | "interiaPan" | "wantsPinchGesture" | "pinchGesture" | "wantsMouseWheel" | "mouseWheel" | "wantsShowIntersectionOnModel" | "intersectionOnModelUpdate" | "intersectionHidden" | "textureStartLoad" | "textureLoading" | "textureAbort" | "textureLoaded" | "textureError" | "willLoad" | "load" | "loaded" | "modelWillLoad" | "modelGeometryLoaded" | "modelMaterialLoaded" | "modelBvhLoaded" | "modelLoadError" | "modelLoaded" | "modelShownFloorChange" | "renderFrame" | "fps" | "stateChange" | "currentStateChange" | "setState" | "stateSynced" | "wantsMoveToPano" | "wantsToMoveToPano" | "wantsChangeMode" | "modeChange" | "helpersVisibleChange" | "dispose"

        预设的监听事件名称

      Parameters

      • name: K

        事件类型

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

        事件回调函数

      • Optional once: boolean

        是否只执行一次

      Returns () => void

      解除事件

        • (): void
        • 注册事件

          Returns void

          解除事件

once

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: "error" | "network" | "cameraDirectionUpdate" | "cameraUpdate" | "cameraPositionUpdate" | "panoSelected" | "moveToPano" | "moveToPanoCanceled" | "panoWillArrive" | "movingToPano" | "panoArrived" | "panoWillLoad" | "panoLoaded" | "panoLoadError" | "initAnimationEnded" | "initAnimationWillStart" | "wantsGesture" | "gesture" | "wantsTapGesture" | "tapGesture" | "wantsPressGesture" | "pressGesture" | "wantsPanGesture" | "wantsInteriaPan" | "panGesture" | "interiaPan" | "wantsPinchGesture" | "pinchGesture" | "wantsMouseWheel" | "mouseWheel" | "wantsShowIntersectionOnModel" | "intersectionOnModelUpdate" | "intersectionHidden" | "textureStartLoad" | "textureLoading" | "textureAbort" | "textureLoaded" | "textureError" | "willLoad" | "load" | "loaded" | "modelWillLoad" | "modelGeometryLoaded" | "modelMaterialLoaded" | "modelBvhLoaded" | "modelLoadError" | "modelLoaded" | "modelShownFloorChange" | "renderFrame" | "fps" | "stateChange" | "currentStateChange" | "setState" | "stateSynced" | "wantsMoveToPano" | "wantsToMoveToPano" | "wantsChangeMode" | "modeChange" | "helpersVisibleChange" | "dispose"

        预设的监听事件名称

      Parameters

      Returns () => void

      解除事件

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

          Returns void

          解除事件

preloadPano

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

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

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

scene: any

setState

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

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

      • userAction: boolean = true

        是否是用户触发的动作

      Returns void

shownFloor

shownFloor: any

state

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

totalFloorLength: any

unsafe__fiveInstance

unsafe__fiveInstance: Five

Five React Inject: 获取 five 实例

description

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

deprecated

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

updateCamera

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: Work

Five React Inject: Five Work

Methods

needsRender

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

    description

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

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

    Returns void

showFloor

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

    Parameters

    • Optional floorIndex: number

      楼层,如果不传则都显示

    Returns void

toggleHelperVisible

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

    Parameters

    • visible: boolean

      隐藏/显示

    Returns void