import type { Vector3 } from '@anov/3d-core'; import { Color, Line } from '@anov/3d-core'; export type CurveType = 'CatmullRomCurve3' | 'CubicBezierCurve' | 'CubicBezierCurve3'; export type CurveInterface = { curveType?: CurveType; points: Vector3[]; color?: Color; pointNum?: number; }; declare class CurveManage { points: Vector3[]; line: Line | null; constructor(); /** * create curve * @param params */ createCurve(params: CurveInterface): void; /** * catmullRomCurve3 * @param points * @returns */ private createRoundDotsByCatmullRomCurve3; /** * generate line object3d * @param curve * @param pointNum * @returns */ private createCurveObject3D; } export default CurveManage;