import { CameraPose } from "../core/camera"; import { Cardboard } from "../cardboard"; import { State } from "../types/state"; import { Pose } from "../types/pose"; import { BaseControllerInitArgs } from "./base"; import { PanoramaController, PanoramaControllerCustomInitArgs, PanoramaControllerInitArgs } from "./panorama"; import { PanoCircleMeshInterface } from "../types/panoCircleMeshInterface"; interface VRPanoramaControllerCustomInitArgs extends Omit { } declare const defaultVRPanoramaControllerCustomInitArgs: Required; type VRPanoramaControllerInitArgs = BaseControllerInitArgs & VRPanoramaControllerCustomInitArgs; declare class VRPanoramaController extends PanoramaController implements Required { protected cardboard: Cardboard; protected helperElement?: HTMLElement; protected activePanoMesh?: PanoCircleMeshInterface; protected activeTime?: number; static parseArgs(args: VRPanoramaControllerInitArgs): Required; static initAnimationEndState(args: VRPanoramaControllerInitArgs): State; constructor(args: VRPanoramaControllerInitArgs); updateConfiguration(args: VRPanoramaControllerCustomInitArgs): boolean; /** 析构函数 */ destroy(): void; /** 是否准备好,即不在用户操作中,并且不再动画中 */ isReady(): boolean; /** 生命周期: 更新屏幕渲染尺寸 */ updateRenderSize(): void; /** 转动摄像头 */ updateCamera(pose: Partial, duration: number, userAction: boolean): Promise; /** 通过帧动画转动摄像头 */ updateCameraWithKeyframes(keyframes: { progress: number; value: Pose; key?: string; }[], duration: number, userAction: boolean): Promise; /** 时间迭代 */ updateTime(time: number, deltaTime: number, ...args: any[]): void; /** 生命周期 渲染 */ render(): boolean; /** * 同步修改相机参数 * @param cameraPose */ protected setCamera(cameraPose?: Partial): void; /** 删除提示层 */ protected destroyHelper(): void; /** 设置提示层大小 */ protected updateHelperElementSize(): void; /** 计算看向方向的射线碰撞 */ protected intersect(time: number): PanoCircleMeshInterface | undefined; protected onPanGesture(): void; protected onTapGesture(): void; protected onPinchGesture(): void; protected onMouseMove(): void; protected onMouseOut(): void; } export { VRPanoramaController, VRPanoramaControllerInitArgs, VRPanoramaControllerCustomInitArgs, defaultVRPanoramaControllerCustomInitArgs, };