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 ManifoldTransforms { private readonly manifoldWorkerManager; constructor(manifoldWorkerManager: ManifoldWorkerManager); /** * Scales a manifold shape with 3D vector * @param inputs manifold and scale vector * @returns Scaled manifold shape * @group transforms * @shortname scale 3d * @drawable true */ scale3D(inputs: Inputs.Manifold.Scale3DDto): Promise; /** * Scales a manifold shape with single factor * @param inputs manifold and scale factor * @returns Scaled manifold shape * @group transforms * @shortname scale uniform * @drawable true */ scale(inputs: Inputs.Manifold.ScaleDto): Promise; /** * Mirrors a manifold shape over a plane defined by a normal vector * @param inputs manifold and normal vector * @returns Mirrored manifold shape * @group transforms * @shortname mirror * @drawable true */ mirror(inputs: Inputs.Manifold.MirrorDto): Promise; /** * Translates a manifold shape along the vector * @param inputs manifold and trnaslation vector * @returns Translated manifold shape * @group transforms * @shortname translate * @drawable true */ translate(inputs: Inputs.Manifold.TranslateDto): Promise; /** * Translates a manifold shape along by multiple vectors * @param inputs manifold and trnaslation vectors * @returns Translated manifold shapes * @group multiple * @shortname translate by vectors * @drawable true */ translateByVectors(inputs: Inputs.Manifold.TranslateByVectorsDto): Promise; /** * Translates a manifold shape along x, y, z * @param inputs manifold and trnaslation coordinates * @returns Translated manifold shape * @group transforms * @shortname translate xyz * @drawable true */ translateXYZ(inputs: Inputs.Manifold.TranslateXYZDto): Promise; /** * Rotates a manifold shape along the vector containing euler angles * @param inputs manifold and rotation vector * @returns Rotated manifold shape * @group transforms * @shortname rotate * @drawable true */ rotate(inputs: Inputs.Manifold.RotateDto): Promise; /** * Rotates a manifold shape along the x y z euler angles * @param inputs manifold and rotation eulers * @returns Rotated manifold shape * @group transforms * @shortname rotate xyz * @drawable true */ rotateXYZ(inputs: Inputs.Manifold.RotateXYZDto): Promise; /** * Transforms a manifold shape by using the 4x4 transformation matrix * @param inputs manifold and transformation matrix * @returns Transformed manifold shape * @group matrix * @shortname transform * @drawable true */ transform(inputs: Inputs.Manifold.TransformDto): Promise; /** * Transforms a manifold shape by using the 4x4 transformation matrixes * @param inputs manifold and transformation matrixes * @returns Transformed manifold shape * @group matrix * @shortname transforms * @drawable true */ transforms(inputs: Inputs.Manifold.TransformsDto): Promise; /** * Move the vertices of this Manifold (creating a new one) according to any * arbitrary input function. It is easy to create a function that warps a * geometrically valid object into one which overlaps, but that is not checked * here, so it is up to the user to choose their function with discretion. * @param inputs manifold and warp function * @returns Warped manifold shape * @group transforms * @shortname warp * @drawable true */ warp(inputs: Inputs.Manifold.ManifoldWarpDto): Promise; }