import { Intersection } from '../data_structures/smart_intersections'; import type { Point } from '../classes/Point'; import type { Polygon } from '../classes/Polygon'; import type { Shape } from '../classes/Shape'; export declare enum BooleanOp { UNION = 1, INTERSECT = 2, SUBTRACT = 3 } /** * Unify two polygons polygons and returns new polygon.
* Point belongs to the resulted polygon if it belongs to the first OR to the second polygon */ export declare function unify(polygon1: Polygon, polygon2: Polygon): Polygon; /** * Subtract second polygon from the first and returns new polygon * Point belongs to the resulted polygon if it belongs to the first polygon AND NOT to the second polygon */ export declare function subtract(polygon1: Polygon, polygon2: Polygon): Polygon; /** * Intersect two polygons and returns new polygon * Point belongs to the resulted polygon is it belongs to the first AND to the second polygon */ export declare function intersect(polygon1: Polygon, polygon2: Polygon): Polygon; /** * Returns boundary of intersection between two polygons as two arrays of shapes (Segments/Arcs)
* The first array are shapes from the first polygon, the second array are shapes from the second */ export declare function innerClip(polygon1: Polygon, polygon2: Polygon): Shape[][]; /** * Returns boundary of subtraction of the second polygon from first polygon as array of shapes */ export declare function outerClip(polygon1: Polygon, polygon2: Polygon): Shape[]; /** * Returns intersection points between boundaries of two polygons as two array of points
* Points in the first array belong to first polygon, points from the second - to the second. * Points in each array are ordered according to the direction of the correspondent polygon */ export declare function calculateIntersections(polygon1: Polygon, polygon2: Polygon): Point[][]; export declare function removeNotRelevantChains(polygon: Polygon, op: BooleanOp, int_points: Intersection[], is_res_polygon: boolean): void; export declare function removeOldFaces(polygon: Polygon, int_points: Intersection[]): void; export declare function restoreFaces(polygon: Polygon, int_points: Intersection[], other_int_points: Intersection[]): void; //# sourceMappingURL=booleanOperations.d.ts.map