import * as THREE from 'three'; import { type WorkObserver } from './work'; import { type CubeFace } from '../types/cube'; export interface WorkObserverProto { /** * 将方向向量转化为全景图 uv。 * @param vector - 全局的方向向量。单位向量。 * @param uvOrigin - top-left 原点在左上角,x轴向右,y轴向下[默认]。bottom-left 原点左下角,x轴向右,y轴向上。 * @returns uv坐标 取值范围 [0,1]。 */ vectorToEquirectangularUv(this: WorkObserver, vector: THREE.Vector3, uvOrigin?: 'top-left' | 'bottom-left'): THREE.Vector2; /** * 将方向向量转化为获六视图 uv * @param vector - 全局的方向向量。单位向量。 * @param uvOrigin - top-left 原点在左上角,x轴向右,y轴向下[默认]。bottom-left 原点左下角,x轴向右,y轴向上。 * @returns uv 坐标,取值范围 [0,1] */ vectorToCubemapUv(this: WorkObserver, vector: THREE.Vector3, uvOrigin?: 'top-left' | 'bottom-left'): [cubeFace: CubeFace, cubemapUv: THREE.Vector2]; /** * 将全景图 uv 转化为方向向量。 * @param uv - uv坐标 取值范围 [0,1]。 * @param uvOrigin - top-left 原点在左上角,x轴向右,y轴向下[默认]。bottom-left 原点左下角,x轴向右,y轴向上。 * @returns 全局的方向向量。单位向量。 */ equirectangularUvToVector(this: WorkObserver, uv: THREE.Vector2, uvOrigin?: 'top-left' | 'bottom-left'): THREE.Vector3; /** * 将六视图 uv 转化为方向向量 * @param cubeFace - 六视图的某一面。 * @param uv - uv坐标 取值范围 [0,1]。 * @param uvOrigin - top-left 原点在左上角,x轴向右,y轴向下[默认]。bottom-left 原点左下角,x轴向右,y轴向上。 * @returns 全局的方向向量。单位向量。 */ cubemapUvToVector(this: WorkObserver, cubeFace: CubeFace, uv: THREE.Vector2, uvOrigin?: 'top-left' | 'bottom-left'): THREE.Vector3; /** 获取点位的全局坐标 */ getWorldPosition(this: WorkObserver): THREE.Vector3; /** 获取点位的全局地面坐标 */ getWorldStandingPosition(this: WorkObserver): THREE.Vector3; } export declare const workObserverProto: WorkObserverProto;