@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
TypeScript
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>;
}