UNPKG

@bitbybit-dev/manifold-worker

Version:

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

95 lines (94 loc) 3.38 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 MeshEvaluate { private readonly manifoldWorkerManager; constructor(manifoldWorkerManager: ManifoldWorkerManager); /** * Get position on mesh vertex index * @param inputs mesh * @returns point * @group basic * @shortname position * @drawable true */ position(inputs: Inputs.Manifold.MeshVertexIndexDto<Inputs.Manifold.MeshPointer>): Promise<Inputs.Base.Point3>; /** * Gets the three vertex indices of this triangle in CCW order. * @param inputs mesh * @returns verts * @group basic * @shortname verts * @drawable false */ verts(inputs: Inputs.Manifold.MeshTriangleIndexDto<Inputs.Manifold.MeshPointer>): Promise<number[]>; /** * Gets the tangent vector starting at verts(tri)[j] pointing to the next * Bezier point along the CCW edge. The fourth value is its weight. * @param inputs mesh * @returns tangent * @group basic * @shortname tangent * @drawable true */ tangent(inputs: Inputs.Manifold.MeshHalfEdgeIndexDto<Inputs.Manifold.MeshPointer>): Promise<number[]>; /** * Gets any other properties associated with this vertex. * @param inputs mesh * @returns extras * @group basic * @shortname extras * @drawable false */ extras(inputs: Inputs.Manifold.MeshVertexIndexDto<Inputs.Manifold.MeshPointer>): Promise<number[]>; /** * Gets the column-major 4x4 matrix transform from the original mesh to these * related triangles. * @param inputs mesh * @returns transform matrix * @group basic * @shortname transform 4x4 matrix * @drawable false */ transform(inputs: Inputs.Manifold.MeshVertexIndexDto<Inputs.Manifold.MeshPointer>): Promise<number[]>; /** * Number of properties per vertex, always >= 3. * @param inputs mesh * @returns number of properties * @group basic * @shortname number props * @drawable false */ numProp(inputs: Inputs.Manifold.MeshDto<Inputs.Manifold.MeshPointer>): Promise<number>; /** * Number of property vertices * @param inputs mesh * @returns number of vertices * @group basic * @shortname number vertices * @drawable false */ numVert(inputs: Inputs.Manifold.MeshDto<Inputs.Manifold.MeshPointer>): Promise<number>; /** * Get number of triangles on mesh * @param inputs mesh * @returns number of triangles * @group basic * @shortname number triangles * @drawable false */ numTri(inputs: Inputs.Manifold.MeshDto<Inputs.Manifold.MeshPointer>): Promise<number>; /** * Number of triangle runs. Each triangle run is a set of consecutive * triangles that all come from the same instance of the same input mesh. * @param inputs mesh * @returns number of runs * @group basic * @shortname number runs * @drawable false */ numRun(inputs: Inputs.Manifold.MeshDto<Inputs.Manifold.MeshPointer>): Promise<number>; }