UNPKG

jr-util

Version:

这是MJR的JS工具库。定期更新

94 lines (93 loc) 3.49 kB
/** * 文字转化为图片 画图 * @param label * @param h * @returns */ export declare const threeDomDrawTextByCanvas: (label: { title: string; h: number; color: string; shadowColor: String; bold: boolean; font: String; }, h: number) => { width: number; height: number; url: string; }; export declare const threeFlipImage: (image: any, direction?: string, canvasSize?: number) => HTMLCanvasElement; /** * 加载一组图像纹理并进行垂直翻转处理 * * 传入顺序 [ l左,r右,d下,u上,b后,f前 ] * @param urls * @returns */ export declare const threeLoadTextureFunc: (urls: string[], THREE: any) => any; /** * 加载一组图像纹理并进行垂直翻转处理 * * 主要用于在三维场景中创建天空盒等需要多面体纹理的场景 * * @param urls 一个包含图像URL的数组,用于加载纹理 * @returns 返回一个Promise,解析为一个包含翻转后图像的对象数组 */ export declare const threeLoadTextureFuncImages: (urls: string[], THREE: any) => any; /** * 根据半径计算长方形的尺寸 * 该函数旨在模拟一个将球体展开为长方形的过程 * 其中,长方形的宽度近似于球体的赤道周长,高度近似于球体的直径 * 这种计算方法常用于简单的地图投影或图形学中 * * @param {number} radius 球体的半径,用于计算长方形的尺寸 * @returns {Object} 返回一个对象,包含长方形的宽度和高度 */ export declare const threeCalculateRectangleSize: (radius: number) => { width: number; height: number; }; /** * 更新标签位置 * 根据3D场景中的标记组和相机位置,更新DOM元素的位置 * @param mark_group 标记组对象,包含一系列待更新位置的3D标记 * @param parentRef 父DOM元素引用,用于查找对应的DOM元素 * @param camera 相机对象,用于将3D坐标转换为2D屏幕坐标 * @param THREE THREE对象 */ export declare const threeUpdateLabelPosition: (mark_group: any, parentRef: any, camera: any, THREE: any) => void; /** * 将三维平面坐标转换为球面坐标 * 此函数用于根据给定的平面坐标(x, y)和视角的宽度、高度以及球体的半径, * 计算出对应的球面坐标(xSphere, ySphere, zSphere) * * @param x 平面坐标系中的x坐标 * @param y 平面坐标系中的y坐标 * @param width 视角的宽度 * @param height 视角的高度 * @param radius 球体的半径 * @returns 返回一个对象,包含球面坐标(xSphere, ySphere, zSphere) */ export declare const threePlaneToSphereSize: (x: number, y: number, width: number, height: number, radius: number) => { x: number; y: number; z: number; }; /** * 在3D场景中添加一个移动的立方体 * @param id 唯一标识 必填 * @param x x轴径坐标 必填 * @param y y轴径坐标 必填 * @param radius 球体半径 必填 * @param THREE THREE对象 * @returns 返回创建的立方体对象 */ export declare const threeAddMovingCube: (id: string, x: number, y: number, radius: number, THREE: any) => any; /** * 更新三维立方体纹理贴图 * 该函数递归地更新三维立方体每个面的纹理贴图 * * @param texture 三维立方体的纹理对象,应包含source和needsUpdate属性 * @param images 包含每个面纹理贴图的数组,每个元素应包含索引i和图像数据img */ export declare const threeUpdateCubeTextureFace: (texture: any, images: string[]) => void;