brepjs 10.0.0 → 11.0.0
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/dist/2d/blueprints/Blueprint.d.ts.map +1 -1
- package/dist/2d.cjs +2 -2
- package/dist/2d.js +3 -3
- package/dist/{Blueprint-B6UDSVJN.cjs → Blueprint-BbgdNjMG.cjs} +5 -5
- package/dist/{Blueprint-QlgNyzP7.js → Blueprint-CFUlMh67.js} +5 -5
- package/dist/{boolean2D-Gr-OYFsO.js → boolean2D-DNKu6gA7.js} +10 -9
- package/dist/{boolean2D-DZxTrl9x.cjs → boolean2D-Y4yATWl7.cjs} +10 -9
- package/dist/{booleanFns-CR6vk8qv.cjs → booleanFns-BaMEij5u.cjs} +7 -4
- package/dist/{booleanFns-BEIrQNUH.js → booleanFns-DOonidp8.js} +7 -4
- package/dist/brepjs.cjs +37 -16
- package/dist/brepjs.js +83 -62
- package/dist/core/shapeTypes.d.ts +106 -0
- package/dist/core/shapeTypes.d.ts.map +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.js +1 -1
- package/dist/{cornerFinder-DlwI0iHu.cjs → cornerFinder-CDkc5qfD.cjs} +1 -1
- package/dist/{cornerFinder-Bh_jsF_w.js → cornerFinder-CcNE4HxW.js} +1 -1
- package/dist/{curveFns-CNkC51il.js → curveFns-BMXtgX1x.js} +1 -1
- package/dist/{curveFns-jnEgxP5N.cjs → curveFns-Dtaf2CvG.cjs} +1 -1
- package/dist/{drawFns-D0Wg1cy7.cjs → drawFns-B-r3aaqa.cjs} +10 -10
- package/dist/{drawFns-Ex_DyuI1.js → drawFns-c8p_xTP0.js} +10 -10
- package/dist/{faceFns-DKkW12_x.js → faceFns-Cz71BDro.js} +1 -1
- package/dist/{faceFns-B10DQksf.cjs → faceFns-DVo4NiOl.cjs} +1 -1
- package/dist/{helpers-4kc7odPn.cjs → helpers-BOPjTzbq.cjs} +4 -4
- package/dist/{helpers-BPzEhlP8.js → helpers-Cg_I5KyH.js} +4 -4
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/io.cjs +3 -3
- package/dist/io.js +3 -3
- package/dist/{loft-CfNUe13X.js → loft-Cg7rdMf1.js} +9 -5
- package/dist/{loft-ByirrIHz.cjs → loft-DCPqcyZE.cjs} +9 -5
- package/dist/{measurement-BMfzcJ2H.js → measurement-BN6FiFD4.js} +2 -2
- package/dist/{measurement-CpWygrRd.cjs → measurement-Crexq3aQ.cjs} +2 -2
- package/dist/measurement.cjs +1 -1
- package/dist/measurement.js +1 -1
- package/dist/{meshFns-DRZcKqgZ.cjs → meshFns-d6Ta_uov.cjs} +2 -2
- package/dist/{meshFns-CbuZpQmE.js → meshFns-kdGtj-un.js} +2 -2
- package/dist/operations/api.d.ts +3 -3
- package/dist/operations/api.d.ts.map +1 -1
- package/dist/operations/extrude.d.ts +3 -3
- package/dist/operations/extrude.d.ts.map +1 -1
- package/dist/operations/extrudeFns.d.ts +3 -3
- package/dist/operations/extrudeFns.d.ts.map +1 -1
- package/dist/{operations-DBJ9dkjD.js → operations-BaSVJrqt.js} +5 -5
- package/dist/{operations-DAt3B8iS.cjs → operations-C9rwsqkO.cjs} +5 -5
- package/dist/operations.cjs +2 -2
- package/dist/operations.js +2 -2
- package/dist/query.cjs +4 -4
- package/dist/query.js +5 -5
- package/dist/{shapeFns-BrfVnd9Q.js → shapeFns-BbnD8E_4.js} +2 -2
- package/dist/{shapeFns-vPR93KGT.cjs → shapeFns-vrqpeRIf.cjs} +2 -2
- package/dist/{shapeTypes-C1z8HWJf.js → shapeTypes-BkPK8XIl.js} +57 -9
- package/dist/{shapeTypes-BxAzFSfl.cjs → shapeTypes-CHvr4HNj.cjs} +48 -0
- package/dist/sketching/CompoundSketch.d.ts +2 -2
- package/dist/sketching/CompoundSketch.d.ts.map +1 -1
- package/dist/sketching/Sketch.d.ts.map +1 -1
- package/dist/sketching/draw.d.ts.map +1 -1
- package/dist/sketching/sketchFns.d.ts +3 -3
- package/dist/sketching/sketchFns.d.ts.map +1 -1
- package/dist/sketching.cjs +2 -2
- package/dist/sketching.js +2 -2
- package/dist/{surfaceBuilders-B-yoDL2e.js → surfaceBuilders-DCThAtoQ.js} +5 -3
- package/dist/{surfaceBuilders-BkTPbZFl.cjs → surfaceBuilders-DIPPckQg.cjs} +5 -3
- package/dist/topology/adjacencyFns.d.ts +3 -2
- package/dist/topology/adjacencyFns.d.ts.map +1 -1
- package/dist/topology/booleanFns.d.ts +2 -2
- package/dist/topology/booleanFns.d.ts.map +1 -1
- package/dist/topology/compoundOpsFns.d.ts.map +1 -1
- package/dist/topology/faceFns.d.ts +5 -5
- package/dist/topology/faceFns.d.ts.map +1 -1
- package/dist/topology/healingFns.d.ts +2 -2
- package/dist/topology/healingFns.d.ts.map +1 -1
- package/dist/topology/primitiveFns.d.ts +32 -13
- package/dist/topology/primitiveFns.d.ts.map +1 -1
- package/dist/topology/shapeFns.d.ts +6 -1
- package/dist/topology/shapeFns.d.ts.map +1 -1
- package/dist/topology/solidBuilders.d.ts +8 -8
- package/dist/topology/solidBuilders.d.ts.map +1 -1
- package/dist/topology/surfaceBuilders.d.ts +7 -7
- package/dist/topology/surfaceBuilders.d.ts.map +1 -1
- package/dist/topology/wrapperFns.d.ts.map +1 -1
- package/dist/{topology-CBZcJ5pS.cjs → topology-BK5M8FlG.cjs} +11 -6
- package/dist/{topology-Bt4qS8pS.js → topology-DoSBNUPF.js} +11 -6
- package/dist/topology.cjs +6 -6
- package/dist/topology.js +6 -6
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnyShape, Dimension, Face, Wire, Solid } from '../core/shapeTypes.js';
|
|
1
|
+
import { AnyShape, Dimension, Face, Wire, Solid, ValidSolid } from '../core/shapeTypes.js';
|
|
2
2
|
import { Result } from '../core/result.js';
|
|
3
3
|
/**
|
|
4
4
|
* Check if a shape is valid according to kernel geometry and topology checks.
|
|
@@ -9,7 +9,7 @@ export declare function isValid(shape: AnyShape<Dimension>): boolean;
|
|
|
9
9
|
*
|
|
10
10
|
* Uses ShapeFix_Solid to repair topology issues like gaps, wrong orientation, etc.
|
|
11
11
|
*/
|
|
12
|
-
export declare function healSolid(solid: Solid): Result<
|
|
12
|
+
export declare function healSolid(solid: Solid): Result<ValidSolid>;
|
|
13
13
|
/**
|
|
14
14
|
* Attempt to heal/fix a face.
|
|
15
15
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"healingFns.d.ts","sourceRoot":"","sources":["../../src/topology/healingFns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"healingFns.d.ts","sourceRoot":"","sources":["../../src/topology/healingFns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEhG,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,mBAAmB,CAAC;AAQ/D;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,OAAO,CAE3D;AAMD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAqC1D;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAe5E;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAe5F;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAYvE;AAMD,4CAA4C;AAC5C,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iEAAiE;IACjE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,iDAAiD;AACjD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;CAC5D;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC1B,OAAO,CAAC,EAAE,eAAe,GACxB,MAAM,CAAC;IAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,CAAC,CAuI/D"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Vec3 } from '../core/types.js';
|
|
2
2
|
import { Result } from '../core/result.js';
|
|
3
|
-
import { Edge, Wire, Face,
|
|
3
|
+
import { Edge, ClosedWire, Wire, Face, OrientedFace, ValidSolid, Vertex, Shell, Compound, AnyShape, Dimension, Shape3D } from '../core/shapeTypes.js';
|
|
4
4
|
import { BSplineApproximationOptions } from './shapeHelpers.js';
|
|
5
5
|
export type { BSplineApproximationOptions } from './shapeHelpers.js';
|
|
6
6
|
/** Options for {@link box}. */
|
|
@@ -17,7 +17,7 @@ export interface BoxOptions {
|
|
|
17
17
|
* @param depth - Size along Y.
|
|
18
18
|
* @param height - Size along Z.
|
|
19
19
|
*/
|
|
20
|
-
export declare function box(width: number, depth: number, height: number, options?: BoxOptions):
|
|
20
|
+
export declare function box(width: number, depth: number, height: number, options?: BoxOptions): ValidSolid;
|
|
21
21
|
/** Options for {@link cylinder}. */
|
|
22
22
|
export interface CylinderOptions {
|
|
23
23
|
/** Base position. Default: [0, 0, 0]. */
|
|
@@ -30,7 +30,7 @@ export interface CylinderOptions {
|
|
|
30
30
|
/**
|
|
31
31
|
* Create a cylinder with the given radius and height.
|
|
32
32
|
*/
|
|
33
|
-
export declare function cylinder(radius: number, height: number, options?: CylinderOptions):
|
|
33
|
+
export declare function cylinder(radius: number, height: number, options?: CylinderOptions): ValidSolid;
|
|
34
34
|
/** Options for {@link sphere}. */
|
|
35
35
|
export interface SphereOptions {
|
|
36
36
|
/** Center position. Default: [0, 0, 0]. */
|
|
@@ -39,7 +39,7 @@ export interface SphereOptions {
|
|
|
39
39
|
/**
|
|
40
40
|
* Create a sphere with the given radius.
|
|
41
41
|
*/
|
|
42
|
-
export declare function sphere(radius: number, options?: SphereOptions):
|
|
42
|
+
export declare function sphere(radius: number, options?: SphereOptions): ValidSolid;
|
|
43
43
|
/** Options for {@link cone}. */
|
|
44
44
|
export interface ConeOptions {
|
|
45
45
|
/** Base position. Default: [0, 0, 0]. */
|
|
@@ -56,7 +56,7 @@ export interface ConeOptions {
|
|
|
56
56
|
* @param topRadius - Radius at the top (0 for a full cone).
|
|
57
57
|
* @param height - Height of the cone.
|
|
58
58
|
*/
|
|
59
|
-
export declare function cone(bottomRadius: number, topRadius: number, height: number, options?: ConeOptions):
|
|
59
|
+
export declare function cone(bottomRadius: number, topRadius: number, height: number, options?: ConeOptions): ValidSolid;
|
|
60
60
|
/** Options for {@link torus}. */
|
|
61
61
|
export interface TorusOptions {
|
|
62
62
|
/** Center position. Default: [0, 0, 0]. */
|
|
@@ -67,7 +67,7 @@ export interface TorusOptions {
|
|
|
67
67
|
/**
|
|
68
68
|
* Create a torus with the given major and minor radii.
|
|
69
69
|
*/
|
|
70
|
-
export declare function torus(majorRadius: number, minorRadius: number, options?: TorusOptions):
|
|
70
|
+
export declare function torus(majorRadius: number, minorRadius: number, options?: TorusOptions): ValidSolid;
|
|
71
71
|
/** Options for {@link ellipsoid}. */
|
|
72
72
|
export interface EllipsoidOptions {
|
|
73
73
|
/** Center position. Default: [0, 0, 0]. */
|
|
@@ -80,7 +80,7 @@ export interface EllipsoidOptions {
|
|
|
80
80
|
* @param ry - Half-length along Y.
|
|
81
81
|
* @param rz - Half-length along Z.
|
|
82
82
|
*/
|
|
83
|
-
export declare function ellipsoid(rx: number, ry: number, rz: number, options?: EllipsoidOptions):
|
|
83
|
+
export declare function ellipsoid(rx: number, ry: number, rz: number, options?: EllipsoidOptions): ValidSolid;
|
|
84
84
|
/** Create a straight edge between two 3D points. */
|
|
85
85
|
export declare function line(from: Vec3, to: Vec3): Edge;
|
|
86
86
|
/** Options for {@link circle}. */
|
|
@@ -164,22 +164,39 @@ export declare function tangentArc(startPoint: Vec3, startTgt: Vec3, endPoint: V
|
|
|
164
164
|
* Assemble edges and/or wires into a single connected wire.
|
|
165
165
|
*/
|
|
166
166
|
export declare function wire(listOfEdges: (Edge | Wire)[]): Result<Wire>;
|
|
167
|
+
/**
|
|
168
|
+
* Assemble edges into a wire and verify it forms a closed loop.
|
|
169
|
+
*
|
|
170
|
+
* Combines {@link wire} + the `closedWire` smart constructor in a single step.
|
|
171
|
+
* Returns an error if the edges cannot be assembled or the wire is not closed.
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ```ts
|
|
175
|
+
* const cw = unwrap(wireLoop([e1, e2, e3, e4]));
|
|
176
|
+
* const f = unwrap(face(cw)); // ClosedWire accepted directly
|
|
177
|
+
* ```
|
|
178
|
+
*/
|
|
179
|
+
export declare function wireLoop(listOfEdges: (Edge | Wire)[]): Result<ClosedWire>;
|
|
167
180
|
/**
|
|
168
181
|
* Create a planar face from a closed wire, optionally with holes.
|
|
182
|
+
* The resulting face is always oriented (consistent normal direction).
|
|
169
183
|
*/
|
|
170
|
-
export declare function face(w:
|
|
184
|
+
export declare function face(w: ClosedWire, holes?: ClosedWire[]): Result<OrientedFace>;
|
|
171
185
|
/**
|
|
172
186
|
* Create a non-planar face from a wire using surface filling.
|
|
187
|
+
* The resulting face is always oriented.
|
|
173
188
|
*/
|
|
174
|
-
export declare function filledFace(w:
|
|
189
|
+
export declare function filledFace(w: ClosedWire): Result<OrientedFace>;
|
|
175
190
|
/**
|
|
176
191
|
* Create a face bounded by a wire on an existing face's surface.
|
|
192
|
+
* The resulting face inherits orientation from the origin face.
|
|
177
193
|
*/
|
|
178
|
-
export declare function subFace(originFace: Face, w:
|
|
194
|
+
export declare function subFace(originFace: Face, w: ClosedWire): OrientedFace;
|
|
179
195
|
/**
|
|
180
196
|
* Create a polygonal face from three or more coplanar points.
|
|
197
|
+
* The resulting face is always oriented.
|
|
181
198
|
*/
|
|
182
|
-
export declare function polygon(points: Vec3[]): Result<
|
|
199
|
+
export declare function polygon(points: Vec3[]): Result<OrientedFace>;
|
|
183
200
|
/** Create a vertex at a 3D point. */
|
|
184
201
|
export declare function vertex(point: Vec3): Vertex;
|
|
185
202
|
/**
|
|
@@ -188,8 +205,9 @@ export declare function vertex(point: Vec3): Vertex;
|
|
|
188
205
|
export declare function compound(shapeArray: AnyShape<Dimension>[]): Compound;
|
|
189
206
|
/**
|
|
190
207
|
* Weld faces and shells into a single solid.
|
|
208
|
+
* The resulting solid is always validated.
|
|
191
209
|
*/
|
|
192
|
-
export declare function solid(facesOrShells: Array<Face | Shell>): Result<
|
|
210
|
+
export declare function solid(facesOrShells: Array<Face | Shell>): Result<ValidSolid>;
|
|
193
211
|
/**
|
|
194
212
|
* Create an offset shape from a face.
|
|
195
213
|
*/
|
|
@@ -200,6 +218,7 @@ export declare function offsetFace(f: Face, distance: number, tolerance?: number
|
|
|
200
218
|
export declare function sewShells(facesOrShells: Array<Face | Shell>, ignoreType?: boolean): Result<Shell>;
|
|
201
219
|
/**
|
|
202
220
|
* Add hole wires to an existing face.
|
|
221
|
+
* The resulting face preserves orientation.
|
|
203
222
|
*/
|
|
204
|
-
export declare function addHoles(f: Face, holes:
|
|
223
|
+
export declare function addHoles(f: Face, holes: ClosedWire[]): OrientedFace;
|
|
205
224
|
//# sourceMappingURL=primitiveFns.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitiveFns.d.ts","sourceRoot":"","sources":["../../src/topology/primitiveFns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"primitiveFns.d.ts","sourceRoot":"","sources":["../../src/topology/primitiveFns.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,7 +63,12 @@ export declare function composeTransforms(ops: readonly TransformOp[]): Composed
|
|
|
63
63
|
export declare function transformCopy<T extends AnyShape<Dimension>>(shape: T, composed: ComposedTransform): T;
|
|
64
64
|
/** Get all edges of a shape as branded Edge handles. Results are cached per shape. */
|
|
65
65
|
export declare function getEdges<D extends Dimension>(shape: AnyShape<D>): Edge<D>[];
|
|
66
|
-
/**
|
|
66
|
+
/**
|
|
67
|
+
* Get all faces of a shape. Results are cached per shape.
|
|
68
|
+
*
|
|
69
|
+
* Returns `Face[]` — use `isOrientedFace()` or `orientedFace()` to narrow
|
|
70
|
+
* individual faces to `OrientedFace` when the orientation guarantee is needed.
|
|
71
|
+
*/
|
|
67
72
|
export declare function getFaces<D extends Dimension>(shape: AnyShape<D>): Face<D>[];
|
|
68
73
|
/** Get all wires of a shape as branded Wire handles. Results are cached per shape. */
|
|
69
74
|
export declare function getWires<D extends Dimension>(shape: AnyShape<D>): Wire<D>[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shapeFns.d.ts","sourceRoot":"","sources":["../../src/topology/shapeFns.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"shapeFns.d.ts","sourceRoot":"","sources":["../../src/topology/shapeFns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,SAAS,EACV,MAAM,uBAAuB,CAAC;AAU/B,8DAA8D;AAC9D,wBAAgB,KAAK,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAEhE;AAED,+CAA+C;AAC/C,wBAAgB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,MAAM,CAEzD;AAED,6CAA6C;AAC7C,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,MAAM,CAE9D;AAED,gCAAgC;AAChC,wBAAgB,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,OAAO,CAE3D;AAED,2DAA2D;AAC3D,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,OAAO,CAEnF;AAED,mDAAmD;AACnD,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,OAAO,CAEpF;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAEnE;AAuBD,0DAA0D;AAC1D,wBAAgB,SAAS,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,CAa7E;AAED,+EAA+E;AAC/E,wBAAgB,MAAM,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EAClD,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,IAAgB,EAC1B,SAAS,GAAE,IAAgB,GAC1B,CAAC,CAaH;AAED,wFAAwF;AACxF,wBAAgB,MAAM,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EAClD,KAAK,EAAE,CAAC,EACR,WAAW,GAAE,IAAgB,EAC7B,WAAW,GAAE,IAAgB,GAC5B,CAAC,CAYH;AAED,oDAAoD;AACpD,wBAAgB,KAAK,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EACjD,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,IAAgB,GACvB,CAAC,CAYH;AAED,yFAAyF;AACzF,wBAAgB,MAAM,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EAClD,KAAK,EAAE,CAAC,EACR,UAAU,EAAE,CAAC,MAAM,GAAG,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,EACxE,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3B,CAAC,CA2CH;AA8ED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,CAAC,CAmC3F;AAMD,yDAAyD;AACzD,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAA;CAAE,GAChD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;CACxB,CAAC;AAEN,sFAAsF;AACtF,MAAM,WAAW,iBAAiB;IAEhC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,SAAS,WAAW,EAAE,GAAG,iBAAiB,CAchF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EACzD,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,iBAAiB,GAC1B,CAAC,CAWH;AA2BD,sFAAsF;AACtF,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAQ3E;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAQ3E;AAED,sFAAsF;AACtF,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAQ3E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAO/E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAE1F;AAMD;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,EAC7B,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,GAC1B,IAAI,CAyCN;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,EAC7B,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,GAC1B,IAAI,CAsGN;AAED,2FAA2F;AAC3F,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAQhF;AAMD,oFAAoF;AACpF,wBAAiB,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAItF;AAED,oFAAoF;AACpF,wBAAiB,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAItF;AAED,oFAAoF;AACpF,wBAAiB,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAItF;AAED,yFAAyF;AACzF,wBAAiB,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAI3F;AAED,sCAAsC;AACtC,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,sEAAsE;AACtE,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,CAc9D;AAMD,+DAA+D;AAC/D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;CAC3B;AAED,mEAAmE;AACnE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAUrE;AAMD,oDAAoD;AACpD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEnD"}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import { Vec3 } from '../core/types.js';
|
|
2
2
|
import { Result } from '../core/result.js';
|
|
3
|
-
import { AnyShape, Dimension, Shape3D, Compound, Face, Vertex, Shell
|
|
3
|
+
import { AnyShape, Dimension, Shape3D, Compound, Face, ValidSolid, Vertex, Shell } from '../core/shapeTypes.js';
|
|
4
4
|
/**
|
|
5
5
|
* Creates a cylinder with the given radius and height.
|
|
6
6
|
*
|
|
7
7
|
* @category Solids
|
|
8
8
|
*/
|
|
9
|
-
export declare function makeCylinder(radius: number, height: number, location?: Vec3, direction?: Vec3):
|
|
9
|
+
export declare function makeCylinder(radius: number, height: number, location?: Vec3, direction?: Vec3): ValidSolid;
|
|
10
10
|
/**
|
|
11
11
|
* Creates a sphere with the given radius.
|
|
12
12
|
*
|
|
13
13
|
* @category Solids
|
|
14
14
|
*/
|
|
15
|
-
export declare function makeSphere(radius: number):
|
|
15
|
+
export declare function makeSphere(radius: number): ValidSolid;
|
|
16
16
|
/**
|
|
17
17
|
* Creates a cone (or frustum) with the given radii and height.
|
|
18
18
|
*
|
|
19
19
|
* @category Solids
|
|
20
20
|
*/
|
|
21
|
-
export declare function makeCone(radius1: number, radius2: number, height: number, location?: Vec3, direction?: Vec3):
|
|
21
|
+
export declare function makeCone(radius1: number, radius2: number, height: number, location?: Vec3, direction?: Vec3): ValidSolid;
|
|
22
22
|
/**
|
|
23
23
|
* Creates a torus with the given major and minor radii.
|
|
24
24
|
*
|
|
25
25
|
* @category Solids
|
|
26
26
|
*/
|
|
27
|
-
export declare function makeTorus(majorRadius: number, minorRadius: number, location?: Vec3, direction?: Vec3):
|
|
27
|
+
export declare function makeTorus(majorRadius: number, minorRadius: number, location?: Vec3, direction?: Vec3): ValidSolid;
|
|
28
28
|
/**
|
|
29
29
|
* Creates an ellipsoid with the given axis lengths.
|
|
30
30
|
*
|
|
@@ -34,13 +34,13 @@ export declare function makeTorus(majorRadius: number, minorRadius: number, loca
|
|
|
34
34
|
*
|
|
35
35
|
* @category Solids
|
|
36
36
|
*/
|
|
37
|
-
export declare function makeEllipsoid(aLength: number, bLength: number, cLength: number):
|
|
37
|
+
export declare function makeEllipsoid(aLength: number, bLength: number, cLength: number): ValidSolid;
|
|
38
38
|
/**
|
|
39
39
|
* Creates a box with the given corner points.
|
|
40
40
|
*
|
|
41
41
|
* @category Solids
|
|
42
42
|
*/
|
|
43
|
-
export declare function makeBox(corner1: Vec3, corner2: Vec3):
|
|
43
|
+
export declare function makeBox(corner1: Vec3, corner2: Vec3): ValidSolid;
|
|
44
44
|
/** Create a vertex at a 3D point. */
|
|
45
45
|
export declare function makeVertex(point: Vec3): Vertex;
|
|
46
46
|
/**
|
|
@@ -66,5 +66,5 @@ export declare function makeCompound(shapeArray: AnyShape<Dimension>[]): Compoun
|
|
|
66
66
|
*
|
|
67
67
|
* @category Solids
|
|
68
68
|
*/
|
|
69
|
-
export declare function makeSolid(facesOrShells: Array<Face | Shell>): Result<
|
|
69
|
+
export declare function makeSolid(facesOrShells: Array<Face | Shell>): Result<ValidSolid>;
|
|
70
70
|
//# sourceMappingURL=solidBuilders.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solidBuilders.d.ts","sourceRoot":"","sources":["../../src/topology/solidBuilders.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,MAAM,EAAoB,MAAM,mBAAmB,CAAC;AAElE,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,KAAK,
|
|
1
|
+
{"version":3,"file":"solidBuilders.d.ts","sourceRoot":"","sources":["../../src/topology/solidBuilders.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,MAAM,EAAoB,MAAM,mBAAmB,CAAC;AAElE,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,MAAM,EACN,KAAK,EACN,MAAM,uBAAuB,CAAC;AAW/B;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,IAAgB,EAC1B,SAAS,GAAE,IAAgB,GAC1B,UAAU,CAIZ;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAErD;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,IAAgB,EAC1B,SAAS,GAAE,IAAgB,GAC1B,UAAU,CAIZ;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,IAAgB,EAC1B,SAAS,GAAE,IAAgB,GAC1B,UAAU,CAIZ;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAE3F;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,GAAG,UAAU,CAEhE;AAED,qCAAqC;AACrC,wBAAgB,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,CAE9C;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,SAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAUxF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,QAAQ,CAExE;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAOhF"}
|
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
import { Vec3 } from '../core/types.js';
|
|
2
2
|
import { Result } from '../core/result.js';
|
|
3
|
-
import { Dimension, Face,
|
|
3
|
+
import { Dimension, ClosedWire, Face, OrientedFace } from '../core/shapeTypes.js';
|
|
4
4
|
/**
|
|
5
5
|
* Create a planar face from a closed wire, optionally with hole wires.
|
|
6
6
|
*
|
|
7
7
|
* @returns An error if the wire is non-planar or the face cannot be built.
|
|
8
8
|
*/
|
|
9
|
-
export declare function makeFace<D extends Dimension = '3D'>(wire:
|
|
9
|
+
export declare function makeFace<D extends Dimension = '3D'>(wire: ClosedWire<D>, holes?: ClosedWire<D>[]): Result<OrientedFace<D>>;
|
|
10
10
|
/**
|
|
11
11
|
* Remove holes from a face by rebuilding it from only the outer wire.
|
|
12
12
|
*
|
|
13
13
|
* Equivalent to OpenSCAD's `fill()` — takes a 2D face with holes and returns
|
|
14
14
|
* a solid face with all internal cutouts filled in.
|
|
15
15
|
*/
|
|
16
|
-
export declare function fill<D extends Dimension = '3D'>(face: Face<D>): Result<
|
|
16
|
+
export declare function fill<D extends Dimension = '3D'>(face: Face<D>): Result<OrientedFace<D>>;
|
|
17
17
|
/**
|
|
18
18
|
* Create a face bounded by a wire on an existing face's underlying surface.
|
|
19
19
|
*
|
|
20
20
|
* @param originFace - Face whose surface geometry is reused.
|
|
21
21
|
* @param wire - Wire that defines the boundary on that surface.
|
|
22
22
|
*/
|
|
23
|
-
export declare function makeNewFaceWithinFace(originFace: Face, wire:
|
|
23
|
+
export declare function makeNewFaceWithinFace(originFace: Face, wire: ClosedWire): OrientedFace;
|
|
24
24
|
/**
|
|
25
25
|
* Create a non-planar face from a wire using surface filling.
|
|
26
26
|
*
|
|
27
27
|
* @returns An error if the filling algorithm fails to produce a face.
|
|
28
28
|
*/
|
|
29
|
-
export declare function makeNonPlanarFace<D extends Dimension = '3D'>(wire:
|
|
29
|
+
export declare function makeNonPlanarFace<D extends Dimension = '3D'>(wire: ClosedWire<D>): Result<OrientedFace<D>>;
|
|
30
30
|
/**
|
|
31
31
|
* Add hole wires to an existing face.
|
|
32
32
|
*
|
|
33
33
|
* Orientation of the holes is automatically fixed.
|
|
34
34
|
*/
|
|
35
|
-
export declare function addHolesInFace<D extends Dimension = '3D'>(face: Face<D>, holes:
|
|
35
|
+
export declare function addHolesInFace<D extends Dimension = '3D'>(face: Face<D>, holes: ClosedWire<D>[]): OrientedFace<D>;
|
|
36
36
|
/**
|
|
37
37
|
* Create a polygonal face from three or more coplanar points.
|
|
38
38
|
*
|
|
39
39
|
* @returns An error if fewer than 3 points are provided or the face cannot be built.
|
|
40
40
|
*/
|
|
41
|
-
export declare function makePolygon(points: Vec3[]): Result<
|
|
41
|
+
export declare function makePolygon(points: Vec3[]): Result<OrientedFace>;
|
|
42
42
|
//# sourceMappingURL=surfaceBuilders.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surfaceBuilders.d.ts","sourceRoot":"","sources":["../../src/topology/surfaceBuilders.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,MAAM,EAAoB,MAAM,mBAAmB,CAAC;AAElE,OAAO,KAAK,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"surfaceBuilders.d.ts","sourceRoot":"","sources":["../../src/topology/surfaceBuilders.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,MAAM,EAAoB,MAAM,mBAAmB,CAAC;AAElE,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAOvF;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,GAAG,IAAI,EACjD,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GACtB,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAazB;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAGvF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,GAAG,YAAY,CAItF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,SAAS,GAAG,IAAI,EAC1D,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAClB,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAYzB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,SAAS,GAAG,IAAI,EACvD,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EACb,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GACrB,YAAY,CAAC,CAAC,CAAC,CAOjB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,CAYhE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapperFns.d.ts","sourceRoot":"","sources":["../../src/topology/wrapperFns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EACV,QAAQ,EACR,IAAI,EACJ,IAAI,
|
|
1
|
+
{"version":3,"file":"wrapperFns.d.ts","sourceRoot":"","sources":["../../src/topology/wrapperFns.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const shapeFns = require("./shapeFns-
|
|
3
|
-
require("./booleanFns-
|
|
4
|
-
const shapeTypes = require("./shapeTypes-
|
|
5
|
-
const faceFns = require("./faceFns-
|
|
2
|
+
const shapeFns = require("./shapeFns-vrqpeRIf.cjs");
|
|
3
|
+
require("./booleanFns-BaMEij5u.cjs");
|
|
4
|
+
const shapeTypes = require("./shapeTypes-CHvr4HNj.cjs");
|
|
5
|
+
const faceFns = require("./faceFns-DVo4NiOl.cjs");
|
|
6
6
|
const errors = require("./errors-DiTn5EoC.cjs");
|
|
7
|
-
require("./curveFns-
|
|
7
|
+
require("./curveFns-Dtaf2CvG.cjs");
|
|
8
8
|
const vecOps = require("./vecOps-CjRL1jau.cjs");
|
|
9
|
-
require("./meshFns-
|
|
9
|
+
require("./meshFns-d6Ta_uov.cjs");
|
|
10
10
|
function toBufferGeometryData(mesh) {
|
|
11
11
|
return {
|
|
12
12
|
position: mesh.vertices,
|
|
@@ -239,6 +239,11 @@ function healSolid(solid) {
|
|
|
239
239
|
if (!shapeTypes.isSolid(cast)) {
|
|
240
240
|
return errors.err(errors.kernelError("HEAL_RESULT_NOT_SOLID", "Healed result is not a solid"));
|
|
241
241
|
}
|
|
242
|
+
if (!isValid(cast)) {
|
|
243
|
+
return errors.err(
|
|
244
|
+
errors.kernelError("HEAL_SOLID_INCOMPLETE", "Healed result is still invalid after ShapeFix_Solid")
|
|
245
|
+
);
|
|
246
|
+
}
|
|
242
247
|
return errors.ok(cast);
|
|
243
248
|
} catch (e) {
|
|
244
249
|
return errors.err(errors.kernelError("HEAL_SOLID_FAILED", "Solid healing failed", e));
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { c as getWires, a as getFaces } from "./shapeFns-
|
|
2
|
-
import "./booleanFns-
|
|
3
|
-
import { q as getKernel, c as castShape, j as isShape3D, l as isSolid, e as isFace, n as isWire } from "./shapeTypes-
|
|
4
|
-
import { d as downcast } from "./faceFns-
|
|
1
|
+
import { c as getWires, a as getFaces } from "./shapeFns-BbnD8E_4.js";
|
|
2
|
+
import "./booleanFns-DOonidp8.js";
|
|
3
|
+
import { q as getKernel, c as castShape, j as isShape3D, l as isSolid, e as isFace, n as isWire } from "./shapeTypes-BkPK8XIl.js";
|
|
4
|
+
import { d as downcast } from "./faceFns-Cz71BDro.js";
|
|
5
5
|
import { e as err, x as validationError, k as kernelError, d as isErr, p as typeCastError, o as ok, u as unwrap, g as isOk, B as BrepErrorCode } from "./errors-lBwyc8YG.js";
|
|
6
|
-
import "./curveFns-
|
|
6
|
+
import "./curveFns-BMXtgX1x.js";
|
|
7
7
|
import { H as HASH_CODE_MAX } from "./vecOps-ZDdZWbwT.js";
|
|
8
|
-
import "./meshFns-
|
|
8
|
+
import "./meshFns-kdGtj-un.js";
|
|
9
9
|
function toBufferGeometryData(mesh) {
|
|
10
10
|
return {
|
|
11
11
|
position: mesh.vertices,
|
|
@@ -238,6 +238,11 @@ function healSolid(solid) {
|
|
|
238
238
|
if (!isSolid(cast)) {
|
|
239
239
|
return err(kernelError("HEAL_RESULT_NOT_SOLID", "Healed result is not a solid"));
|
|
240
240
|
}
|
|
241
|
+
if (!isValid(cast)) {
|
|
242
|
+
return err(
|
|
243
|
+
kernelError("HEAL_SOLID_INCOMPLETE", "Healed result is still invalid after ShapeFix_Solid")
|
|
244
|
+
);
|
|
245
|
+
}
|
|
241
246
|
return ok(cast);
|
|
242
247
|
} catch (e) {
|
|
243
248
|
return err(kernelError("HEAL_SOLID_FAILED", "Solid healing failed", e));
|
package/dist/topology.cjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const shapeFns = require("./shapeFns-
|
|
4
|
-
const booleanFns = require("./booleanFns-
|
|
5
|
-
const topology = require("./topology-
|
|
6
|
-
const curveFns = require("./curveFns-
|
|
7
|
-
const faceFns = require("./faceFns-
|
|
8
|
-
const meshFns = require("./meshFns-
|
|
3
|
+
const shapeFns = require("./shapeFns-vrqpeRIf.cjs");
|
|
4
|
+
const booleanFns = require("./booleanFns-BaMEij5u.cjs");
|
|
5
|
+
const topology = require("./topology-BK5M8FlG.cjs");
|
|
6
|
+
const curveFns = require("./curveFns-Dtaf2CvG.cjs");
|
|
7
|
+
const faceFns = require("./faceFns-DVo4NiOl.cjs");
|
|
8
|
+
const meshFns = require("./meshFns-d6Ta_uov.cjs");
|
|
9
9
|
exports.getBounds = shapeFns.getBounds;
|
|
10
10
|
exports.getEdges = shapeFns.getEdges;
|
|
11
11
|
exports.getFaces = shapeFns.getFaces;
|
package/dist/topology.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { h, d, a, f, e, c, x, i, y, z, A, B, v } from "./shapeFns-
|
|
2
|
-
import { k, j } from "./booleanFns-
|
|
3
|
-
import { a as a2, b, c as c2, e as e2, f as f2, d as d2, g, j as j2, s, t, k as k2, l, v as v2, w } from "./topology-
|
|
4
|
-
import { j as j3, a as a3, e as e3, k as k3, i as i2, l as l2, h as h2, d as d3, c as c3, f as f3, b as b2, g as g2, m, o } from "./curveFns-
|
|
5
|
-
import { l as l3, c as c4, m as m2, j as j4, d as d4, e as e4, f as f4, q, r, g as g3, k as k4, s as s2, i as i3, n, o as o2, p, t as t2, v as v3, u, h as h3 } from "./faceFns-
|
|
6
|
-
import { c as c5, b as b3, e as e5, d as d5, f as f5 } from "./meshFns-
|
|
1
|
+
import { h, d, a, f, e, c, x, i, y, z, A, B, v } from "./shapeFns-BbnD8E_4.js";
|
|
2
|
+
import { k, j } from "./booleanFns-DOonidp8.js";
|
|
3
|
+
import { a as a2, b, c as c2, e as e2, f as f2, d as d2, g, j as j2, s, t, k as k2, l, v as v2, w } from "./topology-DoSBNUPF.js";
|
|
4
|
+
import { j as j3, a as a3, e as e3, k as k3, i as i2, l as l2, h as h2, d as d3, c as c3, f as f3, b as b2, g as g2, m, o } from "./curveFns-BMXtgX1x.js";
|
|
5
|
+
import { l as l3, c as c4, m as m2, j as j4, d as d4, e as e4, f as f4, q, r, g as g3, k as k4, s as s2, i as i3, n, o as o2, p, t as t2, v as v3, u, h as h3 } from "./faceFns-Cz71BDro.js";
|
|
6
|
+
import { c as c5, b as b3, e as e5, d as d5, f as f5 } from "./meshFns-kdGtj-un.js";
|
|
7
7
|
export {
|
|
8
8
|
a2 as adjacentFaces,
|
|
9
9
|
j3 as approximateCurve,
|