Options
All
  • Public
  • Public/Protected
  • All
Menu

Five 模型

description

通过 work 数据加载, 适配 at3d、pbm、dome、domez 格式的文件 可以通过 jsonp 解析 base64 的 dataURL 内容, 需要满足 your/path/filename.at3d.json_xxxxxx, 通过 json_xxxxxx() 方式返回。

Hierarchy

Implements

Index

Constructors

  • new Model(options?: { allowHosts?: string[]; networkSubscribe?: NetworkSubscribe; requestProxy?: any }): Model
  • Parameters

    • options: { allowHosts?: string[]; networkSubscribe?: NetworkSubscribe; requestProxy?: any } = {}
      • Optional allowHosts?: string[]
      • Optional networkSubscribe?: NetworkSubscribe
      • requestProxy?:function
        • requestProxy(url: string): string | Promise<string>
        • Parameters

          • url: string

          Returns string | Promise<string>

    Returns Model

Properties

bounding: Box3

外接盒子的大小

bvhs: BVH[] & { loaded: boolean }

bvh 树的计算结果

触发事件 具体可查看 Subscribe.emit

empty: boolean

是否未加载

floorLength: number

楼层的数量

判断是否注册了事件 具体可查看 Subscribe.hasListener

loaded: boolean

是否加载完成

needsRender: boolean = true

是否需要更新按需渲染

解除事件 具体可查看 Subscribe.off

注册事件 具体可查看 Subscribe.on

注册事件(是否只执行一次) 具体可查看 Subscribe.once

originModel?: PBMContainer

模型瓦片

shownFloor: number

当前显示的楼层

tiledModel?: Tile3DModel

模型瓦片

Accessors

  • get enableTiles(): boolean
  • set enableTiles(enable: boolean): void
  • 是否开启瓦片

    Returns boolean

  • 是否开启瓦片

    Parameters

    • enable: boolean

    Returns void

  • get hasTiles(): boolean
  • 当前模型是否支持瓦片

    Returns boolean

  • get shownfloor(): number
  • 当前显示的楼层

    deprecated

    请用 shwonFloor 代替

    Returns number

Methods

  • buildBVH(): void
  • Returns void

  • dispose(): void
  • 析构函数

    description

    一旦析构,则不能使用

    Returns void

  • disposeGeometry(): void
  • disposeMaterial(): void
  • getEdges(threshold?: number): Line3[]
  • 获取模型边界线

    Parameters

    • threshold: number = ...

      面片间夹角阈值

    Returns Line3[]

    所有模型边界线

  • getTransparent(): boolean
  • hasFloors(): number
  • 获取当前楼层数

    deprecated

    请使用 floorLength 参数代替

    Returns number

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

    Parameters

    • raycaster: Raycaster

      THREE 射线对象

    • Optional floors: number | number[]

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

    Returns Intersection[]

    返回碰撞

  • 加载模型

    Parameters

    Returns Promise<void>

  • setTransparent(bool: boolean): void
  • 设置透明参数

    Parameters

    • bool: boolean

    Returns void

  • show(): void
  • show(floorIndex: number, hiddenOpacity?: number): void
  • 显示某楼层

    example
    model.show() //显示全部楼层
    model.show(1) //显示第一楼层
    model.show(1, 0) //显示第一楼层, 并且其他楼层透明度为 0

    Returns void

  • Parameters

    • floorIndex: number
    • Optional hiddenOpacity: number

    Returns void

  • update(renderer: WebGLRenderer, camera: PerspectiveCamera): void
  • Parameters

    • renderer: WebGLRenderer
    • camera: PerspectiveCamera

    Returns void