Options
All
  • Public
  • Public/Protected
  • All
Menu

DIVA 客户端类,保存与 DIVA 交互所需要的数据,并提供交互方法。

Hierarchy

  • DivaClient

Implements

Index

Constructors

constructor

  • new DivaClient(config: DivaClientConfig): DivaClient
  • 创建一个新的客户端实例。

    Parameters

    • config: DivaClientConfig

      DIVA 客户端构造选项

    Returns DivaClient

Accessors

eventBus

  • get eventBus(): Observable<DivaEvent>
  • 获取事件总线。

    Returns Observable<DivaEvent>

    DIVA 远程调用事件的可观测对象

Methods

addEventListener

  • 该方法将指定的监听器注册到 DIVA 上,当该对象触发指定的事件时, 指定的回调函数就会被执行。

    Parameters

    • type: string

      事件类型

    • listener: null | EventListener

      当所监听的事件类型触发时,会接收到一个事件通知对象

    • Optional options: AddEventListenerOptions

      侦听器选项

    Returns Promise<void>

applyScene

  • applyScene(name: string, options?: ApplySceneOptions): Promise<SuccessObject<Defined>>
  • applyScene(index: number, options?: ApplySceneOptions): Promise<SuccessObject<Defined>>
  • 应用指定场景名称的场景。

    Parameters

    • name: string

      场景名称

    • Optional options: ApplySceneOptions

      应用场景选项

    Returns Promise<SuccessObject<Defined>>

  • 应用指定场景索引值的场景。

    Parameters

    • index: number

      场景索引值

    • Optional options: ApplySceneOptions

      应用场景选项

    Returns Promise<SuccessObject<Defined>>

batchRequest

  • batchRequest(requests: JsonRpcRequestMeta[]): Promise<SuccessObject<Defined>[]>
  • 批量处理多条 rpc 请求。 Note: 任意一个 rpc 请求失败,都将导致批量请求抛出异常。

    Parameters

    • requests: JsonRpcRequestMeta[]

      rpc 请求列表

    Returns Promise<SuccessObject<Defined>[]>

    请求的响应结果列表

dispatchEvent

  • dispatchEvent(event: CustomEvent<any>): boolean
  • 向 DIVA Client 派发指定事件。

    Parameters

    • event: CustomEvent<any>

      需要派发的事件通知对象

    Returns boolean

getCameraParams

  • getCameraParams(): Promise<CameraOptions>
  • 获取镜头参数

    Returns Promise<CameraOptions>

getEntitiesByGroupPath

  • getEntitiesByGroupPath<T>(path: string): Promise<T[]>
  • 获取指定 DIVA 大纲组下的实体列表。获取到的实例都将会根据其具体类型实例化为 相对应的对象实例,如模型(Model)、灯光(Light)、设备(Device)等。

    Type parameters

    Parameters

    • path: string

      DIVA 大纲组的全路径

    Returns Promise<T[]>

    一个包含对象化实例列表的期约(Promise)

getEntitiesByName

  • getEntitiesByName<T>(name: string): Promise<T[]>
  • 获取指定名称的实例列表。获取到的实例都将会根据其具体类型实例化为相对应的 对象实例,如模型(Model)、灯光(Light)、设备(Device)等。

    Type parameters

    Parameters

    • name: string

      DIVA 大纲中实体的名称

    Returns Promise<T[]>

    一个包含对象化实例列表的期约(Promise)

getEntityById

  • getEntityById<T>(id: string): Promise<T>
  • 获取指定 id 的实体。获取到的实例会根据其具体类型实例化为相对应的对象实例, 如模型(Model)、灯光(Light)、设备(Device)等。

    Type parameters

    Parameters

    • id: string

      实体唯一标识符

    Returns Promise<T>

    一个包含对象化实例的期约(Promise)

getEntityManager

  • getEntityManager(): EntityManager
  • 获取当前客户端的实体管理器。

    Returns EntityManager

getModelGroupByGroupPath

  • 获取指定 DIVA 大纲组下的实体组。获取到的实例都将会根据其具体类型实例化为 相对应的对象实例,如模型(Model)、灯光(Light)、设备(Device)等。

    Parameters

    • path: string

      DIVA 大纲组的全路径

    Returns Promise<TypedGroup<Model>>

    一个包含对象化实例组的期约(Promise)

load

  • load(): Promise<void>
  • 加载当前客户端至世界容器中,并建立与服务端的数据通信通道。

    Returns Promise<void>

notify

  • notify(method: string, params: RpcParams): void
  • 通过数据通道向服务端发送 rpc 通知。

    Parameters

    • method: string

      rpc 通知的方法名

    • params: RpcParams

      rpc 通知的参数

    Returns void

pauseCameraTrack

  • pauseCameraTrack(): Promise<SuccessObject<Defined>>
  • 暂停当前正在播放的相机轨。 再次播放该相机轨时,将从当前暂停处继续播放。 如当前没有正在播放的相机轨,调用则不会有任何作用。

    Returns Promise<SuccessObject<Defined>>

