import * as THREE from 'three'; import { SpriteText2D } from 'three-text2d'; import { Mesh, Vector2 } from 'three'; export declare class ThreeUtil { static createBezierCurve(curveOption: any, color?: string, pointNumber?: number): any; static createPoint(r: number, color: string, x: number, y: number, opacity: number): Mesh; static createLine(width: number, height: number, color: string): Mesh; static createDashLine(startPoint: THREE.Vector3, endPoint: THREE.Vector3, color: string, dashSize: number, gapSize: number): any; static createPlane(width: number, height: number, color: string, opacity: number): Mesh; static createSphere(radius: number, color?: string, opacity?: number, x?: number, y?: number, z?: number): any; static createTriangle(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, color: string): Mesh; static createNewRomanText(texts: string, x: number, y: number, z: number, color: string, scale: number): SpriteText2D; static createNormalText(texts: string, x: number, y: number, z: number, color: string, scale?: number): SpriteText2D; static createNumber(texts: string, x: number, y: number, z: number, color: string, scale: number): SpriteText2D; static createImg(width: number, height: number, img: any, x?: number, y?: number, z?: number): Mesh; /** * @param {number} radius 半径 * @param {number} height 圆锥高度 * @param {string} color 圆锥颜色 * @param {number} x 圆锥X轴坐标 * @param {number} y 圆锥y轴坐标 * @param {number} z 圆锥z轴坐标 * @returns {Mesh} */ static createCone(radius: number, height: number, color: string, x?: number, y?: number, z?: number): any; /** * * @param {number} radiusTop 圆柱顶面半径 * @param {number} radiusBottom 圆柱底面半径 * @param {number} height 圆柱高度 * @param {string} color 圆柱颜色 * @param {number} x 圆柱X轴坐标 * @param {number} y 圆柱Y轴坐标 * @param {number} z 圆柱Z轴坐标 * @returns {Mesh} */ static createCylinder(radiusTop: number, radiusBottom: number, height: number, color: string, x?: number, y?: number, z?: number): any; /** *判断直线旋转方向(顺时针还是逆时针旋转) * @param slider 滑条 * @param {number} lastPointX 上一次X值 * @param {number} lastPointY 上一次Y值 * @param {number} currentPointX 当前X值 * @param {number} currentPointY 当前Y值 * @returns {boolean} ture 逆時針,false 順時針 * */ static isClockwise(slider: any, lastPointX: number, lastPointY: number, currentPointX: number, currentPointY: number): boolean; /** * 获取旋转的角度 * @param controlPoint 控制点对象 * @param {number} lastPointX 当前对象上一次X轴坐标 * @param {number} lastPointY 当前对象上一次Y轴坐标 * @param {number} currentPointX 当前对象X轴坐标 * @param {number} currentPointY 当前对象Y轴坐标 * @returns {number} 角度 */ static getAngle(controlPoint: any, lastPointX: number, lastPointY: number, currentPointX: number, currentPointY: number): number; /** * 世界坐标转换的three.js坐标 * @param event 事件类型 * @param {number} MousePointX 当前鼠标X轴坐标 * @param {number} MousePointY 当前鼠标Y轴坐标 * @param camera 相机 * @param {number} domWidth Dom宽度 * @param {number} domHeight Dom高度 * @returns {{x: any; y: any}} 返回值 */ static getMousePos(event: any, MousePointX: number, MousePointY: number, camera: any, domWidth: number, domHeight: number): Vector2; /** * 若两直线相交,求出两直线交点 * @param lineObj1 直线一对象 * @param lineObj2 直线二对象 * @returns {{x: number; y: number}} 交点坐标 */ static lineIntersection(lineObj1: any, lineObj2: any): Vector2; static getRandomNumber(minNumber: number, maxNumber: number): number; static getVectorAngle(vector1: THREE.Vector3, vector2: THREE.Vector3): number; static createLineforPoint(color: any, vector1: any, vector2: any): any; }