UNPKG

@bitbybit-dev/babylonjs

Version:

Bit By Bit Developers BABYLONJS CAD Library to Program Geometry

56 lines (55 loc) 4.23 kB
import * as BABYLON from "@babylonjs/core"; import { Context } from "./context"; import * as Inputs from "./inputs"; import { DrawHelperCore } from "@bitbybit-dev/core"; import { Vector } from "@bitbybit-dev/base"; import { JSCADWorkerManager, JSCADText } from "@bitbybit-dev/jscad-worker"; import { ManifoldWorkerManager } from "@bitbybit-dev/manifold-worker"; import { OCCTWorkerManager } from "@bitbybit-dev/occt-worker"; export declare class DrawHelper extends DrawHelperCore { private readonly context; private readonly solidText; readonly vector: Vector; private readonly jscadWorkerManager; private readonly manifoldWorkerManager; private readonly occWorkerManager; private usedMaterials; constructor(context: Context, solidText: JSCADText, vector: Vector, jscadWorkerManager: JSCADWorkerManager, manifoldWorkerManager: ManifoldWorkerManager, occWorkerManager: OCCTWorkerManager); createOrUpdateSurfacesMesh(meshDataConverted: { positions: number[]; indices: number[]; normals: number[]; uvs?: number[]; }[], mesh: BABYLON.Mesh, updatable: boolean, material: BABYLON.PBRMetallicRoughnessMaterial, addToScene: boolean, hidden: boolean): BABYLON.Mesh; edgesRendering(mesh: BABYLON.LinesMesh, size: number, opacity: number, colours: string | string[]): void; drawLines(inputs: Inputs.Line.DrawLinesDto<BABYLON.LinesMesh>): BABYLON.LinesMesh; drawPolylineClose(inputs: Inputs.Polyline.DrawPolylineDto<BABYLON.GreasedLineMesh>): BABYLON.GreasedLineMesh; drawCurve(inputs: Inputs.Verb.DrawCurveDto<BABYLON.GreasedLineMesh>): BABYLON.GreasedLineMesh; drawSurface(inputs: Inputs.Verb.DrawSurfaceDto<BABYLON.Mesh>): BABYLON.Mesh; drawSurfaces(inputs: Inputs.Verb.DrawSurfacesDto<BABYLON.Mesh>): BABYLON.Mesh; drawSurfacesMultiColour(inputs: Inputs.Verb.DrawSurfacesColoursDto<BABYLON.Mesh>): BABYLON.Mesh; drawCurves(inputs: Inputs.Verb.DrawCurvesDto<BABYLON.GreasedLineMesh>): BABYLON.GreasedLineMesh; drawPolyline(mesh: BABYLON.GreasedLineMesh, pointsToDraw: number[][], updatable: boolean, size: number, opacity: number, colours: string | string[]): BABYLON.GreasedLineMesh; drawPolylinesWithColours(inputs: Inputs.Polyline.DrawPolylinesDto<BABYLON.GreasedLineMesh>): BABYLON.GreasedLineMesh; drawPolylines(mesh: BABYLON.GreasedLineMesh, polylinePoints: number[][][], updatable: boolean, size: number, opacity: number, colours: string | string[]): BABYLON.GreasedLineMesh | undefined; createGreasedPolylines(updatable: boolean, lines: number[][], width: number, color: BABYLON.Color3, visibility: number): BABYLON.GreasedLineMesh; localAxes(size: number, scene: BABYLON.Scene, colorXHex: string, colorYHex: string, colorZHex: string): BABYLON.Mesh; drawPoint(inputs: Inputs.Point.DrawPointDto<BABYLON.Mesh>): BABYLON.Mesh; drawPoints(inputs: Inputs.Point.DrawPointsDto<BABYLON.Mesh>): BABYLON.Mesh; updatePointsInstances(mesh: BABYLON.Mesh, positions: any[]): void; private createPointSpheresMesh; drawSolidOrPolygonMesh(inputs: Inputs.JSCAD.DrawSolidMeshDto<BABYLON.Mesh>): Promise<BABYLON.Mesh>; private makeMesh; drawSolidOrPolygonMeshes(inputs: Inputs.JSCAD.DrawSolidMeshesDto<BABYLON.Mesh>): Promise<BABYLON.Mesh>; drawPath(inputs: Inputs.JSCAD.DrawPathDto<BABYLON.GreasedLineMesh>): Promise<BABYLON.GreasedLineMesh>; drawManifoldsOrCrossSections(inputs: Inputs.Manifold.DrawManifoldsOrCrossSectionsDto<Inputs.Manifold.ManifoldPointer | Inputs.Manifold.CrossSectionPointer, BABYLON.PBRMetallicRoughnessMaterial>): Promise<BABYLON.Mesh>; drawManifoldOrCrossSection(inputs: Inputs.Manifold.DrawManifoldOrCrossSectionDto<Inputs.Manifold.ManifoldPointer | Inputs.Manifold.CrossSectionPointer, BABYLON.PBRMetallicRoughnessMaterial>): Promise<BABYLON.Mesh>; drawShape(inputs: Inputs.OCCT.DrawShapeDto<Inputs.OCCT.TopoDSShapePointer>): Promise<BABYLON.Mesh>; drawShapes(inputs: Inputs.OCCT.DrawShapesDto<Inputs.OCCT.TopoDSShapePointer>): Promise<BABYLON.Mesh>; private handleDecomposedMesh; private handleDecomposedManifold; private createLineSystemMesh; private createMesh; private parseFaces; private deleteFaceMaterialForWorker; }