playCameraTrack

  • playCameraTrack(name: string, options?: PlayCameraTrackOptions): Promise<SuccessObject<Defined>>
  • playCameraTrack(index: number, options?: PlayCameraTrackOptions): Promise<SuccessObject<Defined>>
  • 播放指定名称的相机轨。 如当前尚有一条相机轨正在播放过程中,便调用播放另一条相机轨时,将会立即开始 播放并停止当前播放中的相机轨。

    Parameters

    • name: string

      相机轨名称

    • Optional options: PlayCameraTrackOptions

      相机轨选项

    Returns Promise<SuccessObject<Defined>>

  • 播放指定索引值的相机轨。 如当前尚有一条相机轨正在播放过程中,便调用播放另一条相机轨时,将会立即开始 播放并停止当前播放中的相机轨。

    Parameters

    • index: number

      相机轨索引值

    • Optional options: PlayCameraTrackOptions

      相机轨选项

    Returns Promise<SuccessObject<Defined>>

removeEventListener

  • removeEventListener(type: string, callback: EventListener): Promise<void>
  • 从 DIVA Client 上移除事件。

    Parameters

    • type: string

      需要移除的事件类型,如 "click"

    • callback: EventListener

      需要从目标事件移除的 EventListener 函数

    Returns Promise<void>

request

  • request(method: string, params?: RpcParams): Promise<SuccessObject<Defined>>
  • 通过数据通道向服务端发送 rpc 请求,并异步等待响应结果。

    Parameters

    • method: string

      rpc 请求的方法名

    • Optional params: RpcParams

      rpc 请求的参数

    Returns Promise<SuccessObject<Defined>>

    请求的响应结果

setCameraLimit

  • 设置摄像机约束。 当调用参数为空时,表示无约束。

    Parameters

    Returns Promise<void>

setCameraParams

  • setCameraParams(options: CameraOptions): Promise<void>
  • 设置镜头参数

    Parameters

    • options: CameraOptions

      约束参数

    Returns Promise<void>

setCompass

  • setCompass(enabled: boolean): Promise<SuccessObject<Defined>>
  • 设置罗盘的启用状态。

    Parameters

    • enabled: boolean

      是否启用

    Returns Promise<SuccessObject<Defined>>

setDate

  • setDate(date: Date): Promise<SuccessObject<Defined>>
  • 设置当前世界的日期。

    Parameters

    • date: Date

      日期

    Returns Promise<SuccessObject<Defined>>

setHighlightStyle

  • setHighlightStyle(): Promise<void>
  • setHighlightStyle(opt: { border?: { color?: string; width?: number }; color?: string }): Promise<void>
  • 将高亮模式重置为预设效果。

    Returns Promise<void>

  • 自定义设置高亮叠色模式效果。

    Parameters

    • opt: { border?: { color?: string; width?: number }; color?: string }

      高亮叠色选项

      • Optional border?: { color?: string; width?: number }

        高亮边缘轮廓。

        • Optional color?: string

          轮廓颜色,hex 字符串。默认值:#80F3FF

        • Optional width?: number

          轮廓宽度。默认值:2

      • Optional color?: string

        高亮叠加颜色,hex 字符串, 支持 alpha 通道。默认值:#FFFFFF00(透明)

    Returns Promise<void>

setInputMode

  • setInputMode(value: 0 | 1): Promise<void>
  • 设置鼠标输入交互模式。

    • 模式 0:按住左键无效果,按住中键绕中心旋转镜头,按住右键旋转镜头。
    • 模式 1:按住左键绕中心旋转镜头,按住中键旋转镜头,按住右键平移镜头。

    Parameters

    • value: 0 | 1

      0 或 1

    Returns Promise<void>

setMovementMode

  • setMovementMode(mode: MovementMode): Promise<SuccessObject<Defined>>
  • 设置场景中的移动模式。

    Parameters

    Returns Promise<SuccessObject<Defined>>

setPathVisibility

  • setPathVisibility(index: number, visible: boolean): Promise<void>
  • 设置指定索引值路径的可见性。

    Parameters

    • index: number

      路径的索引值

    • visible: boolean

      可见与否

    Returns Promise<void>

setResolution

  • 设置服务后端运行渲染的分辨率。

    Note: 当设置的分辨率超过 4k(3840*2160) 时,将会按比例缩小至范围内。

    Parameters

    Returns Promise<void>

setSunSimulation

  • setSunSimulation(enabled: boolean): Promise<SuccessObject<Defined>>
  • 设置太阳仿真的启用状态

    Parameters

    • enabled: boolean

      是否启用

    Returns Promise<SuccessObject<Defined>>

setTime

  • setTime(time: Date): Promise<SuccessObject<Defined>>
  • 设置当前世界的时间。

    Parameters

    • time: Date

      时间

    Returns Promise<SuccessObject<Defined>>

setWeather

  • setWeather(name: WeatherName): Promise<SuccessObject<Defined>>
  • 设置当前世界的天气。

    Parameters

    Returns Promise<SuccessObject<Defined>>

stopCameraTrack

  • stopCameraTrack(): Promise<SuccessObject<Defined>>
  • 停止当前正在播放的相机轨。 再次播放该相机轨时,将从头开始。 如当前没有正在播放的相机轨,调用则不会有任何作用。

    Returns Promise<SuccessObject<Defined>>