@visactor/vrender-core
Version:
## Description
42 lines (41 loc) • 1.17 kB
TypeScript
import { type IPointLike } from '@visactor/vutils';
import type { ICurvedSegment, IGenSegmentParams, ISegPath2D } from '../../interface/curve';
export declare class CatmullRomClosed implements ICurvedSegment {
private _lastDefined1?;
private _lastDefined2?;
context: ISegPath2D;
protected startPoint?: IPointLike;
lastPoint0?: IPointLike;
lastPoint1?: IPointLike;
constructor(context: ISegPath2D, alpha?: number, startPoint?: IPointLike);
_alpha: number;
_x: number;
_y: number;
_x0: number;
_x1: number;
_y0: number;
_y1: number;
_x2: number;
_y2: number;
_x3: number;
_y3: number;
_x4: number;
_y4: number;
_x5: number;
_y5: number;
_line: number;
_point: number;
_l01_a: number;
_l12_a: number;
_l23_a: number;
_l01_2a: number;
_l12_2a: number;
_l23_2a: number;
areaStart(): void;
areaEnd(): void;
lineStart(): void;
lineEnd(): void;
point(p: IPointLike): void;
tryUpdateLength(): number;
}
export declare const genCatmullRomClosedSegments: (points: IPointLike[], alpha: number, params?: IGenSegmentParams) => ISegPath2D;