import { Point } from './Point'; import { Segment } from './Segment'; import { Shape, ShapeTag } from './Shape'; import type { Matrix } from './Matrix'; /** * Class representing a cubic bezier * @type {Quadratic} */ export declare class Quadratic extends Shape { static EMPTY: Quadratic; /** Start point */ start: Point; /** End point */ end: Point; /** Control point 1 */ control1: Point; _lut: number[]; _vertices: Point[]; _segments: Segment[]; constructor(other: Quadratic); constructor(start: Point, control1: Point, end: Point); /** * Return new cloned instance of segment */ clone(): Quadratic; get tag(): ShapeTag; /** * Returns LUT */ get lut(): number[]; /** * Returns array of points */ get vertices(): Point[]; /** * Returns array of segments */ get segments(): Segment[]; /** * Length of the curve */ get length(): number; /** * Bounding box */ get box(): import("./Box").Box; get center(): Point; /** * Returns true if equals to query segment, false otherwise */ equalTo(other: Quadratic): boolean; /** * Returns true if curve contains point */ contains(point: Point): boolean; /** * Returns array of intersection points between segment and other shape */ intersect(shape: Shape): Point[]; /** * Calculate distance and shortest segment from segment to shape and return as array [distance, shortest segment] * @param {Shape} shape Shape of the one of supported types Point, Line, Circle, Segment, Arc, Polygon or Planar Set * @returns {number} distance from segment to shape * @returns {Segment} shortest segment between segment and shape (started at segment, ended at shape) */ distanceTo(shape: Shape): [number, Segment]; /** * Returns new curve with swapped start and end points */ reverse(): Quadratic; /** * When point belongs to segment, return array of two segments split by given point, * if point is inside segment. Returns clone of this segment if query point is incident * to start or end point of the segment. Returns empty array if point does not belong to segment */ split(_point: Point): (Quadratic | null)[]; splitAtLength(length: number): (Quadratic | null)[]; /** * @param t Factor from 0.0 to 1.0 */ splitAtT(t: number): Quadratic[]; /** * Return middle point of the curve */ middle(): Point; /** * Get point at given length * @param length The length along the segment */ pointAtLength(length: number): Point; distanceToPoint(point: Point): [number, Segment]; /** * Return new segment transformed using affine transformation matrix */ transform(matrix: Matrix): Quadratic; /** * Returns true if segment start is equal to segment end up to DP_TOL */ isZeroLength(): boolean; get name(): string; } /** * Shortcut method to create new quadratic */ export declare const quadratic: (...args: any[]) => Quadratic; //# sourceMappingURL=Quadratic.d.ts.map