@cearth/tools
Version:
CEarth 的 工具库
116 lines • 3.88 kB
TypeScript
import { Cartesian3, HeadingPitchRoll, Matrix4, Quaternion, Plane } from "cesium";
import { RotationInfo, TransformInfo, TransformInfoOptions } from "./type";
/**
* 旋转信息转四元数
* @param rotation
* @returns
*/
export declare function rotationInfoToQuaternion(rotation: RotationInfo | Cartesian3): Quaternion;
/**
* 四元数转 HeadingPitchRoll
* @param quate
* @param referFrame
* @param result
* @returns
*/
export declare function quaternionToHeadingPitchRoll(quate: Quaternion, referFrame: Matrix4, result?: HeadingPitchRoll): HeadingPitchRoll;
/**
* 矩阵转 HeadingPitchRoll
* @param matrix
* @param referFrame
* @param result
* @returns
*/
export declare function matrix4ToHeadingPitchRoll(matrix: Matrix4, result?: HeadingPitchRoll): HeadingPitchRoll;
/**
* 将世界矩阵转为局部矩阵
* @param matrix
* @param referFrame
* @param result
* @returns
*/
export declare function worldMatrixToLocal(matrix: Matrix4, referFrame: Matrix4, result?: Matrix4 | null): Matrix4;
/**
* 将局部坐标系下的四元数转为世界坐标系下的四元数
* @param quate
* @param referFrame
* @param result
* @returns
*/
export declare function localQuaternionToWorld(quate: Quaternion, referFrame: Matrix4, result?: Quaternion | null): Quaternion | null;
/**
* 将全局坐标系下的四元数转为局部坐标系下的四元数
* @param quate
* @param referFrame
* @param result
* @returns
*/
export declare function worldQuaternionToLocal(quate: Quaternion, referFrame: Matrix4, result?: Quaternion | null): Quaternion | null;
/**
* 获取全局的变换信息
* @param transform
* @param options
* @returns
*/
export declare function getWorldTransformInfo(transform: TransformInfo<RotationInfo | Cartesian3>, options?: TransformInfoOptions | null): {
translation: Cartesian3 | null | undefined;
rotation: Quaternion | null;
scale: Cartesian3 | null | undefined;
};
/**
* 获取全局的变换信息
* @param transform
* @param options
* @returns
*/
export declare function getLocalTransformInfo(transform: TransformInfo<RotationInfo | Cartesian3>, options?: TransformInfoOptions | null): {
translation: Cartesian3 | null | undefined;
rotation: Quaternion | null;
scale: Cartesian3 | null | undefined;
};
/**
* 获取全局的变换矩阵
* @param transform
* @param options
* @returns
*/
export declare function getWorldMatrix(transform: TransformInfo<RotationInfo | Cartesian3>, options?: (TransformInfoOptions & {
defaultMatrix?: Matrix4 | null;
}) | null): Matrix4;
/**
* 变换信息的矩阵
* @param transform
* @param options
* @returns
*/
export declare function transformInfoToMatrix(transform: TransformInfo<RotationInfo | Cartesian3>): Matrix4;
/**
* 计算三个点所在的平面的法向量
*
* @param origin - 原点
* @param point1 - 点1
* @param point2 - 点2
* @returns 法线
*/
export declare function computeNormalOfCoplanars(origin: Cartesian3, point1: Cartesian3, point2: Cartesian3): Cartesian3;
/**
* 创建经过三个点的平面
*
* @param origin - 原点
* @param point1 - 点1
* @param point2 - 点2
* @returns
*/
export declare function createPlaneOfCoplanars(origin: Cartesian3, point1: Cartesian3, point2: Cartesian3): Plane;
/**
* 邻点对生成器
* @remarks
* 会从一组点 points 中 生成所有相邻的点,并且保证相邻的两个点不是同一个点
* @param points - 提供的一组点
* @param close - 是否要闭合
* @param relativeEpsilon - 用于判断点是否是同一点的相对容差
* @param absoluteEpsilon - 用于判断点是否是同一点的绝对容差
* @returns
*/
export declare function getNeighborPairs(points: Cartesian3[], close?: boolean, relativeEpsilon?: number, absoluteEpsilon?: number): Generator<[Cartesian3, Cartesian3], void, unknown>;
//# sourceMappingURL=tools.d.ts.map