Options
All
  • Public
  • Public/Protected
  • All
Menu

Class PanoramaTransformController

deprecated

全景图下Element变换控制器, 即将弃用. 请使用 PanoramaController 与 TransformController

Hierarchy

Index

Constructors

constructor

  • example
    panoCtl = new PanoramaController(view, panoMgr);
    panoCtl.setMouseClickEnabled(true);
    stage.bindController(panoCtl);
    panoCtl.lookFromPanorama(0, new Vector3(-1, 0, 0));

    Parameters

    • view: View

      绑定的View

    • Optional panoramaGroups: PanoramaGroup | PanoramaGroup[]

      全景图组数组,至少需要有一个元素

    • Optional showModel: undefined | false | true

      可选,是否一开始就显示模型

    Returns PanoramaTransformController

Properties

Protected eventMap

eventMap: Map<string, Set<Function>>

rotateSpeed

rotateSpeed: number

Methods

addPanoramaGroups

  • 添加全景图组

    parama

    showModel 可选,是否一开始就显示模型

    Parameters

    • panoramaGroups: PanoramaGroup | PanoramaGroup[]

      新增加的全景图组(单个或数组)

    • Optional showModel: undefined | false | true

    Returns void

attach

  • 将控制杆附着至元素

    Parameters

    • element: Element

      需要调整的元素

    Returns void

attachedElement

  • Returns Element

bindElement

bindView

  • bindView(view: View): void
  • 绑定视图

    Parameters

    • view: View

      需要绑定的View

    Returns void

detach

  • detach(): void
  • 解除控制杆

    Returns void

dispose

  • dispose(): Promise<void>

Protected emit

  • emit(event: string, ...args: unknown[]): void
  • Parameters

    • event: string
    • Rest ...args: unknown[]

    Returns void

getAzimuthalAngle

  • getAzimuthalAngle(): number

getMode

  • getMode(): string
  • 获取编辑模式

    Returns string

getPolarAngle

  • getPolarAngle(): number
  • 获取当前纵向转动角度

    Returns number

lockAzimuthalAngle

  • lockAzimuthalAngle(range: number): void

lockPolarAngle

  • lockPolarAngle(range: number): void

lookFromPanorama

  • lookFromPanorama(pid: number, lookDirection?: NS_THREE.Vector3, showModel?: undefined | false | true, preInitPanoramasStrategy?: "all" | number | number[]): Promise<void>
  • 从指定全景图中心以指定视线方向观看

    parama

    showModel 可选,是否一开始就显示模型

    Parameters

    • pid: number

      全景图PID

    • Optional lookDirection: NS_THREE.Vector3

      视线方向

    • Optional showModel: undefined | false | true
    • Optional preInitPanoramasStrategy: "all" | number | number[]

      可选,预创建全景对象的顺序策略,详见[PanoramaGroup]的【initializePanoramasIfNecessary]方法说明

    Returns Promise<void>

lookFromPanoramaTo

  • lookFromPanoramaTo(pid: number, target: Vector3, showModel?: undefined | false | true, preInitPanoramasStrategy?: "all" | number | number[]): Promise<void>
  • 从指定全景图中心看向指定位置

    parama

    showModel 可选,是否一开始就显示模型

    Parameters

    • pid: number

      全景图PID

    • target: Vector3

      目标位置

    • Optional showModel: undefined | false | true
    • Optional preInitPanoramasStrategy: "all" | number | number[]

      可选,预创建全景对象的顺序策略,详见[PanoramaGroup]的【initializePanoramasIfNecessary]方法说明

    Returns Promise<void>

moveCameraInPath

  • moveCameraInPath(pathPoints: Vector3[], params?: undefined | object): Promise<void>
  • 摄像机按指定路径运动

    example
    panoCtl.moveCameraInPath(points, {
     queueIfBusy: false,
     intervals: [200, 1000, 2000, 1000, 3000],
       toDirections: [
         new Vector3(-1, 0, 0),
         new Vector3(-0.8, 0.6, 0),
         new Vector3(-0.6, 0.8, 0),
         new Vector3(0, 0.8, 0),
         new Vector3(0.6, 0, 0),
       ],
     });

    Parameters

    • pathPoints: Vector3[]

      摄像机运动的路径上每一段目的点的Vector3坐标数组

    • Optional params: undefined | object

    Returns Promise<void>

