UNPKG

@turbox3d/event-manager

Version:

Large-scale productivity application event management library

37 lines (36 loc) 1.13 kB
import { Vec2, Vec3 } from '@turbox3d/shared'; import { CoordinateType } from './type'; interface ICanvasRect { width: number; height: number; x: number; y: number; left?: number; right?: number; top?: number; bottom?: number; } export declare class CoordinateController { /** 获取画布矩形包围盒的实现 */ private getCanvasRectImpl; /** 画布屏幕坐标转场景世界坐标的实现 */ private canvasToSceneImpl; /** 场景世界坐标转画布屏幕坐标的实现 */ private sceneToCanvasImpl; constructor({ getCanvasRectImpl, canvasToSceneImpl, sceneToCanvasImpl, }: { getCanvasRectImpl: () => ICanvasRect; canvasToSceneImpl: (point: Vec2, z?: number) => Vec2 | Vec3; sceneToCanvasImpl: (point: Vec2 | Vec3) => Vec2; }); /** * 将坐标进行转化 */ transform(point: Vec2 | Vec3, type: CoordinateType, z?: number): Vec2 | Vec3; private screenToCanvas; private canvasToScreen; private canvasToScene; private sceneToCanvas; private screenToScene; private sceneToScreen; } export {};