@three3d/volume
Version:
@three3d/volume 提供了 ThreeJS 的云效果,包括:点状云、线状云、热力云
75 lines • 2.05 kB
TypeScript
import type { IVector3 } from "type-tls";
import { Matrix4, Vector3 } from "three";
/**
* 梯度特性
*/
export interface TransferableGradientFeature {
/**
* 半径
*
* @defaultValue 10
*/
radius?: number | null;
}
/**
* 可变换的梯度选项
*/
export interface TransferableGradientOptions extends TransferableGradientFeature {
/**
* 热力点列表
*/
points?: (TransferableGradientFeature & IVector3)[] | null;
/**
* Data3D 的尺寸
*/
size?: IVector3 | null;
}
/**
* 对梯度选项应用矩阵变换
* @param options
* @param matrix
* @returns
*/
export declare function transformGradientOptions<Opts extends TransferableGradientOptions>(options: Opts, matrix: Matrix4): Opts;
/**
* 对梯度选项进行平移后再缩放
* @param options
* @param translate
* @param scale
* @returns
*/
export declare function translateScaleGradientOptions<Opts extends TransferableGradientOptions>(options: Opts, translate: Vector3, scale?: number): Opts;
/**
* 优化选项
*/
export interface GradientOptionsOptimizeOptions {
/**
* 指定优化后的梯度选项的所能达到的最大尺寸
* @remarks
* 会对原来的梯度选项进行等比缩放以达到该尺寸;
*
* 如果同时指定 maxSize 和 {@link GradientOptionsOptimizeOptions.scale} ,则优先使用 {@link GradientOptionsOptimizeOptions.scale}
* @defaultValue 100
*/
maxSize?: number;
/**
* 缩放系数
* @remarks
* 对原梯度选项进行缩放;
*
* 优先级高于 {@link GradientOptionsOptimizeOptions.maxSize}
*/
scale?: number;
}
/**
* 对梯度选项进行优化
* @param gradientOptions
* @param options
* @returns
*/
export declare function optimizeGradientOptions<Opts extends TransferableGradientOptions>(gradientOptions: Opts, options?: GradientOptionsOptimizeOptions | null): {
options: Opts;
position: Vector3;
scale: number;
};
//# sourceMappingURL=optimizeGradientOptions.d.ts.map