UNPKG

@orca-fe/pocket

Version:

UI components by orca-team

46 lines (45 loc) 1.52 kB
import { mat4 } from 'gl-matrix'; export type Viewport3dType = { left: number; top: number; zoom: number; rotate: number; pitch: number; }; export declare function matrix2Viewport3d(matrix: mat4): Viewport3dType; export default class Viewport3d { left: number; top: number; zoom: number; rotate: number; pitch: number; constructor(props?: Partial<Viewport3d>); setViewport(viewport: Partial<Viewport3dType>): this; getViewport(): Viewport3dType; toMatrix(): mat4; fromMatrix(matrix: mat4): this; toInverseMatrix(): mat4; /** * world -> screen */ project(point: [number, number]): [number, number]; /** * screen -> world */ unproject(point: [number, number]): [number, number]; /** * 将世界坐标点对齐至屏幕坐标点(平移)并返回新的 Viewport * @param originWorldPoint 原始世界坐标点 * @param screenPoint 屏幕坐标点 */ getViewportByScreenPoint(originWorldPoint: [number, number], screenPoint: [number, number]): Viewport3dType; /** * 根据屏幕点和缩放级别计算 Viewport * @param screenPoint * @param zoom */ getViewportByZoom(screenPoint: [number, number], zoom: number): Viewport3dType; getViewportByRotate(screenPoint: [number, number], deg: number): Viewport3dType; pan(originWorldPoint: [number, number], screenPoint: [number, number]): this; zoomBy(screenPoint: [number, number], zoom: number): this; }