moveInPath

  • moveInPath(path: number[], params?: undefined | object): Promise<void>
  • 摄像机按指定路径运动,并在全景点之间产生渐入渐出效果

    example
    panoCtl = new PanoramaController(view, panoMgr, floorModel);
    panoCtl.setMouseClickEnabled(true);
    stage.bindController(panoCtl);
    panoCtl.lookFromPanorama(0, new Vector3(-1, 0, 0));
    panoCtl.moveInPath([0, 68, 69, 68, 0], {
       queueIfBusy: true,
       intervals: [200, 1000, 2000, 1000, 3000],
       toDirections: [
         new Vector3(-1, 0, 0),
         new Vector3(-0.8, 0.6, 0),
         new Vector3(-0.6, 0.8, 0),
         new Vector3(0, 0.8, 0),
         new Vector3(0.6, 0, 0),
       ],
    });

    Parameters

    • path: number[]
    • Optional params: undefined | object

    Returns Promise<void>

moveToPanorama

  • moveToPanorama(toPID: number, params?: undefined | object): Promise<void>
  • 移动到指定的全景点处

    Parameters

    • toPID: number

      目标全景点ID

    • Optional params: undefined | object

    Returns Promise<void>

moveToPanoramaSync

  • moveToPanoramaSync(toPID: number, params?: undefined | object): Promise<void>
  • 移动到指定的全景点处 此方法与moveToPanorama的不同点在于通过Promise机制实现同步阻塞, 在前一个Translation未完成时发起的Translation会自动被阻塞到前一个完成时再执行

    Parameters

    • toPID: number

      目标全景点ID

    • Optional params: undefined | object

    Returns Promise<void>

off

  • off(event: string, callback: Function): void
  • 注销事件监听

    Parameters

    • event: string

      事件名

    • callback: Function

      回调函数

    Returns void

on

  • on(event: string, callback: Function): void
  • 注册事件监听

    Parameters

    • event: string

      事件名

    • callback: Function

      回调函数

    Returns void

removePanoramaGroup

Protected renderThisFrame

  • renderThisFrame(): void

setAzimuthAngle

  • setAzimuthAngle(radius: number): void
  • 设置相机的横向旋转

    Parameters

    • radius: number

      目标弧度

    Returns void

setAzimuthAngleRange

  • setAzimuthAngleRange(min: number, max: number): void
  • 设置横向转动范围, 最低为-Math.PI, 最高为Math.PI

    Parameters

    • min: number

      横向转动范围最小值

    • max: number

      横向转动范围最大值

    Returns void

setCameraLookAt

  • setCameraLookAt(target: Vector3, sightDirection?: NS_THREE.Vector3): void
  • 设置摄像机按指定视线方向看向目标位置

    Parameters

    • target: Vector3

      目标位置

    • Optional sightDirection: NS_THREE.Vector3

      可选,视线方向,不设置则默认以摄像机当前方向

    Returns void

setCameraPose

  • setCameraPose(position: [number, number, number], lookAt: [number, number, number], useLookAt?: boolean): void
  • 设置摄像机观察方向和位置

    Parameters

    • position: [number, number, number]

      摄像机所在位置

    • lookAt: [number, number, number]

      观察目标点,同时也是OrbitControls的旋转中心

    • Default value useLookAt: boolean = true

    Returns void

setCaptureMove

  • setCaptureMove(capture: boolean): void

setDampingEnabled

  • setDampingEnabled(value: boolean): void
  • 设置是否启用惯性

    Parameters

    • value: boolean

      开关值

    Returns void

setDampingFactor

  • setDampingFactor(value: number): void
  • 设置惯性阻尼

    Parameters

    • value: number

      衰减值

    Returns void

setEnabled

  • setEnabled(value: boolean): void
  • Parameters

    • value: boolean

    Returns void

setFOV

  • setFOV(fov: number): void
  • 设置FOV, 不可以超过setFOVRange所设置的范围.

    Parameters

    • fov: number

      垂直方向视场角

    Returns void

setFOVRange

  • setFOVRange(min: number, max: number): void
  • 设置FOV范围, 默认为[60, 90]

    Parameters

    • min: number

      垂直方向视场角最小值

    • max: number

      垂直方向视场角最大值

    Returns void

setKeysEnabled

  • setKeysEnabled(value: boolean): void
  • 设置键盘控制启用

    Parameters

    • value: boolean

      是否启用键盘控制

    Returns void

setMode

  • setMode(mode: string): void
  • 设置编辑模式

    Parameters

    • mode: string

      编辑模式, 值为 "translate"(移动), "rotate"(旋转), "scale"(缩放) 其一.

    Returns void

