@bitbybit-dev/babylonjs
Version:
Bit By Bit Developers BABYLONJS CAD Library to Program Geometry
56 lines (55 loc) • 4.23 kB
TypeScript
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;
}