UNPKG

@bitbybit-dev/manifold-worker

Version:

Bit By Bit Developers Manifold Based CAD Library to Program Geometry Via WebWorker

128 lines (127 loc) 4.99 kB
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<Inputs.Manifold.ManifoldPointer>): Promise<Inputs.Manifold.ManifoldPointer>; /** * 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<Inputs.Manifold.ManifoldPointer>): Promise<Inputs.Manifold.ManifoldPointer>; /** * 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<Inputs.Manifold.ManifoldPointer>): Promise<Inputs.Manifold.ManifoldPointer>; /** * 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<Inputs.Manifold.ManifoldPointer>): Promise<Inputs.Manifold.ManifoldPointer>; /** * 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<Inputs.Manifold.ManifoldPointer>): Promise<Inputs.Manifold.ManifoldPointer>; /** * 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<Inputs.Manifold.ManifoldPointer>): Promise<Inputs.Manifold.ManifoldPointer>; /** * 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<Inputs.Manifold.ManifoldPointer>): Promise<Inputs.Manifold.ManifoldPointer>; /** * 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<Inputs.Manifold.ManifoldPointer>): Promise<Inputs.Manifold.ManifoldPointer>; /** * 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<Inputs.Manifold.ManifoldPointer>): Promise<Inputs.Manifold.ManifoldPointer>; /** * 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<Inputs.Manifold.ManifoldPointer>): Promise<Inputs.Manifold.ManifoldPointer[]>; /** * 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<Inputs.Manifold.ManifoldPointer>): Promise<Inputs.Manifold.ManifoldPointer[]>; /** * 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<Inputs.Manifold.ManifoldPointer>): Promise<Inputs.Manifold.ManifoldPointer[]>; /** * 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<Inputs.Manifold.ManifoldPointer>): Promise<Inputs.Manifold.ManifoldPointer>; }