import { Cartesian3, ConstantProperty, HeadingPitchRoll, Matrix4 } from '@cesium/engine'; import { PositionType } from '../utils'; /** * 飞行导航,常用算法工具集 */ declare class FlightNaviTool { /** * 获取当前运行的Entity方向 * @returns */ static getEntityHPR(): HeadingPitchRoll; /** * 根据旋转矩阵,获得新的朝向 * @param matrix4 变换矩阵 * @returns Orientation :ConstantProperty */ static getOrientationByMatrix4(matrix4: Matrix4): ConstantProperty; /** * 获得变换矩阵 * @param position * @param heading * @param pitch * @param roll * @returns */ static changeModelMatrix(position: Cartesian3, heading: number, pitch: number, roll: number): Matrix4; /** * 获取前方点 * @param position 现在位置 世界坐标 * @param angleRadian 方向角 * @param distance 远方距离,默认为2000米 * @returns 远方点 世界坐标 */ static getDistancePosition(position: Cartesian3, angleRadian: number, distance?: number): Cartesian3; /** * 获取A到B的方向Direction * @param pointA A点 * @param pointB B点 * @returns */ static getDirectionAB(pointA: PositionType, pointB: PositionType): Cartesian3; /** * 根据方向获取远处的目标点 * @param start 起点 * @param direction 方向 * @param distance 距离,默认为2000米处 * @returns */ static getDistancePositionByDirection(start: PositionType, direction: Cartesian3, distance?: number): Cartesian3; /** * 转换飞机速度 * @param speedHour 飞机速度 千米/小时 * @returns 米/秒 */ static toSecondSpeed(speedHour: number): number; /** * 转换飞机速度 * @param speedSecond 飞机速度 米/秒 * @returns 千米/小时 */ static toHourSpeed(speedSecond: number): number; /** * 载入数据 * @param {string|array} url * @return {*} * @memberof Roam */ static loadData(url: string): any; /** * 处理读取到的数据 * @param {array} data */ static processData(data: any): Array; } export default FlightNaviTool;