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