UNPKG

@bitbybit-dev/manifold-worker

Version:

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

69 lines (68 loc) 3.36 kB
import { ManifoldWorkerManager } from "../manifold-worker/manifold-worker-manager"; import * as Inputs from "@bitbybit-dev/manifold/lib/api/inputs"; import { Manifold } from "./manifold/manifold"; import { ManifoldCrossSection } from "./cross-section/cross-section"; import { Mesh } from "./mesh/mesh"; /** * Contains various functions for Solid meshes from Manifold library https://github.com/elalish/manifold * Thanks Manifold community for developing this kernel */ export declare class ManifoldBitByBit { private readonly manifoldWorkerManager; readonly manifold: Manifold; readonly crossSection: ManifoldCrossSection; readonly mesh: Mesh; constructor(manifoldWorkerManager: ManifoldWorkerManager); /** * Turns manifold shape into a mesh pointer that lives in worker's memory. This pointer can be used with bitbybit.manifold.mesh functions * @param inputs Manifold shape * @returns Pointer to manifold mesh definition * @group meshing * @shortname manifold to mesh pointer * @drawable false */ manifoldToMeshPointer(inputs: Inputs.Manifold.ManifoldToMeshDto<Inputs.Manifold.ManifoldPointer>): Promise<Inputs.Manifold.MeshPointer>; /** * Decomposes manifold or cross section shape into a mesh or simple polygons * @param inputs Manifold shape or cross section * @returns Decomposed mesh definition or simple polygons * @group decompose * @shortname decompose m or cs * @drawable false */ decomposeManifoldOrCrossSection(inputs: Inputs.Manifold.DecomposeManifoldOrCrossSectionDto<Inputs.Manifold.ManifoldPointer | Inputs.Manifold.CrossSectionPointer>): Promise<Inputs.Manifold.DecomposedManifoldMeshDto | Inputs.Base.Vector2[][]>; /** * Turns manifold shape into a collection of polygon points representing the mesh. * @param inputs Manifold shape * @returns polygon points * @group decompose * @shortname to polygon points * @drawable false */ toPolygonPoints(inputs: Inputs.Manifold.ManifoldDto<Inputs.Manifold.ManifoldPointer>): Promise<Inputs.Base.Mesh3>; /** * Decomposes manifold or cross section shape into a mesh or simple polygons * @param inputs Manifold shapes or cross sections * @returns Decomposed mesh definitions or a list of simple polygons * @group decompose * @shortname decompose m's or cs's * @drawable false */ decomposeManifoldsOrCrossSections(inputs: Inputs.Manifold.DecomposeManifoldsOrCrossSectionsDto<Inputs.Manifold.ManifoldPointer | Inputs.Manifold.CrossSectionPointer>): Promise<(Inputs.Manifold.DecomposedManifoldMeshDto | Inputs.Base.Vector2[][])[]>; /** * Delete manifold or cross section from memory * @param inputs manifold or cross section * @group cleanup * @shortname delete m or cs * @drawable false */ deleteManifoldOrCrossSection(inputs: Inputs.Manifold.ManifoldOrCrossSectionDto<Inputs.Manifold.CrossSectionPointer>): Promise<void>; /** * Delete manifolds or cross sections from memory * @param inputs manifolds or cross sections * @group cleanup * @shortname delete m's or cs's * @drawable false */ deleteManifoldsOrCrossSections(inputs: Inputs.Manifold.ManifoldsOrCrossSectionsDto<Inputs.Manifold.CrossSectionPointer>): Promise<void>; }