import { Point } from './Point'; import { Polygon } from './Polygon'; /** * Represents a collection of points sorted by their relative angle to a computed center. * Provides utilities for geometric operations, visualization, and interpolation. * * The class sorts the input points in counterclockwise order around the geometric center * of the points' bounding box. It offers methods to draw the points, their bounding box, * the center, a polygon connecting the points, and an Akima spline interpolation. * * @remarks * - The class expects {@link Point} objects with properties `X`, `Y`, `Origin`, `Radius`, and methods like `relAtan`, `draw`, and `drawLine`. * - The `universeCenter` is used as a reference origin for drawing operations. * - Akima interpolation requires at least 5 points. * * @example * ```typescript * const points = [new Point(0, 0), new Point(1, 1), ...]; * const universeCenter = new Point(100, 100); * const sortedPoints = new SortedPoints(points, universeCenter); * sortedPoints.drawPolygon(context); * ``` * * @see Point * @public */ export declare class SortedPoints { private polygon; private universeCenter; constructor(polygon: Polygon, universeCenter: Point, sort?: boolean); /** * Gets the geometric center (centroid) of the bounding box that contains all points in the collection. * * The center is calculated as the midpoint between the minimum and maximum X and Y coordinates * among all points. If there are fewer than two points, the center will be based on initial extreme values. * * @returns {Point} The center point of the bounding rectangle. */ get Center(): Point; get NrRadii(): number; get RadianKoeffs(): number[]; get RadiusKoeffs(): number[]; drawPoints(context: CanvasRenderingContext2D, color?: string, offset?: number, radius?: number, each?: number): void; drawCenter(context: CanvasRenderingContext2D, color?: string, extension?: number, lineWidth?: number): void; getExtension(): { xExt: number; yExt: number; }; drawBox(context: CanvasRenderingContext2D, color?: string): void; drawCatmullRom(context: CanvasRenderingContext2D): void; } //# sourceMappingURL=SortedPoints.d.ts.map