import { ManifoldWorkerManager } from "../../manifold-worker/manifold-worker-manager"; import * as Inputs from "@bitbybit-dev/manifold/lib/api/inputs"; /** * Contains various functions for Solid meshes from Manifold library https://github.com/elalish/manifold * Thanks Manifold community for developing this kernel */ export declare class ManifoldBooleans { private readonly manifoldWorkerManager; constructor(manifoldWorkerManager: ManifoldWorkerManager); /** * Subtract two manifold shapes * @param inputs two shapes * @returns subtracted manifold shape * @group a to b * @shortname subtract * @drawable true */ subtract(inputs: Inputs.Manifold.TwoManifoldsDto): Promise; /** * Add two manifold shapes * @param inputs two shapes * @returns unioned manifold shape * @group a to b * @shortname add * @drawable true */ add(inputs: Inputs.Manifold.TwoManifoldsDto): Promise; /** * Intersect two manifold shapes * @param inputs two shapes * @returns intersected manifold shape * @group a to b * @shortname intersect * @drawable true */ intersect(inputs: Inputs.Manifold.TwoManifoldsDto): Promise; /** * Difference of two manifold shapes * @param inputs two shapes * @returns difference of two manifold shapes * @group 2 manifolds * @shortname difference 2 manifolds * @drawable true */ differenceTwo(inputs: Inputs.Manifold.TwoManifoldsDto): Promise; /** * Union of two manifold shapes * @param inputs two shapes * @returns union of two manifold shapes * @group 2 manifolds * @shortname union 2 manifolds * @drawable true */ unionTwo(inputs: Inputs.Manifold.TwoManifoldsDto): Promise; /** * Intersection of two manifold shapes * @param inputs two shapes * @returns intersection of two manifold shapes * @group 2 manifolds * @shortname intersection 2 manifolds * @drawable true */ intersectionTwo(inputs: Inputs.Manifold.TwoManifoldsDto): Promise; /** * Difference of multiple manifold shapes * @param inputs multiple shapes * @returns difference of two manifold shapes * @group multiple * @shortname difference manifolds * @drawable true */ difference(inputs: Inputs.Manifold.ManifoldsDto): Promise; /** * Union of multiple manifold shapes * @param inputs multiple shapes * @returns union of two manifold shapes * @group multiple * @shortname union manifolds * @drawable true */ union(inputs: Inputs.Manifold.ManifoldsDto): Promise; /** * Intersection of multiple manifold shapes * @param inputs two shapes * @returns intersection of multiple manifold shapes * @group multiple * @shortname intersection manifolds * @drawable true */ intersection(inputs: Inputs.Manifold.ManifoldsDto): Promise; /** * Split manifold by another manifold * @param inputs manifold to split and manifold cutter * @returns split manifold * @group split * @shortname split * @drawable true */ split(inputs: Inputs.Manifold.SplitManifoldsDto): Promise; /** * Split manifold by plane * @param inputs manifold and plane * @returns split manifold * @group split * @shortname split by plane * @drawable true */ splitByPlane(inputs: Inputs.Manifold.SplitByPlaneDto): Promise; /** * Split manifold by plane on various offsets * @param inputs manifold, plane and the list of offsets * @returns splitted manifolds * @group split * @shortname split by plane on offsets * @drawable true */ splitByPlaneOnOffsets(inputs: Inputs.Manifold.SplitByPlaneOnOffsetsDto): Promise; /** * Trim manifold by plane * @param inputs manifold and plane * @returns trimmed manifold * @group trim * @shortname trim by plane * @drawable true */ trimByPlane(inputs: Inputs.Manifold.TrimByPlaneDto): Promise; }