Options
All
  • Public
  • Public/Protected
  • All
Menu

Class TilePanoramaGroup

全景图组

Hierarchy

Index

Constructors

constructor

  • example
    panoMgr = new TilePanoramaGroup(panoramaDataList, 2, {
     floorModel,
     groundParams,
    });
    stage.bindElement(panoMgr);

    Parameters

    • panoramaDataList: TilePanoramaData[]
    • options: object
      • Optional globalScale?: undefined | number
      • Optional groundParams?: GroundParameters
      • Optional indicatorHeight?: undefined | number
      • Optional indicatorImageURL?: undefined | string
      • Optional indicatorPositionMap?: Map<number, Vector3>
      • Optional indicatorWidth?: undefined | number
      • Optional invisibleIndicatorImageURL?: undefined | string
      • Optional modelElement?: NS_THREE.Object3D
      • Optional showInvisible?: undefined | false | true

    Returns TilePanoramaGroup

Properties

currentPanorama

currentPanorama: TilePanorama | undefined

当前全景点

currentPanoramaID

currentPanoramaID: number

当前全景点id

modelElement

modelElement: Object3D | null

模型元素

Static DefaultVisibleRadius

DefaultVisibleRadius: number = 10

默认有效半径

Static IndicatorOffsetZ

IndicatorOffsetZ: number = 0.1

标签高度偏移

Static IndicatorRadius

IndicatorRadius: number = 0.1

标签显示半径

Methods

addGroupViewConfiguration

bindModelElement

  • bindModelElement(modelElement?: NS_THREE.Object3D): void
  • 绑定模型Element对象(用于创建天空包围盒供全景切换时使用)

    Parameters

    • Optional modelElement: NS_THREE.Object3D

      模型Element对象

    Returns void

dispose

  • dispose(exceptForCubeTextureOfPID?: undefined | number): void
  • 销毁

    Parameters

    • Optional exceptForCubeTextureOfPID: undefined | number

    Returns void

getIndicatorMaterial

  • getIndicatorMaterial(mode: IndicatorDisplayMode, visibility: boolean): Material | undefined
  • 获取标签材质

    Parameters

    • mode: IndicatorDisplayMode
    • visibility: boolean

    Returns Material | undefined

getIndicatorPosition

  • getIndicatorPosition(pid: number): Vector3 | undefined
  • 根据pid获取标签的位置

    Parameters

    • pid: number

    Returns Vector3 | undefined

getIndicatorSize

  • getIndicatorSize(): number[]
  • 查询当前设置的地面全景点标识尺寸

    Returns number[]

    number数组,依次是width, height

getIndicatorVisibility

  • getIndicatorVisibility(pid: number): boolean
  • 获取pid的标签是否可见

    Parameters

    • pid: number

    Returns boolean

getPanoramaByPID

  • 获得指定ID的全景点对象

    Parameters

    • pid: number

      全景点ID

    Returns TilePanorama | undefined

getPanoramaByPIDInstant

  • 立刻获得指定ID的全景点对象

    Parameters

    • pid: number

      全景点ID

    Returns TilePanorama | null

initializePanoramasIfNecessary

  • initializePanoramasIfNecessary(preInitStrategy: "all" | number | number[]): Promise<(undefined | TilePanorama)[]>
  • 指定预构建全景对象的顺序策略

    Parameters

    • preInitStrategy: "all" | number | number[]

      多义参数,表示具体的创建顺序 当为'all'时,直接按构造函数中panoramaDataList的顺序创建全部全景对象 当为一个整数值时,表示一个全景PID,将按全景点邻接关系以广度优先搜索的顺序创建全景对象 当为一个整数数组时,以数组指定的PID顺序依次创建

    Returns Promise<(undefined | TilePanorama)[]>

intersectIndicators

  • intersectIndicators(rayOrigin: Vector3, rayDirection: Vector3): number
  • 与全景点标志作相交测试 若有任一个全景点标志与射线相交则返回最近一个的相应PID 若没有则返回-1

    Parameters

    • rayOrigin: Vector3

      射线起点

    • rayDirection: Vector3

      射线方向

    Returns number

presentPanoramaAround

  • presentPanoramaAround(currentPID: number, view?: View): Promise<number>
  • 设置当前位于的全景点位。将加载指定全景点并预加载其相邻全景点

    Parameters

    • currentPID: number

      全景点位ID

    • Optional view: View

    Returns Promise<number>

    1为初始化成功, 0为初始化失败

presentPanoramaIndicators

  • presentPanoramaIndicators(pidPositionMap: Map<number, Vector3>): void
  • 显示指定全景点位标签

    Parameters

    • pidPositionMap: Map<number, Vector3>

      从PID映射到全景点位位置的Map

    Returns void

presentPanoramaIndicatorsAround

  • presentPanoramaIndicatorsAround(pid: number, view?: View): Promise<void>
  • 显示指定全景点及其相邻全景点上的标签

    Parameters

    • pid: number

      “中心”全景点ID,一般指摄像机当前所在的全景点PID

    • Optional view: View

    Returns Promise<void>

putPanorama

  • 添加全景点

    Parameters

    Returns void

setBoundBoxAppearance

  • setBoundBoxAppearance(material: Material): void
  • 设置包围盒出现

    Parameters

    • material: Material

    Returns void

setIndicatorHidden

  • setIndicatorHidden(hidden: boolean, pid?: number | number[]): void
  • 设置标签隐藏

    Parameters

    • hidden: boolean

      隐藏

    • Optional pid: number | number[]

      指定pid

    Returns void

setIndicatorImageURL

  • setIndicatorImageURL(url: string): void
  • 设置标签的图片

    Parameters

    • url: string

    Returns void

setIndicatorMaterial

  • setIndicatorMaterial(material: Material, mode: IndicatorDisplayMode, visibility: boolean): void
  • 设定全景点位标签的原型对象,每个全景点位的标签会以该原型对象为母本clone出来

    Parameters

    • material: Material
    • mode: IndicatorDisplayMode

      点位的展示模式

    • visibility: boolean

      点位的显隐状态设置

    Returns void

setIndicatorSize

  • setIndicatorSize(width: number, height: number): void
  • 改变地面全景点标识的尺寸

    Parameters

    • width: number

      宽度

    • height: number

      高度

    Returns void

setIndicatorVisibility

  • setIndicatorVisibility(visibility: boolean, pid?: number | number[]): void
  • 设置指定全景点位的显示/隐藏状态

    Parameters

    • visibility: boolean

      显示/隐藏状态

    • Optional pid: number | number[]

      可选,可以是全景图点位PID数组,也可以是单个PID, 若不设置则应用到本PanoramaGroup的所有全景点位上

    Returns void

setMaxWorldDistance

  • setMaxWorldDistance(distance: number): void
  • 设置最大时间距离

    Parameters

    • distance: number

    Returns void

updateLevelMax

  • updateLevelMax(levelMax: number): void
  • 更新最大等级

    Parameters

    • levelMax: number

      最大等级

    Returns void

Static getBoundBox

  • getBoundBox(rootObj: Object3D | null): Mesh | null
  • 获取盒子

    Parameters

    • rootObj: Object3D | null

    Returns Mesh | null