import { Clipper } from "./ClipUtils"; /** A BooleanClipFactory is a factory to create objects that implement interior nodes of a tree of boolean clip operations. * * These methods create specific clip tree types: * * Union * * Intersection * * Parity * * Difference * * Each construction has a `keepInside` flag that optionally negates the initial result of the parity, intersection, parity, or difference: * * if `keepInside === true`, accept the "inside" of the initial result * * if `keepInside === false`, accept the "outside" of the initial result * * These methods create various other specialized clippers * * * @public */ export declare class BooleanClipFactory { /** * Create a boolean clipper which performs a union over its children * * if `keepInside === true`, accept the "inside" of the union result * * if `keepInside === false`, accept the "outside" of the union result * @param clippers clip objects to capture * @param keepInside flag to select results inside or outside the clippers. */ static createCaptureUnion(clippers: Clipper | Clipper[], keepInside: boolean): Clipper; /** * Create a boolean clipper which performs an intersection over its children * * if `keepInside === true`, accept the "inside" of the intersection result * * if `keepInside === false`, accept the "outside" of the intersection result * @param clippers clip objects to capture * @param keepInside flag to select results inside or outside the clippers. */ static createCaptureIntersection(clippers: Clipper | Clipper[], keepInside: boolean): Clipper; /** * Create a boolean clipper which performs a parity over its children * * if `keepInside === true`, accept the "inside" of the parity result * * if `keepInside === false`, accept the "outside" of the parity result * @param clippers clip objects to capture * @param keepInside flag to select results inside or outside the clippers. */ static createCaptureParity(clippers: Clipper | Clipper[], keepInside: boolean): Clipper; /** * Create a boolean clipper which performs a difference operation for points "inside `primaryClipper`" and "outside `excludedClipper`" * * if `keepInside === true`, accept the "inside" of the difference * * if `keepInside === false`, accept the "outside" of the difference * @param primaryClipper any clip object whose output is treated as positive * @param excludeClip any clipper whose output is treated as negative. * @param keepInside flag to select results inside or outside the initial `primary minus excludeClipper` clippers. */ static createCaptureDifference(primaryClipper: Clipper, excludedClipper: Clipper, keepInside: boolean): Clipper; /** * Create a boolean clipper which performs the reverse of that of `primaryClipper` * @param primaryClipper clip objects to capture * @param keepInside flag to select results inside or outside the clippers. */ static createCaptureClipOutside(primaryClipper: Clipper): Clipper; /** * convert `source` to an array of clipper objects. * * ANY TYPE OF Clipper is accepted. * * REMARK: This is normally called only from the primary public method `parseToClipper`. * @param source * @param internal */ static parseToClipperArray(source: any): Clipper[] | undefined; /** * look for content that represents a clipper. * * Possible outputs are * * `ClipPlane` * * `ConvexClipPlaneSet` * * `UnionOfConvexClipPlaneSets` * * One of the `ClipBoolean` derived classes * * `ClipBooleanXOR` * * `ClipBooleanOR` * * `ClipBooleanAND` * @param source json object * @public */ static parseToClipper(source?: object): Clipper | undefined; /** Choose a `toJSON` method appropriate to the clipper */ static anyClipperToJSON(clipper: any): any | undefined; } //# sourceMappingURL=BooleanClipFactory.d.ts.map