setMouseClickEnabled

  • setMouseClickEnabled(enable: boolean): boolean

setMouseControls

  • setMouseControls(mouseButtons: object): void
  • 设置鼠标操作模式

    Parameters

    • mouseButtons: object

      鼠标按键配置

      • LEFT: MOUSE
      • MIDDLE: MOUSE
      • RIGHT: MOUSE

    Returns void

setMoveOnClickEnabled

  • setMoveOnClickEnabled(value: boolean): void
  • 配置controller是否开启点击移动

    Parameters

    • value: boolean

      是否开启点击移动

    Returns void

setOnScreenDetectRadius

  • setOnScreenDetectRadius(radius: number): void

setPanEnabled

  • setPanEnabled(value: boolean): void
  • 设置是否启用平移功能

    Parameters

    • value: boolean

      开关值

    Returns void

setPanSpeed

  • setPanSpeed(value: number): void
  • 设置位移速度

    Parameters

    • value: number

      位移速度

    Returns void

setPolarAngle

  • setPolarAngle(radius: number): void
  • 设置相机的纵向旋转

    Parameters

    • radius: number

      目标弧度

    Returns void

setPolarAngleRange

  • setPolarAngleRange(min: number, max: number): void
  • 设置纵向转动范围, 最低为0, 最高为Math.PI

    Parameters

    • min: number

      纵向转动范围最小值

    • max: number

      纵向转动范围最大值

    Returns void

setRotateEnabled

  • setRotateEnabled(value: boolean): void
  • 设置是否启用旋转功能

    Parameters

    • value: boolean

      开关值

    Returns void

setRotationSnap

  • setRotationSnap(snap: number | null): void
  • 设置旋转时的最小旋转单位

    Parameters

    • snap: number | null

      旋转最小单位, 单位为弧度, 默认值为null

    Returns void

setSize

  • setSize(size: number): void
  • 设置控制杆尺寸

    Parameters

    • size: number

      控制杆尺寸 默认为1

    Returns void

setStickVisibility

  • setStickVisibility(x: boolean, y: boolean, z: boolean): void
  • 设置X, Y, Z轴控制杆可见性

    Parameters

    • x: boolean

      X轴控制杆可见性

    • y: boolean

      Y轴控制杆可见性

    • z: boolean

      Z轴控制杆可见性

    Returns void

setTarget

  • setTarget(x: number, y: number, z: number): void
  • 设置控制中心点

    Parameters

    • x: number

      世界坐标X

    • y: number

      世界坐标Y

    • z: number

      世界坐标Z

    Returns void

setTouchControls

  • setTouchControls(touches: object): void
  • 设置触摸操作模式

    Parameters

    • touches: object

      触摸配置

      • ONE: TOUCH
      • TWO: TOUCH

    Returns void

setTouchEnabled

  • setTouchEnabled(enable: boolean): boolean

setTransitionSnap

  • setTransitionSnap(snap: number | null): void
  • 设置平移时移动的最小单位

    Parameters

    • snap: number | null

      移动最小单位, 默认值为null

    Returns void

setViewConfiguration

  • setViewConfiguration(hidePanoramas: boolean, showModel: boolean): Promise<void>
  • Parameters

    • hidePanoramas: boolean
    • showModel: boolean

    Returns Promise<void>

setZoom

  • setZoom(zoom: number): void
  • 设置缩放

    Parameters

    • zoom: number

      缩放比例值

    Returns void

setZoomEnabled

  • setZoomEnabled(value: boolean): void
  • 设置是否启用缩放功能

    Parameters

    • value: boolean

      开关值

    Returns void

showPanorama

  • showPanorama(pid: number, options?: undefined | object): Promise<Panorama | undefined>
  • 仅显示指定全景图,但不操作摄像机

    parama

    showModel 可选,是否一开始就显示模型

    Parameters

    • pid: number

      全景点PID

    • Optional options: undefined | object

    Returns Promise<Panorama | undefined>

stopMoving

  • stopMoving(): void

unbind

  • unbind(): Promise<void>
  • Returns Promise<void>

unbindElement

unlockAzimuthalAngle

  • unlockAzimuthalAngle(): void

unlockPolarAngle

  • unlockPolarAngle(): void

unlockRotation

  • unlockRotation(): void

Static createModelUniforms

  • createModelUniforms(): object

Static debugModelFS

  • debugModelFS(): string

Static debugModelVS

  • debugModelVS(): string

Static getInstantTranslationVS

  • getInstantTranslationVS(): string