@meshinspector/meshlib 1.0.0-5638

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bindings.d.mts ADDED
@@ -0,0 +1,875 @@
1
+ // TypeScript bindings for emscripten-generated code. Automatically generated at compile time.
2
+ interface WasmModule {
3
+ __ZdlPvm(_0: number, _1: number): void;
4
+ _main(_0: number, _1: number): number;
5
+ __ZdaPv(_0: number): void;
6
+ _emsGetPointerSize(): number;
7
+ __ZdaPvm(_0: number, _1: number): void;
8
+ __ZdlPv(_0: number): void;
9
+ _emscripten_builtin_malloc(_0: number): number;
10
+ ___libc_malloc(_0: number): number;
11
+ _strndup(_0: number, _1: number): number;
12
+ __Znaj(_0: number): number;
13
+ __ZnajSt11align_val_t(_0: number, _1: number): number;
14
+ __Znwj(_0: number): number;
15
+ __ZnwjSt11align_val_t(_0: number, _1: number): number;
16
+ ___libc_calloc(_0: number, _1: number): number;
17
+ ___libc_free(_0: number): void;
18
+ ___libc_realloc(_0: number, _1: number): number;
19
+ _emscripten_builtin_calloc(_0: number, _1: number): number;
20
+ _emscripten_builtin_free(_0: number): void;
21
+ _emscripten_builtin_realloc(_0: number, _1: number): number;
22
+ _malloc_size(_0: number): number;
23
+ _malloc_usable_size(_0: number): number;
24
+ _reallocf(_0: number, _1: number): number;
25
+ }
26
+
27
+ type EmbindString = ArrayBuffer|Uint8Array|Uint8ClampedArray|Int8Array|string;
28
+ export interface ClassHandle {
29
+ isAliasOf(other: ClassHandle): boolean;
30
+ delete(): void;
31
+ deleteLater(): this;
32
+ isDeleted(): boolean;
33
+ // @ts-ignore - If targeting lower than ESNext, this symbol might not exist.
34
+ [Symbol.dispose](): void;
35
+ clone(): this;
36
+ }
37
+ export interface AffineXf3f extends ClassHandle {
38
+ A: Matrix3f;
39
+ b: Vector3f;
40
+ mul(_0: AffineXf3f): AffineXf3f;
41
+ apply(_0: Vector3f): Vector3f;
42
+ }
43
+
44
+ export interface BitSet extends ClassHandle {
45
+ size(): number;
46
+ count(): number;
47
+ empty(): boolean;
48
+ test(_0: number): boolean;
49
+ toIndices(): any;
50
+ }
51
+
52
+ export interface FaceBitSet extends BitSet {
53
+ }
54
+
55
+ export interface VertBitSet extends BitSet {
56
+ }
57
+
58
+ export interface EdgeBitSet extends BitSet {
59
+ }
60
+
61
+ export interface UndirectedEdgeBitSet extends BitSet {
62
+ }
63
+
64
+ export interface Box3f extends ClassHandle {
65
+ min: Vector3f;
66
+ max: Vector3f;
67
+ valid(): boolean;
68
+ diagonal(): number;
69
+ volume(): number;
70
+ size(): Vector3f;
71
+ center(): Vector3f;
72
+ }
73
+
74
+ export interface Box3i extends ClassHandle {
75
+ min: Vector3i;
76
+ max: Vector3i;
77
+ valid(): boolean;
78
+ volume(): number;
79
+ size(): Vector3i;
80
+ }
81
+
82
+ export type Color = {
83
+ r: number,
84
+ g: number,
85
+ b: number,
86
+ a: number
87
+ };
88
+
89
+ export interface FillPartValue<T extends number> {
90
+ value: T;
91
+ }
92
+ export type FillPart = FillPartValue<0>|FillPartValue<1>|FillPartValue<2>;
93
+
94
+ export interface ForceFillValue<T extends number> {
95
+ value: T;
96
+ }
97
+ export type ForceFill = ForceFillValue<0>|ForceFillValue<1>|ForceFillValue<2>;
98
+
99
+ export interface CutMeshParameters extends ClassHandle {
100
+ fillPart: FillPart;
101
+ forceFillMode: ForceFill;
102
+ }
103
+
104
+ export interface CutByProjectionSettings extends ClassHandle {
105
+ direction: Vector3f;
106
+ }
107
+
108
+ export interface EdgeWeightsValue<T extends number> {
109
+ value: T;
110
+ }
111
+ export type EdgeWeights = EdgeWeightsValue<0>|EdgeWeightsValue<1>;
112
+
113
+ export interface VertexMassValue<T extends number> {
114
+ value: T;
115
+ }
116
+ export type VertexMass = VertexMassValue<0>|VertexMassValue<1>;
117
+
118
+ export interface RememberShapeValue<T extends number> {
119
+ value: T;
120
+ }
121
+ export type RememberShape = RememberShapeValue<0>|RememberShapeValue<1>;
122
+
123
+ export interface OffsetModeValue<T extends number> {
124
+ value: T;
125
+ }
126
+ export type OffsetMode = OffsetModeValue<0>|OffsetModeValue<1>|OffsetModeValue<2>;
127
+
128
+ export interface SubdivideFillingSettings extends ClassHandle {
129
+ maxEdgeLen: number;
130
+ maxEdgeSplits: number;
131
+ maxAngleChangeAfterFlip: number;
132
+ }
133
+
134
+ export interface SmoothFillingSettings extends ClassHandle {
135
+ naturalSmooth: boolean;
136
+ edgeWeights: EdgeWeights;
137
+ vmass: VertexMass;
138
+ }
139
+
140
+ export interface FillHoleNicelySettings extends ClassHandle {
141
+ triangulateOnly: boolean;
142
+ subdivideSettings: SubdivideFillingSettings;
143
+ smoothCurvature: boolean;
144
+ smoothSettings: SmoothFillingSettings;
145
+ triangulateParams: FillHoleParams;
146
+ }
147
+
148
+ export interface SelfIntersectionsMethodValue<T extends number> {
149
+ value: T;
150
+ }
151
+ export type SelfIntersectionsMethod = SelfIntersectionsMethodValue<0>|SelfIntersectionsMethodValue<1>;
152
+
153
+ export interface SelfIntersectionsSettings extends ClassHandle {
154
+ touchIsIntersection: boolean;
155
+ method: SelfIntersectionsMethod;
156
+ relaxIterations: number;
157
+ maxExpand: number;
158
+ subdivideEdgeLen: number;
159
+ mimicPatch: boolean;
160
+ callback: any;
161
+ }
162
+
163
+ export interface SelfIntersections extends ClassHandle {
164
+ }
165
+
166
+ export interface FloatGrid extends ClassHandle {
167
+ }
168
+
169
+ export interface FreeFormDeformer extends ClassHandle {
170
+ init(): void;
171
+ apply(): void;
172
+ init(_0: Vector3i): void;
173
+ init(_0: Vector3i, _1: Box3f): void;
174
+ setRefGridPointPosition(_0: Vector3i, _1: Vector3f): void;
175
+ getRefGridPointPosition(_0: Vector3i): Vector3f;
176
+ }
177
+
178
+ export interface ICPMethodValue<T extends number> {
179
+ value: T;
180
+ }
181
+ export type ICPMethod = ICPMethodValue<0>|ICPMethodValue<1>|ICPMethodValue<2>;
182
+
183
+ export interface ICPModeValue<T extends number> {
184
+ value: T;
185
+ }
186
+ export type ICPMode = ICPModeValue<0>|ICPModeValue<1>|ICPModeValue<2>|ICPModeValue<3>|ICPModeValue<4>;
187
+
188
+ export interface ICPExitTypeValue<T extends number> {
189
+ value: T;
190
+ }
191
+ export type ICPExitType = ICPExitTypeValue<0>|ICPExitTypeValue<1>|ICPExitTypeValue<2>|ICPExitTypeValue<3>|ICPExitTypeValue<4>;
192
+
193
+ export interface ICPProperties extends ClassHandle {
194
+ method: ICPMethod;
195
+ p2plAngleLimit: number;
196
+ p2plScaleLimit: number;
197
+ cosThreshold: number;
198
+ distThresholdSq: number;
199
+ farDistFactor: number;
200
+ icpMode: ICPMode;
201
+ iterLimit: number;
202
+ badIterStopCount: number;
203
+ exitVal: number;
204
+ mutualClosest: boolean;
205
+ ignoreBdTgts: boolean;
206
+ fixedRotationAxis: Vector3f;
207
+ }
208
+
209
+ export interface ICP extends ClassHandle {
210
+ setParams(_0: ICPProperties): void;
211
+ samplePoints(_0: number): void;
212
+ autoSelectFloatXf(): AffineXf3f;
213
+ updatePointPairs(): void;
214
+ getStatusInfo(): string;
215
+ getNumSamples(): number;
216
+ getNumActivePairs(): number;
217
+ getMeanSqDistToPoint(): number;
218
+ getMeanSqDistToPlane(): number;
219
+ calculateTransformation(): AffineXf3f;
220
+ }
221
+
222
+ export interface ContinuousContours extends ClassHandle {
223
+ }
224
+
225
+ export interface Laplacian extends ClassHandle {
226
+ init(_0: VertBitSet, _1: EdgeWeights): void;
227
+ init(_0: VertBitSet, _1: EdgeWeights, _2: VertexMass, _3: RememberShape): void;
228
+ fixVertex(_0: number, _1: boolean): void;
229
+ apply(): void;
230
+ fixVertex(_0: number, _1: Vector3f, _2: boolean): void;
231
+ }
232
+
233
+ export type SphereParams = {
234
+ radius: number,
235
+ numMeshVertices: number
236
+ };
237
+
238
+ export interface Matrix3f extends ClassHandle {
239
+ x: Vector3f;
240
+ y: Vector3f;
241
+ z: Vector3f;
242
+ }
243
+
244
+ export interface Mesh extends ClassHandle {
245
+ readonly topology: MeshTopology;
246
+ readonly points: VertCoords;
247
+ pack(): void;
248
+ volume(): number;
249
+ area(): number;
250
+ computeBoundingBox(): Box3f;
251
+ invalidateCaches(): void;
252
+ transform(_0: AffineXf3f): void;
253
+ averageEdgeLength(): number;
254
+ addMesh(_0: Mesh | null): void;
255
+ edgeLength(_0: number): number;
256
+ edgeLengthSq(_0: number): number;
257
+ findCenterFromPoints(): Vector3f;
258
+ findCenterFromFaces(): Vector3f;
259
+ findCenterFromBBox(): Vector3f;
260
+ toTriPoint(_0: number, _1: Vector3f): any;
261
+ }
262
+
263
+ export interface BooleanOperationValue<T extends number> {
264
+ value: T;
265
+ }
266
+ export type BooleanOperation = BooleanOperationValue<0>|BooleanOperationValue<1>|BooleanOperationValue<2>|BooleanOperationValue<3>|BooleanOperationValue<4>|BooleanOperationValue<5>|BooleanOperationValue<6>|BooleanOperationValue<7>;
267
+
268
+ export interface BooleanResult extends ClassHandle {
269
+ get errorString(): string;
270
+ set errorString(value: EmbindString);
271
+ readonly mesh: Mesh | null;
272
+ valid(): boolean;
273
+ }
274
+
275
+ export interface BooleanMapObjectValue<T extends number> {
276
+ value: T;
277
+ }
278
+ export type BooleanMapObject = BooleanMapObjectValue<0>|BooleanMapObjectValue<1>;
279
+
280
+ export interface BooleanResultMapper extends ClassHandle {
281
+ mapFaces(_0: FaceBitSet, _1: BooleanMapObject): FaceBitSet;
282
+ mapVerts(_0: VertBitSet, _1: BooleanMapObject): VertBitSet;
283
+ newFaces(): FaceBitSet;
284
+ filteredOldFaceBitSet(_0: FaceBitSet, _1: BooleanMapObject): FaceBitSet;
285
+ getNew2OldFaceMap(_0: BooleanMapObject): FaceMap;
286
+ }
287
+
288
+ export interface MeshBuilder extends ClassHandle {
289
+ }
290
+
291
+ export interface PreciseCollisionResult extends ClassHandle {
292
+ }
293
+
294
+ export interface MeshComponentsFaceIncidenceValue<T extends number> {
295
+ value: T;
296
+ }
297
+ export type MeshComponentsFaceIncidence = MeshComponentsFaceIncidenceValue<0>|MeshComponentsFaceIncidenceValue<1>;
298
+
299
+ export interface MeshComponents extends ClassHandle {
300
+ }
301
+
302
+ export interface DecimateStrategyValue<T extends number> {
303
+ value: T;
304
+ }
305
+ export type DecimateStrategy = DecimateStrategyValue<0>|DecimateStrategyValue<1>;
306
+
307
+ export type DecimateResult = {
308
+ vertsDeleted: number,
309
+ facesDeleted: number,
310
+ errorIntroduced: number,
311
+ cancelled: boolean
312
+ };
313
+
314
+ export interface DecimateSettings extends ClassHandle {
315
+ strategy: DecimateStrategy;
316
+ maxError: number;
317
+ maxEdgeLen: number;
318
+ maxBdShift: number;
319
+ maxTriangleAspectRatio: number;
320
+ criticalTriAspectRatio: number;
321
+ tinyEdgeLength: number;
322
+ stabilizer: number;
323
+ angleWeightedDistToPlane: boolean;
324
+ optimizeVertexPos: boolean;
325
+ maxDeletedVertices: number;
326
+ maxDeletedFaces: number;
327
+ collapseNearNotFlippable: boolean;
328
+ touchNearBdEdges: boolean;
329
+ touchBdVerts: boolean;
330
+ maxAngleChange: number;
331
+ packMesh: boolean;
332
+ subdivideParts: number;
333
+ decimateBetweenParts: boolean;
334
+ minFacesInPart: number;
335
+ }
336
+
337
+ export interface RemeshSettings extends ClassHandle {
338
+ targetEdgeLen: number;
339
+ maxEdgeSplits: number;
340
+ maxAngleChangeAfterFlip: number;
341
+ frozenBoundary: boolean;
342
+ maxBdShift: number;
343
+ useCurvature: boolean;
344
+ maxSplittableTriAspectRatio: number;
345
+ finalRelaxIters: number;
346
+ finalRelaxNoShrinkage: boolean;
347
+ packMesh: boolean;
348
+ projectOnOriginalMesh: boolean;
349
+ }
350
+
351
+ export interface MultipleEdgesResolveModeValue<T extends number> {
352
+ value: T;
353
+ }
354
+ export type MultipleEdgesResolveMode = MultipleEdgesResolveModeValue<0>|MultipleEdgesResolveModeValue<1>|MultipleEdgesResolveModeValue<2>;
355
+
356
+ export interface FillHoleParams extends ClassHandle {
357
+ smoothBd: boolean;
358
+ multipleEdgesResolveMode: MultipleEdgesResolveMode;
359
+ makeDegenerateBand: boolean;
360
+ maxPolygonSubdivisions: number;
361
+ }
362
+
363
+ export interface FixMeshDegeneraciesModeValue<T extends number> {
364
+ value: T;
365
+ }
366
+ export type FixMeshDegeneraciesMode = FixMeshDegeneraciesModeValue<0>|FixMeshDegeneraciesModeValue<1>|FixMeshDegeneraciesModeValue<2>;
367
+
368
+ export interface FixMeshDegeneraciesParams extends ClassHandle {
369
+ maxDeviation: number;
370
+ tinyEdgeLength: number;
371
+ criticalTriAspectRatio: number;
372
+ maxAngleChange: number;
373
+ stabilizer: number;
374
+ mode: FixMeshDegeneraciesMode;
375
+ mimicPatch: boolean;
376
+ }
377
+
378
+ export interface MeshLoad extends ClassHandle {
379
+ }
380
+
381
+ export interface FillHoleMetric extends ClassHandle {
382
+ }
383
+
384
+ export interface MeshOrPoints extends ClassHandle {
385
+ }
386
+
387
+ export interface MeshOrPointsXf extends ClassHandle {
388
+ xf: AffineXf3f;
389
+ }
390
+
391
+ export interface MeshRelaxParams extends ClassHandle {
392
+ iterations: number;
393
+ force: number;
394
+ limitNearInitial: boolean;
395
+ maxInitialDist: number;
396
+ hardSmoothTetrahedrons: boolean;
397
+ }
398
+
399
+ export interface MeshSave extends ClassHandle {
400
+ }
401
+
402
+ export interface MeshTopology extends ClassHandle {
403
+ getValidVerts(): VertBitSet;
404
+ getValidFaces(): FaceBitSet;
405
+ faceSize(): number;
406
+ findNumHoles(): number;
407
+ getTriVerts(_0: number): any;
408
+ getLeftTriVerts(_0: number): any;
409
+ findHoleRepresentiveEdges(): any;
410
+ getTriangulation(): Triangulation;
411
+ }
412
+
413
+ export interface CascadeModeValue<T extends number> {
414
+ value: T;
415
+ }
416
+ export type CascadeMode = CascadeModeValue<0>|CascadeModeValue<1>;
417
+
418
+ export interface MultiwayICPSamplingParameters extends ClassHandle {
419
+ samplingVoxelSize: number;
420
+ maxGroupSize: number;
421
+ cascadeMode: CascadeMode;
422
+ }
423
+
424
+ export interface MultiwayICP extends ClassHandle {
425
+ calculateTransformations(): any;
426
+ resamplePoints(_0: MultiwayICPSamplingParameters): boolean;
427
+ updateAllPointPairs(): boolean;
428
+ setParams(_0: ICPProperties): void;
429
+ getParams(): ICPProperties;
430
+ getMeanSqDistToPoint(): number;
431
+ getMeanSqDistToPlane(): number;
432
+ getNumSamples(): number;
433
+ getNumActivePairs(): number;
434
+ getStatusInfo(): string;
435
+ }
436
+
437
+ export interface BaseShellParameters extends ClassHandle {
438
+ voxelSize: number;
439
+ }
440
+
441
+ export interface OffsetParameters extends BaseShellParameters {
442
+ memoryEfficient: boolean;
443
+ signDetectionMode: SignDetectionMode;
444
+ }
445
+
446
+ export interface SharpOffsetParameters extends OffsetParameters {
447
+ minNewVertDev: number;
448
+ maxNewRank2VertDev: number;
449
+ maxNewRank3VertDev: number;
450
+ maxOldVertPosCorrection: number;
451
+ }
452
+
453
+ export interface GeneralOffsetParameters extends SharpOffsetParameters {
454
+ mode: OffsetMode;
455
+ }
456
+
457
+ export interface OneMeshContours extends ClassHandle {
458
+ }
459
+
460
+ export interface PointCloud extends ClassHandle {
461
+ readonly validPoints: VertBitSet;
462
+ readonly points: VertCoords;
463
+ readonly normals: VertCoords;
464
+ computeBoundingBox(): Box3f;
465
+ addPoint(_0: Vector3f): number;
466
+ }
467
+
468
+ export interface TriangulationParameters extends ClassHandle {
469
+ numNeighbours: number;
470
+ radius: number;
471
+ critAngle: number;
472
+ critHoleLength: number;
473
+ automaticRadiusIncrease: boolean;
474
+ }
475
+
476
+ export interface PointsLoad extends ClassHandle {
477
+ }
478
+
479
+ export interface PointsSave extends ClassHandle {
480
+ }
481
+
482
+ export interface MeshProjectionParameters extends ClassHandle {
483
+ loDistLimitSq: number;
484
+ upDistLimitSq: number;
485
+ }
486
+
487
+ export interface CoordinateConverters extends ClassHandle {
488
+ }
489
+
490
+ export interface SignDetectionModeValue<T extends number> {
491
+ value: T;
492
+ }
493
+ export type SignDetectionMode = SignDetectionModeValue<0>|SignDetectionModeValue<1>|SignDetectionModeValue<2>|SignDetectionModeValue<3>|SignDetectionModeValue<4>;
494
+
495
+ export interface MeshToVolumeTypeValue<T extends number> {
496
+ value: T;
497
+ }
498
+ export type MeshToVolumeType = MeshToVolumeTypeValue<0>|MeshToVolumeTypeValue<1>;
499
+
500
+ export interface MeshToVolumeParams extends ClassHandle {
501
+ type: MeshToVolumeType;
502
+ surfaceOffset: number;
503
+ worldXf: AffineXf3f;
504
+ voxelSize: Vector3f;
505
+ }
506
+
507
+ export interface GridToMeshSettings extends ClassHandle {
508
+ isoValue: number;
509
+ adaptivity: number;
510
+ maxFaces: number;
511
+ maxVertices: number;
512
+ relaxDisorientedTriangles: boolean;
513
+ voxelSize: Vector3f;
514
+ }
515
+
516
+ export interface VdbVolume extends ClassHandle {
517
+ readonly data: FloatGrid;
518
+ readonly min: number;
519
+ readonly max: number;
520
+ readonly voxelSize: Vector3f;
521
+ readonly dims: Vector3i;
522
+ }
523
+
524
+ export interface VertCoords extends ClassHandle {
525
+ toArray(): any;
526
+ }
527
+
528
+ export interface Triangulation extends ClassHandle {
529
+ toArray(): any;
530
+ }
531
+
532
+ export interface FaceNormals extends ClassHandle {
533
+ toArray(): any;
534
+ }
535
+
536
+ export interface VertMap extends ClassHandle {
537
+ toArray(): any;
538
+ }
539
+
540
+ export interface FaceMap extends ClassHandle {
541
+ toArray(): any;
542
+ }
543
+
544
+ export interface Face2RegionMap extends ClassHandle {
545
+ toArray(): any;
546
+ }
547
+
548
+ export interface VertColors extends ClassHandle {
549
+ toArray(): any;
550
+ }
551
+
552
+ export type Vector3f = {
553
+ x: number,
554
+ y: number,
555
+ z: number
556
+ };
557
+
558
+ export type Vector3i = {
559
+ x: number,
560
+ y: number,
561
+ z: number
562
+ };
563
+
564
+ export interface VoxelsLoad extends ClassHandle {
565
+ }
566
+
567
+ export interface VoxelsSave extends ClassHandle {
568
+ }
569
+
570
+ interface EmbindModule {
571
+ AffineXf3f: {
572
+ new(): AffineXf3f;
573
+ new(_0: Matrix3f, _1: Vector3f): AffineXf3f;
574
+ linear(_0: Matrix3f): AffineXf3f;
575
+ translation(_0: Vector3f): AffineXf3f;
576
+ };
577
+ BitSet: {
578
+ new(): BitSet;
579
+ fromIndices(_0: any): BitSet;
580
+ };
581
+ FaceBitSet: {
582
+ new(): FaceBitSet;
583
+ fromIndices(_0: any): FaceBitSet;
584
+ };
585
+ VertBitSet: {
586
+ new(): VertBitSet;
587
+ fromIndices(_0: any): VertBitSet;
588
+ };
589
+ EdgeBitSet: {
590
+ new(): EdgeBitSet;
591
+ fromIndices(_0: any): EdgeBitSet;
592
+ };
593
+ UndirectedEdgeBitSet: {
594
+ new(): UndirectedEdgeBitSet;
595
+ fromIndices(_0: any): UndirectedEdgeBitSet;
596
+ };
597
+ Box3f: {
598
+ new(): Box3f;
599
+ new(_0: Vector3f, _1: Vector3f): Box3f;
600
+ };
601
+ Box3i: {
602
+ new(): Box3i;
603
+ new(_0: Vector3i, _1: Vector3i): Box3i;
604
+ };
605
+ FillPart: {Both: FillPartValue<0>, Left: FillPartValue<1>, Right: FillPartValue<2>};
606
+ ForceFill: {None: ForceFillValue<0>, Good: ForceFillValue<1>, All: ForceFillValue<2>};
607
+ CutMeshParameters: {
608
+ new(): CutMeshParameters;
609
+ };
610
+ CutByProjectionSettings: {
611
+ new(): CutByProjectionSettings;
612
+ };
613
+ EdgeWeights: {Unit: EdgeWeightsValue<0>, Cotan: EdgeWeightsValue<1>};
614
+ VertexMass: {Unit: VertexMassValue<0>, NeiArea: VertexMassValue<1>};
615
+ RememberShape: {Yes: RememberShapeValue<0>, No: RememberShapeValue<1>};
616
+ OffsetMode: {Smooth: OffsetModeValue<0>, Standard: OffsetModeValue<1>, Sharpening: OffsetModeValue<2>};
617
+ SubdivideFillingSettings: {
618
+ new(): SubdivideFillingSettings;
619
+ };
620
+ SmoothFillingSettings: {
621
+ new(): SmoothFillingSettings;
622
+ };
623
+ FillHoleNicelySettings: {
624
+ new(): FillHoleNicelySettings;
625
+ };
626
+ SelfIntersectionsMethod: {Relax: SelfIntersectionsMethodValue<0>, CutAndFill: SelfIntersectionsMethodValue<1>};
627
+ SelfIntersectionsSettings: {
628
+ new(): SelfIntersectionsSettings;
629
+ };
630
+ SelfIntersections: {
631
+ getFaces(_0: Mesh, _1: boolean): FaceBitSet;
632
+ fix(_0: Mesh, _1: SelfIntersectionsSettings): void;
633
+ };
634
+ FloatGrid: {
635
+ new(): FloatGrid;
636
+ };
637
+ resampled(_0: FloatGrid, _1: number): FloatGrid;
638
+ resampled(_0: FloatGrid, _1: number, _2: number, _3: number): FloatGrid;
639
+ cropped(_0: FloatGrid, _1: Box3i): FloatGrid;
640
+ FreeFormDeformer: {
641
+ new(_0: Mesh | null): FreeFormDeformer;
642
+ };
643
+ ICPMethod: {Combined: ICPMethodValue<0>, PointToPoint: ICPMethodValue<1>, PointToPlane: ICPMethodValue<2>};
644
+ ICPMode: {RigidScale: ICPModeValue<0>, AnyRigidXf: ICPModeValue<1>, OrthogonalAxis: ICPModeValue<2>, FixedAxis: ICPModeValue<3>, TranslationOnly: ICPModeValue<4>};
645
+ ICPExitType: {NotStarted: ICPExitTypeValue<0>, NotFoundSolution: ICPExitTypeValue<1>, MaxIterations: ICPExitTypeValue<2>, MaxBadIterations: ICPExitTypeValue<3>, StopMsdReached: ICPExitTypeValue<4>};
646
+ ICPProperties: {
647
+ new(): ICPProperties;
648
+ };
649
+ ICP: {
650
+ new(_0: MeshOrPointsXf, _1: MeshOrPointsXf, _2: number): ICP;
651
+ new(_0: MeshOrPointsXf, _1: MeshOrPointsXf, _2: VertBitSet, _3: VertBitSet): ICP;
652
+ };
653
+ ContinuousContours: {};
654
+ Laplacian: {
655
+ new(_0: Mesh | null): Laplacian;
656
+ };
657
+ Matrix3f: {
658
+ new(): Matrix3f;
659
+ new(_0: Vector3f, _1: Vector3f, _2: Vector3f): Matrix3f;
660
+ identity(): Matrix3f;
661
+ zero(): Matrix3f;
662
+ rotation(_0: Vector3f, _1: number): Matrix3f;
663
+ };
664
+ Mesh: {
665
+ fromTriangles(_0: VertCoords, _1: Triangulation): Mesh | null;
666
+ fromTrianglesDuplicatingNonManifoldVertices(_0: VertCoords, _1: Triangulation): Mesh | null;
667
+ };
668
+ cutMeshByProjection(_0: Mesh | null, _1: any, _2: CutByProjectionSettings): any;
669
+ makeConvexHullFromMesh(_0: Mesh | null): Mesh | null;
670
+ makeCylinderAdvanced(_0: number, _1: number, _2: number, _3: number, _4: number, _5: number): Mesh | null;
671
+ fillHoleNicely(_0: Mesh | null, _1: number, _2: FillHoleNicelySettings): FaceBitSet;
672
+ makeSphere(_0: SphereParams): Mesh | null;
673
+ makeUVSphere(_0: number, _1: number, _2: number): Mesh | null;
674
+ BooleanOperation: {InsideA: BooleanOperationValue<0>, InsideB: BooleanOperationValue<1>, OutsideA: BooleanOperationValue<2>, OutsideB: BooleanOperationValue<3>, Union: BooleanOperationValue<4>, Intersection: BooleanOperationValue<5>, DifferenceBA: BooleanOperationValue<6>, DifferenceAB: BooleanOperationValue<7>};
675
+ BooleanResult: {};
676
+ boolean(_0: Mesh | null, _1: Mesh | null, _2: BooleanOperation): BooleanResult;
677
+ BooleanMapObject: {A: BooleanMapObjectValue<0>, B: BooleanMapObjectValue<1>};
678
+ BooleanResultMapper: {
679
+ new(): BooleanResultMapper;
680
+ };
681
+ boolean(_0: Mesh | null, _1: Mesh | null, _2: BooleanOperation, _3: BooleanResultMapper): BooleanResult;
682
+ MeshBuilder: {
683
+ uniteCloseVertices(_0: Mesh | null, _1: number, _2: boolean): number;
684
+ };
685
+ isInside(_0: Mesh | null, _1: Mesh | null): boolean;
686
+ PreciseCollisionResult: {};
687
+ MeshComponentsFaceIncidence: {PerEdge: MeshComponentsFaceIncidenceValue<0>, PerVertex: MeshComponentsFaceIncidenceValue<1>};
688
+ MeshComponents: {
689
+ getComponent(_0: Mesh | null, _1: number, _2: MeshComponentsFaceIncidence): FaceBitSet;
690
+ getComponents(_0: Mesh | null, _1: FaceBitSet, _2: MeshComponentsFaceIncidence): FaceBitSet;
691
+ getLargestComponent(_0: Mesh | null, _1: MeshComponentsFaceIncidence, _2: number): FaceBitSet;
692
+ getLargeByAreaComponents(_0: Mesh | null, _1: number): FaceBitSet;
693
+ getNumComponents(_0: Mesh | null, _1: MeshComponentsFaceIncidence): number;
694
+ getAllComponents(_0: Mesh | null, _1: MeshComponentsFaceIncidence): any;
695
+ getAllComponentsMap(_0: Mesh | null, _1: MeshComponentsFaceIncidence): any;
696
+ getLargeByAreaRegions(_0: Mesh | null, _1: Face2RegionMap, _2: number, _3: number): any;
697
+ };
698
+ DecimateStrategy: {MinimizeError: DecimateStrategyValue<0>, ShortestEdgeFirst: DecimateStrategyValue<1>};
699
+ DecimateSettings: {
700
+ new(): DecimateSettings;
701
+ };
702
+ decimateMesh(_0: Mesh | null, _1: DecimateSettings): DecimateResult;
703
+ RemeshSettings: {
704
+ new(): RemeshSettings;
705
+ };
706
+ remesh(_0: Mesh | null, _1: RemeshSettings): boolean;
707
+ MultipleEdgesResolveMode: {None: MultipleEdgesResolveModeValue<0>, Simple: MultipleEdgesResolveModeValue<1>, Strong: MultipleEdgesResolveModeValue<2>};
708
+ FillHoleParams: {
709
+ new(): FillHoleParams;
710
+ };
711
+ fillHole(_0: Mesh | null, _1: number, _2: FillHoleParams): void;
712
+ fillHoles(_0: Mesh | null, _1: any, _2: FillHoleParams): void;
713
+ FixMeshDegeneraciesMode: {Decimate: FixMeshDegeneraciesModeValue<0>, Remesh: FixMeshDegeneraciesModeValue<1>, RemeshPatch: FixMeshDegeneraciesModeValue<2>};
714
+ FixMeshDegeneraciesParams: {
715
+ new(): FixMeshDegeneraciesParams;
716
+ };
717
+ fixMeshDegeneracies(_0: Mesh | null, _1: FixMeshDegeneraciesParams): void;
718
+ fixMultipleEdges(_0: Mesh | null): void;
719
+ findDegenerateFaces(_0: Mesh | null, _1: number): FaceBitSet;
720
+ findShortEdges(_0: Mesh | null, _1: number): UndirectedEdgeBitSet;
721
+ findHoleComplicatingFaces(_0: Mesh | null): FaceBitSet;
722
+ MeshLoad: {
723
+ fromAnySupportedFormat(_0: EmbindString): Mesh | null;
724
+ };
725
+ findDistance(_0: Mesh | null, _1: Mesh | null): any;
726
+ FillHoleMetric: {};
727
+ getCircumscribedMetric(_0: Mesh | null): FillHoleMetric;
728
+ getPlaneFillMetric(_0: Mesh | null, _1: number): FillHoleMetric;
729
+ getPlaneNormalizedFillMetric(_0: Mesh | null, _1: number): FillHoleMetric;
730
+ getComplexFillMetric(_0: Mesh | null, _1: number): FillHoleMetric;
731
+ getEdgeLengthFillMetric(_0: Mesh | null): FillHoleMetric;
732
+ getUniversalMetric(_0: Mesh | null): FillHoleMetric;
733
+ getMinAreaMetric(_0: Mesh | null): FillHoleMetric;
734
+ calcCombinedFillMetric(_0: Mesh | null, _1: FaceBitSet, _2: FillHoleMetric): number;
735
+ MeshOrPoints: {
736
+ fromMesh(_0: Mesh): MeshOrPoints;
737
+ fromPoints(_0: PointCloud): MeshOrPoints;
738
+ };
739
+ MeshOrPointsXf: {
740
+ new(_0: MeshOrPoints, _1: AffineXf3f): MeshOrPointsXf;
741
+ };
742
+ MeshRelaxParams: {
743
+ new(): MeshRelaxParams;
744
+ };
745
+ relax(_0: Mesh | null, _1: MeshRelaxParams): boolean;
746
+ relaxKeepVolume(_0: Mesh | null, _1: MeshRelaxParams): boolean;
747
+ MeshSave: {
748
+ toAnySupportedFormat(_0: Mesh | null, _1: EmbindString): void;
749
+ };
750
+ MeshTopology: {};
751
+ expandFaces(_0: MeshTopology, _1: FaceBitSet): FaceBitSet;
752
+ shrinkFaces(_0: MeshTopology, _1: FaceBitSet): FaceBitSet;
753
+ getBoundaryFaces(_0: MeshTopology, _1: FaceBitSet): FaceBitSet;
754
+ expandVerts(_0: MeshTopology, _1: VertBitSet, _2: number): VertBitSet;
755
+ shrinkVerts(_0: MeshTopology, _1: VertBitSet, _2: number): VertBitSet;
756
+ orderIntersectionContours(_0: MeshTopology, _1: MeshTopology, _2: PreciseCollisionResult): ContinuousContours;
757
+ CascadeMode: {Sequential: CascadeModeValue<0>, AABBTreeBased: CascadeModeValue<1>};
758
+ MultiwayICPSamplingParameters: {
759
+ new(): MultiwayICPSamplingParameters;
760
+ };
761
+ MultiwayICP: {
762
+ new(_0: any, _1: MultiwayICPSamplingParameters): MultiwayICP;
763
+ };
764
+ BaseShellParameters: {
765
+ new(): BaseShellParameters;
766
+ };
767
+ OffsetParameters: {
768
+ new(): OffsetParameters;
769
+ };
770
+ SharpOffsetParameters: {
771
+ new(): SharpOffsetParameters;
772
+ };
773
+ GeneralOffsetParameters: {
774
+ new(): GeneralOffsetParameters;
775
+ };
776
+ suggestVoxelSize(_0: Mesh | null, _1: number): number;
777
+ offsetMesh(_0: Mesh | null, _1: number, _2: OffsetParameters): Mesh | null;
778
+ doubleOffsetMesh(_0: Mesh | null, _1: number, _2: number, _3: OffsetParameters): Mesh | null;
779
+ mcOffsetMesh(_0: Mesh | null, _1: number, _2: OffsetParameters): Mesh | null;
780
+ mcShellMeshRegion(_0: Mesh | null, _1: FaceBitSet, _2: number, _3: BaseShellParameters): Mesh | null;
781
+ sharpOffsetMesh(_0: Mesh | null, _1: number, _2: SharpOffsetParameters): Mesh | null;
782
+ generalOffsetMesh(_0: Mesh | null, _1: number, _2: GeneralOffsetParameters): Mesh | null;
783
+ thickenMesh(_0: Mesh | null, _1: number, _2: GeneralOffsetParameters): Mesh | null;
784
+ OneMeshContours: {};
785
+ cutMesh(_0: Mesh | null, _1: OneMeshContours, _2: CutMeshParameters): any;
786
+ PointCloud: {
787
+ new(): PointCloud;
788
+ };
789
+ makeConvexHullFromPoints(_0: PointCloud): Mesh | null;
790
+ meshToPointCloud(_0: Mesh | null, _1: boolean): PointCloud;
791
+ TriangulationParameters: {
792
+ new(): TriangulationParameters;
793
+ };
794
+ triangulatePointCloud(_0: PointCloud, _1: TriangulationParameters): Mesh | null;
795
+ PointsLoad: {
796
+ fromAnySupportedFormat(_0: EmbindString): PointCloud;
797
+ };
798
+ PointsSave: {
799
+ toAnySupportedFormat(_0: PointCloud, _1: EmbindString): void;
800
+ };
801
+ MeshProjectionParameters: {
802
+ new(): MeshProjectionParameters;
803
+ };
804
+ findSignedDistances(_0: Mesh | null, _1: Mesh | null, _2: MeshProjectionParameters): any;
805
+ CoordinateConverters: {};
806
+ getVectorConverters(_0: Mesh, _1: Mesh): CoordinateConverters;
807
+ findCollidingEdgeTrisPrecise(_0: Mesh, _1: Mesh, _2: CoordinateConverters): PreciseCollisionResult;
808
+ getOneMeshIntersectionContours(_0: Mesh, _1: Mesh, _2: ContinuousContours, _3: boolean, _4: CoordinateConverters): OneMeshContours;
809
+ getIncidentVertsFromFaces(_0: MeshTopology, _1: FaceBitSet): VertBitSet;
810
+ getIncidentVertsFromEdges(_0: MeshTopology, _1: UndirectedEdgeBitSet): VertBitSet;
811
+ getIncidentFacesFromVerts(_0: MeshTopology, _1: VertBitSet): FaceBitSet;
812
+ getIncidentFacesFromEdges(_0: MeshTopology, _1: UndirectedEdgeBitSet): FaceBitSet;
813
+ getIncidentEdgesFromFaces(_0: MeshTopology, _1: FaceBitSet): UndirectedEdgeBitSet;
814
+ getIncidentEdgesFromEdges(_0: MeshTopology, _1: UndirectedEdgeBitSet): UndirectedEdgeBitSet;
815
+ getInnerVertsFromFaces(_0: MeshTopology, _1: FaceBitSet): VertBitSet;
816
+ getInnerVertsFromEdges(_0: MeshTopology, _1: UndirectedEdgeBitSet): VertBitSet;
817
+ getInnerFaces(_0: MeshTopology, _1: VertBitSet): FaceBitSet;
818
+ getInnerEdgesFromVerts(_0: MeshTopology, _1: VertBitSet): UndirectedEdgeBitSet;
819
+ getInnerEdgesFromFaces(_0: MeshTopology, _1: FaceBitSet): UndirectedEdgeBitSet;
820
+ getBoundaryVerts(_0: MeshTopology, _1: FaceBitSet): VertBitSet;
821
+ trackRightBoundaryLoop(_0: MeshTopology, _1: number): any;
822
+ findRightBoundary(_0: MeshTopology): any;
823
+ SignDetectionMode: {Unsigned: SignDetectionModeValue<0>, OpenVDB: SignDetectionModeValue<1>, ProjectionNormal: SignDetectionModeValue<2>, WindingRule: SignDetectionModeValue<3>, HoleWindingRule: SignDetectionModeValue<4>};
824
+ makeTorus(_0: number, _1: number, _2: number, _3: number): Mesh | null;
825
+ MeshToVolumeType: {Signed: MeshToVolumeTypeValue<0>, Unsigned: MeshToVolumeTypeValue<1>};
826
+ MeshToVolumeParams: {
827
+ new(): MeshToVolumeParams;
828
+ };
829
+ GridToMeshSettings: {
830
+ new(): GridToMeshSettings;
831
+ };
832
+ evalGridMinMax(_0: FloatGrid): any;
833
+ gridToMesh(_0: FloatGrid, _1: GridToMeshSettings): Mesh | null;
834
+ VdbVolume: {};
835
+ meshToVolume(_0: Mesh | null, _1: MeshToVolumeParams): VdbVolume;
836
+ meshToDistanceVdbVolume(_0: Mesh | null, _1: MeshToVolumeParams): VdbVolume;
837
+ floatGridToVdbVolume(_0: FloatGrid): VdbVolume;
838
+ VertCoords: {
839
+ fromArray(_0: any): VertCoords;
840
+ };
841
+ computePerVertNormals(_0: Mesh | null): VertCoords;
842
+ Triangulation: {
843
+ fromArray(_0: any): Triangulation;
844
+ };
845
+ FaceNormals: {
846
+ fromArray(_0: any): FaceNormals;
847
+ };
848
+ computePerFaceNormals(_0: Mesh | null): FaceNormals;
849
+ VertMap: {
850
+ fromArray(_0: any): VertMap;
851
+ };
852
+ FaceMap: {
853
+ fromArray(_0: any): FaceMap;
854
+ };
855
+ Face2RegionMap: {
856
+ fromArray(_0: any): Face2RegionMap;
857
+ };
858
+ VertColors: {
859
+ fromArray(_0: any): VertColors;
860
+ };
861
+ makeCube(_0: Vector3f, _1: Vector3f): Mesh | null;
862
+ findProjection(_0: Vector3f, _1: Mesh | null): any;
863
+ findSignedDistance(_0: Vector3f, _1: Mesh | null): any;
864
+ getValue(_0: FloatGrid, _1: Vector3i): number;
865
+ setValue(_0: FloatGrid, _1: Vector3i, _2: number): void;
866
+ VoxelsLoad: {
867
+ fromAnySupportedFormat(_0: EmbindString): any;
868
+ };
869
+ VoxelsSave: {
870
+ toAnySupportedFormat(_0: VdbVolume, _1: EmbindString): void;
871
+ };
872
+ }
873
+
874
+ export type MainModule = WasmModule & EmbindModule;
875
+ export default function MainModuleFactory (options?: unknown): Promise<MainModule>;