brepjs 20.12.11 → 20.12.12
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.cjs +4 -4
- package/dist/2d.js +4 -4
- package/dist/{blueprint-DbNFPHzC.js → blueprint-BYXwa2cF.js} +1 -1
- package/dist/{blueprint-BY2aygt_.cjs → blueprint-DtPRNDEu.cjs} +1 -1
- package/dist/{blueprintFns-dU5V5WcD.js → blueprintFns-YuJQgywS.js} +2 -2
- package/dist/{blueprintFns-AfHtvBKP.cjs → blueprintFns-y2oH3LOO.cjs} +2 -2
- package/dist/{blueprintSketcher-nBI9PlsW.js → blueprintSketcher-DPP1g95U.js} +2 -2
- package/dist/{blueprintSketcher-DHp6AeEM.cjs → blueprintSketcher-zQgjgodb.cjs} +2 -2
- package/dist/{boolean2D-C6TS6oFP.cjs → boolean2D-BJFpEXix.cjs} +3 -3
- package/dist/{boolean2D-DuWgyjOR.js → boolean2D-CNf7lVXV.js} +3 -3
- package/dist/{booleanFns-BwzBRGqj.js → booleanFns-B9RvEpHB.js} +55 -29
- package/dist/{booleanFns-D0qfjH0a.cjs → booleanFns-CkcJ8WB7.cjs} +60 -28
- package/dist/brepjs.cjs +18 -18
- package/dist/brepjs.js +18 -18
- package/dist/{cornerFinder-CeyQ5JMA.js → cornerFinder-DgVMDBCo.js} +1 -1
- package/dist/{cornerFinder-Da8Dv4bp.cjs → cornerFinder-Dzsi68w-.cjs} +1 -1
- package/dist/{drawFns-BQIHgHQg.js → drawFns-Bht1ceeH.js} +6 -6
- package/dist/{drawFns-JZV96JGO.cjs → drawFns-CLJog-Xp.cjs} +6 -6
- package/dist/{healingFns-qioD81Of.cjs → healingFns-DGc2hk9z.cjs} +76 -16
- package/dist/{healingFns-D6mUhe0Z.js → healingFns-DvuJr4RS.js} +76 -16
- package/dist/{helpers-CsHdKbfF.js → helpers-BuI9lh-t.js} +1 -1
- package/dist/{helpers-BvYkHZK7.cjs → helpers-D7Y4Vxhf.cjs} +1 -1
- package/dist/{importFns-BzzUvnKA.cjs → importFns-Dwlc0KtB.cjs} +1 -1
- package/dist/{importFns-C8yUNPzJ.js → importFns-TKzj4FaZ.js} +1 -1
- package/dist/io.cjs +1 -1
- package/dist/io.js +1 -1
- package/dist/{measureFns-D3egqKcW.js → measureFns--UKrACtx.js} +12 -6
- package/dist/{measureFns-R85865k9.cjs → measureFns-D8uSDn-8.cjs} +23 -5
- package/dist/measurement/measureFns.d.ts +18 -3
- package/dist/measurement/principalBoxFns.d.ts +2 -1
- package/dist/measurement.cjs +2 -2
- package/dist/measurement.js +2 -2
- package/dist/operations.cjs +1 -1
- package/dist/operations.js +1 -1
- package/dist/{primitiveFns-eiM6OjWU.cjs → primitiveFns-CZqSRhm8.cjs} +1 -1
- package/dist/{primitiveFns-NxbTqKy7.js → primitiveFns-DPqHA3sX.js} +1 -1
- package/dist/{principalBoxFns-BgetPvvQ.js → principalBoxFns-C3SQMyG5.js} +28 -19
- package/dist/{principalBoxFns-DepJW5im.cjs → principalBoxFns-Cozj46sS.cjs} +27 -18
- package/dist/query.cjs +2 -2
- package/dist/query.js +2 -2
- package/dist/{refResolveFns-DpWvqRm0.cjs → refResolveFns-DBY8yC6n.cjs} +1 -1
- package/dist/{refResolveFns-Bl10yOGJ.js → refResolveFns-DtztzO1g.js} +1 -1
- package/dist/shapeRef.cjs +1 -1
- package/dist/shapeRef.js +1 -1
- package/dist/sketching.cjs +3 -3
- package/dist/sketching.js +3 -3
- package/dist/text.cjs +2 -2
- package/dist/text.js +2 -2
- package/dist/{textBlueprints-D3XhH1kb.cjs → textBlueprints-BPrPhg5b.cjs} +2 -2
- package/dist/{textBlueprints-BvZNjVwM.js → textBlueprints-Dq3pUNSr.js} +2 -2
- package/dist/{textMetrics-zk48vXsM.cjs → textMetrics-4xkjKmD1.cjs} +1 -1
- package/dist/{textMetrics-BGPUxjiq.js → textMetrics-JN70dV5x.js} +1 -1
- package/dist/{threadFns-CEr8JDsu.js → threadFns-D7D_qR7t.js} +3 -3
- package/dist/{threadFns-DNFoBBrH.cjs → threadFns-Dq_Gff0C.cjs} +3 -3
- package/dist/topology/booleanFns.d.ts +15 -3
- package/dist/topology/metadata/metadataPropagation.d.ts +4 -1
- package/dist/topology.cjs +3 -3
- package/dist/topology.js +3 -3
- package/package.json +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { G as _usingCtx, n as castResultShape, q as getKernel } from "./shapeTypes-DoPnZHn_.js";
|
|
2
2
|
import { i as wasmIndex } from "./bug-ClMTAJhe.js";
|
|
3
3
|
import { E as ok, d as validationError, g as err, t as BrepErrorCode, u as unsupportedError } from "./errors-BTccWbtE.js";
|
|
4
|
-
import { E as kernelCallRaw
|
|
4
|
+
import { E as kernelCallRaw } from "./topologyQueryFns-yOGEI9hO.js";
|
|
5
5
|
import { r as vecCross } from "./vecOps-S-m9H_fe.js";
|
|
6
|
-
import { f as getCachedMeasurement, p as
|
|
6
|
+
import { f as withCompoundOf, h as setCachedMeasurement, m as getCachedMeasurement, p as withSubShapes } from "./measureFns--UKrACtx.js";
|
|
7
7
|
// src/measurement/principalBoxFns.ts
|
|
8
8
|
/**
|
|
9
9
|
* Principal-axes bounding box: a solid's extent measured in the frame of its
|
|
@@ -27,9 +27,9 @@ function validatePrincipalBoxInput(shape) {
|
|
|
27
27
|
if (kernel.isNull(shape.wrapped)) return err(validationError(BrepErrorCode.NULL_SHAPE_INPUT, "principalBoundingBox: shape is a null shape"));
|
|
28
28
|
const type = kernel.shapeType(shape.wrapped);
|
|
29
29
|
if (type !== "solid" && type !== "compsolid" && type !== "compound") return err(validationError(BrepErrorCode.NOT_A_SOLID, `principalBoundingBox: expected a solid, got a ${type}`, void 0, { shapeType: type }, "Use getBounds() for faces, wires, and shells"));
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
}
|
|
31
|
+
function zeroVolumeErr(volume) {
|
|
32
|
+
return err(validationError(BrepErrorCode.ZERO_VOLUME, "principalBoundingBox: shape encloses no volume", void 0, { volume }, "Use getBounds() for shapes without volume, or build a solid first"));
|
|
33
33
|
}
|
|
34
34
|
/** One cyclic-Jacobi rotation that zeroes `a[p][q]`, accumulated into the eigenvector matrix `v`. */
|
|
35
35
|
function jacobiRotate(a, v, p, q) {
|
|
@@ -113,12 +113,12 @@ function withoutNegativeZero(v) {
|
|
|
113
113
|
v[2] + 0
|
|
114
114
|
];
|
|
115
115
|
}
|
|
116
|
-
function boundsInFrame(
|
|
116
|
+
function boundsInFrame(target, axes) {
|
|
117
117
|
try {
|
|
118
118
|
var _usingCtx$1 = _usingCtx();
|
|
119
119
|
const kernel = getKernel();
|
|
120
120
|
const [a0, a1, a2] = axes;
|
|
121
|
-
const framed = _usingCtx$1.u(castResultShape(kernel.generalTransform(
|
|
121
|
+
const framed = _usingCtx$1.u(castResultShape(kernel.generalTransform(target, [
|
|
122
122
|
...a0,
|
|
123
123
|
...a1,
|
|
124
124
|
...a2
|
|
@@ -158,6 +158,21 @@ function assembleBox(axes, bounds) {
|
|
|
158
158
|
]
|
|
159
159
|
};
|
|
160
160
|
}
|
|
161
|
+
/** The principal box of `target`, a solid, a compsolid, or a compound of solids. */
|
|
162
|
+
function principalBoxOf(target) {
|
|
163
|
+
const kernel = getKernel();
|
|
164
|
+
const volume = kernelCallRaw(() => kernel.volume(target), BrepErrorCode.PRINCIPAL_BOX_FAILED, "principalBoundingBox: failed to measure volume");
|
|
165
|
+
if (!volume.ok) return volume;
|
|
166
|
+
if (volume.value <= ZERO_VOLUME_TOLERANCE) return zeroVolumeErr(volume.value);
|
|
167
|
+
const inertiaOf = kernel.inertia?.bind(kernel);
|
|
168
|
+
if (!inertiaOf) return err(unsupportedError(BrepErrorCode.UNSUPPORTED_CAPABILITY, `principalBoundingBox: the ${kernel.kernelId} kernel has no inertia query`, void 0, { kernel: kernel.kernelId }, "Use the occt-wasm kernel, which provides the inertia query"));
|
|
169
|
+
const inertia = kernelCallRaw(() => inertiaOf(target), BrepErrorCode.PRINCIPAL_BOX_FAILED, "principalBoundingBox: failed to compute the matrix of inertia");
|
|
170
|
+
if (!inertia.ok) return inertia;
|
|
171
|
+
const axes = principalAxes(inertia.value);
|
|
172
|
+
const bounds = kernelCallRaw(() => boundsInFrame(target, axes), BrepErrorCode.PRINCIPAL_BOX_FAILED, "principalBoundingBox: failed to measure bounds in the principal frame");
|
|
173
|
+
if (!bounds.ok) return bounds;
|
|
174
|
+
return ok(assembleBox(axes, bounds.value));
|
|
175
|
+
}
|
|
161
176
|
/**
|
|
162
177
|
* Measure a solid's bounding box on its principal axes of inertia.
|
|
163
178
|
*
|
|
@@ -172,7 +187,8 @@ function assembleBox(axes, bounds) {
|
|
|
172
187
|
* Z reports 136.6 x 136.6 x 2, because any in-plane pair of axes is principal
|
|
173
188
|
* for a square plate.
|
|
174
189
|
*
|
|
175
|
-
* @param shape - A solid, compsolid, or compound containing solids.
|
|
190
|
+
* @param shape - A solid, compsolid, or compound containing solids. A compound
|
|
191
|
+
* is measured by its solids alone: loose faces, shells, or wires in it are ignored.
|
|
176
192
|
* @returns `Result` with the box center in world coordinates, orthonormal
|
|
177
193
|
* right-handed axes ordered by decreasing extent, and the full edge lengths
|
|
178
194
|
* along those axes. Fails with `NOT_A_SOLID` for any other shape type
|
|
@@ -191,16 +207,9 @@ function principalBoundingBox(shape) {
|
|
|
191
207
|
if (cached) return ok(cached);
|
|
192
208
|
const invalid = validatePrincipalBoxInput(shape);
|
|
193
209
|
if (invalid) return invalid;
|
|
194
|
-
const
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
if (!inertia.ok) return inertia;
|
|
199
|
-
const axes = principalAxes(inertia.value);
|
|
200
|
-
const bounds = kernelCallRaw(() => boundsInFrame(shape, axes), BrepErrorCode.PRINCIPAL_BOX_FAILED, "principalBoundingBox: failed to measure bounds in the principal frame");
|
|
201
|
-
if (!bounds.ok) return bounds;
|
|
202
|
-
const result = assembleBox(axes, bounds.value);
|
|
203
|
-
setCachedMeasurement(shape.wrapped, "principal", result);
|
|
204
|
-
return ok(result);
|
|
210
|
+
const result = getKernel().shapeType(shape.wrapped) === "compound" ? withSubShapes(shape, "solid", (solids) => solids.length === 0 ? zeroVolumeErr(0) : withCompoundOf(solids, principalBoxOf)) : principalBoxOf(shape.wrapped);
|
|
211
|
+
if (!result.ok) return result;
|
|
212
|
+
setCachedMeasurement(shape.wrapped, "principal", result.value);
|
|
213
|
+
return result;
|
|
205
214
|
}
|
|
206
215
|
export { principalBoundingBox as t };
|
|
@@ -3,7 +3,7 @@ const require_bug = require("./bug-CBcpIPuf.cjs");
|
|
|
3
3
|
const require_errors = require("./errors-O_blYTWT.cjs");
|
|
4
4
|
const require_topologyQueryFns = require("./topologyQueryFns-BUhKY2Kj.cjs");
|
|
5
5
|
const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
|
|
6
|
-
const require_measureFns = require("./measureFns-
|
|
6
|
+
const require_measureFns = require("./measureFns-D8uSDn-8.cjs");
|
|
7
7
|
// src/measurement/principalBoxFns.ts
|
|
8
8
|
/**
|
|
9
9
|
* Principal-axes bounding box: a solid's extent measured in the frame of its
|
|
@@ -27,9 +27,9 @@ function validatePrincipalBoxInput(shape) {
|
|
|
27
27
|
if (kernel.isNull(shape.wrapped)) return require_errors.err(require_errors.validationError(require_errors.BrepErrorCode.NULL_SHAPE_INPUT, "principalBoundingBox: shape is a null shape"));
|
|
28
28
|
const type = kernel.shapeType(shape.wrapped);
|
|
29
29
|
if (type !== "solid" && type !== "compsolid" && type !== "compound") return require_errors.err(require_errors.validationError(require_errors.BrepErrorCode.NOT_A_SOLID, `principalBoundingBox: expected a solid, got a ${type}`, void 0, { shapeType: type }, "Use getBounds() for faces, wires, and shells"));
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
}
|
|
31
|
+
function zeroVolumeErr(volume) {
|
|
32
|
+
return require_errors.err(require_errors.validationError(require_errors.BrepErrorCode.ZERO_VOLUME, "principalBoundingBox: shape encloses no volume", void 0, { volume }, "Use getBounds() for shapes without volume, or build a solid first"));
|
|
33
33
|
}
|
|
34
34
|
/** One cyclic-Jacobi rotation that zeroes `a[p][q]`, accumulated into the eigenvector matrix `v`. */
|
|
35
35
|
function jacobiRotate(a, v, p, q) {
|
|
@@ -113,12 +113,12 @@ function withoutNegativeZero(v) {
|
|
|
113
113
|
v[2] + 0
|
|
114
114
|
];
|
|
115
115
|
}
|
|
116
|
-
function boundsInFrame(
|
|
116
|
+
function boundsInFrame(target, axes) {
|
|
117
117
|
try {
|
|
118
118
|
var _usingCtx$1 = require_shapeTypes._usingCtx();
|
|
119
119
|
const kernel = require_shapeTypes.getKernel();
|
|
120
120
|
const [a0, a1, a2] = axes;
|
|
121
|
-
const framed = _usingCtx$1.u(require_shapeTypes.castResultShape(kernel.generalTransform(
|
|
121
|
+
const framed = _usingCtx$1.u(require_shapeTypes.castResultShape(kernel.generalTransform(target, [
|
|
122
122
|
...a0,
|
|
123
123
|
...a1,
|
|
124
124
|
...a2
|
|
@@ -158,6 +158,21 @@ function assembleBox(axes, bounds) {
|
|
|
158
158
|
]
|
|
159
159
|
};
|
|
160
160
|
}
|
|
161
|
+
/** The principal box of `target`, a solid, a compsolid, or a compound of solids. */
|
|
162
|
+
function principalBoxOf(target) {
|
|
163
|
+
const kernel = require_shapeTypes.getKernel();
|
|
164
|
+
const volume = require_topologyQueryFns.kernelCallRaw(() => kernel.volume(target), require_errors.BrepErrorCode.PRINCIPAL_BOX_FAILED, "principalBoundingBox: failed to measure volume");
|
|
165
|
+
if (!volume.ok) return volume;
|
|
166
|
+
if (volume.value <= ZERO_VOLUME_TOLERANCE) return zeroVolumeErr(volume.value);
|
|
167
|
+
const inertiaOf = kernel.inertia?.bind(kernel);
|
|
168
|
+
if (!inertiaOf) return require_errors.err(require_errors.unsupportedError(require_errors.BrepErrorCode.UNSUPPORTED_CAPABILITY, `principalBoundingBox: the ${kernel.kernelId} kernel has no inertia query`, void 0, { kernel: kernel.kernelId }, "Use the occt-wasm kernel, which provides the inertia query"));
|
|
169
|
+
const inertia = require_topologyQueryFns.kernelCallRaw(() => inertiaOf(target), require_errors.BrepErrorCode.PRINCIPAL_BOX_FAILED, "principalBoundingBox: failed to compute the matrix of inertia");
|
|
170
|
+
if (!inertia.ok) return inertia;
|
|
171
|
+
const axes = principalAxes(inertia.value);
|
|
172
|
+
const bounds = require_topologyQueryFns.kernelCallRaw(() => boundsInFrame(target, axes), require_errors.BrepErrorCode.PRINCIPAL_BOX_FAILED, "principalBoundingBox: failed to measure bounds in the principal frame");
|
|
173
|
+
if (!bounds.ok) return bounds;
|
|
174
|
+
return require_errors.ok(assembleBox(axes, bounds.value));
|
|
175
|
+
}
|
|
161
176
|
/**
|
|
162
177
|
* Measure a solid's bounding box on its principal axes of inertia.
|
|
163
178
|
*
|
|
@@ -172,7 +187,8 @@ function assembleBox(axes, bounds) {
|
|
|
172
187
|
* Z reports 136.6 x 136.6 x 2, because any in-plane pair of axes is principal
|
|
173
188
|
* for a square plate.
|
|
174
189
|
*
|
|
175
|
-
* @param shape - A solid, compsolid, or compound containing solids.
|
|
190
|
+
* @param shape - A solid, compsolid, or compound containing solids. A compound
|
|
191
|
+
* is measured by its solids alone: loose faces, shells, or wires in it are ignored.
|
|
176
192
|
* @returns `Result` with the box center in world coordinates, orthonormal
|
|
177
193
|
* right-handed axes ordered by decreasing extent, and the full edge lengths
|
|
178
194
|
* along those axes. Fails with `NOT_A_SOLID` for any other shape type
|
|
@@ -191,17 +207,10 @@ function principalBoundingBox(shape) {
|
|
|
191
207
|
if (cached) return require_errors.ok(cached);
|
|
192
208
|
const invalid = validatePrincipalBoxInput(shape);
|
|
193
209
|
if (invalid) return invalid;
|
|
194
|
-
const
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
if (!inertia.ok) return inertia;
|
|
199
|
-
const axes = principalAxes(inertia.value);
|
|
200
|
-
const bounds = require_topologyQueryFns.kernelCallRaw(() => boundsInFrame(shape, axes), require_errors.BrepErrorCode.PRINCIPAL_BOX_FAILED, "principalBoundingBox: failed to measure bounds in the principal frame");
|
|
201
|
-
if (!bounds.ok) return bounds;
|
|
202
|
-
const result = assembleBox(axes, bounds.value);
|
|
203
|
-
require_measureFns.setCachedMeasurement(shape.wrapped, "principal", result);
|
|
204
|
-
return require_errors.ok(result);
|
|
210
|
+
const result = require_shapeTypes.getKernel().shapeType(shape.wrapped) === "compound" ? require_measureFns.withSubShapes(shape, "solid", (solids) => solids.length === 0 ? zeroVolumeErr(0) : require_measureFns.withCompoundOf(solids, principalBoxOf)) : principalBoxOf(shape.wrapped);
|
|
211
|
+
if (!result.ok) return result;
|
|
212
|
+
require_measureFns.setCachedMeasurement(shape.wrapped, "principal", result.value);
|
|
213
|
+
return result;
|
|
205
214
|
}
|
|
206
215
|
Object.defineProperty(exports, "principalBoundingBox", {
|
|
207
216
|
enumerable: true,
|
package/dist/query.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_helpers = require("./helpers-
|
|
3
|
-
const require_cornerFinder = require("./cornerFinder-
|
|
2
|
+
const require_helpers = require("./helpers-D7Y4Vxhf.cjs");
|
|
3
|
+
const require_cornerFinder = require("./cornerFinder-Dzsi68w-.cjs");
|
|
4
4
|
exports.cornerFinder = require_cornerFinder.cornerFinder;
|
|
5
5
|
exports.edgeFinder = require_helpers.edgeFinder;
|
|
6
6
|
exports.faceFinder = require_helpers.faceFinder;
|
package/dist/query.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-
|
|
2
|
-
import { t as cornerFinder } from "./cornerFinder-
|
|
1
|
+
import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-BuI9lh-t.js";
|
|
2
|
+
import { t as cornerFinder } from "./cornerFinder-DgVMDBCo.js";
|
|
3
3
|
export { cornerFinder, edgeFinder, faceFinder, getSingleFace };
|
|
@@ -3,7 +3,7 @@ const require_topologyQueryFns = require("./topologyQueryFns-BUhKY2Kj.cjs");
|
|
|
3
3
|
const require_faceFns = require("./faceFns-Jo9hMVqL.cjs");
|
|
4
4
|
const require_faceRoleFns = require("./faceRoleFns-Db5bYj4Q.cjs");
|
|
5
5
|
const require_shapeFns = require("./shapeFns-D47cmLG8.cjs");
|
|
6
|
-
const require_measureFns = require("./measureFns-
|
|
6
|
+
const require_measureFns = require("./measureFns-D8uSDn-8.cjs");
|
|
7
7
|
const require_adjacencyFns = require("./adjacencyFns-DSGyqGyy.cjs");
|
|
8
8
|
// src/topology/shapeRef/scoring.ts
|
|
9
9
|
/**
|
|
@@ -3,7 +3,7 @@ import { c as getFaces, w as vertexPosition } from "./topologyQueryFns-yOGEI9hO.
|
|
|
3
3
|
import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-2jGPfqvB.js";
|
|
4
4
|
import { t as getFaceRoles } from "./faceRoleFns-BPxzQF-n.js";
|
|
5
5
|
import { n as getHashCode } from "./shapeFns-kFm-m8jh.js";
|
|
6
|
-
import { n as measureArea, s as measureLength } from "./measureFns
|
|
6
|
+
import { n as measureArea, s as measureLength } from "./measureFns--UKrACtx.js";
|
|
7
7
|
import { a as facesOfVertex, c as verticesOfFace, i as facesOfEdge, o as sharedEdges, s as verticesOfEdge, t as adjacentFaceHashes } from "./adjacencyFns-DfPO5LGP.js";
|
|
8
8
|
// src/topology/shapeRef/scoring.ts
|
|
9
9
|
/**
|
package/dist/shapeRef.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_refResolveFns = require("./refResolveFns-
|
|
2
|
+
const require_refResolveFns = require("./refResolveFns-DBY8yC6n.cjs");
|
|
3
3
|
exports.assignRoles = require_refResolveFns.assignRoles;
|
|
4
4
|
exports.captureHint = require_refResolveFns.captureHint;
|
|
5
5
|
exports.createDerivedFaceRef = require_refResolveFns.createDerivedFaceRef;
|
package/dist/shapeRef.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { h as assignRoles, g as captureHint, l as createDerivedFaceRef, p as createEdgeRef, _ as createRef, d as createVertexRef, b as defaultScorer, t as isDerivedFaceRef, n as isEdgeRef, r as isFaceRef, i as isLineageRef, a as isVertexRef, u as resolveDerivedFaceRef, m as resolveEdgeRef, o as resolveLineageRef, v as resolveRef, s as resolveRefIn, c as resolveRefParams, f as resolveVertexRef, y as updateRoles } from "./refResolveFns-
|
|
1
|
+
export { h as assignRoles, g as captureHint, l as createDerivedFaceRef, p as createEdgeRef, _ as createRef, d as createVertexRef, b as defaultScorer, t as isDerivedFaceRef, n as isEdgeRef, r as isFaceRef, i as isLineageRef, a as isVertexRef, u as resolveDerivedFaceRef, m as resolveEdgeRef, o as resolveLineageRef, v as resolveRef, s as resolveRefIn, c as resolveRefParams, f as resolveVertexRef, y as updateRoles } from "./refResolveFns-DtztzO1g.js";
|
package/dist/sketching.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_blueprintSketcher = require("./blueprintSketcher-
|
|
3
|
-
const require_drawFns = require("./drawFns-
|
|
4
|
-
const require_textBlueprints = require("./textBlueprints-
|
|
2
|
+
const require_blueprintSketcher = require("./blueprintSketcher-zQgjgodb.cjs");
|
|
3
|
+
const require_drawFns = require("./drawFns-CLJog-Xp.cjs");
|
|
4
|
+
const require_textBlueprints = require("./textBlueprints-BPrPhg5b.cjs");
|
|
5
5
|
// src/sketching.ts
|
|
6
6
|
/**
|
|
7
7
|
* brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
|
package/dist/sketching.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { n as BaseSketcher2d, t as BlueprintSketcher } from "./blueprintSketcher-
|
|
2
|
-
import { A as sketchEllipse, C as DrawingPen, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, T as Drawing, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-
|
|
3
|
-
import { a as Sketches, c as compoundSketchFace, d as sketchExtrude, f as sketchFace, g as sketchWires, h as sketchSweep, l as compoundSketchLoft, m as sketchRevolve, o as Sketch, p as sketchLoft, s as compoundSketchExtrude, u as compoundSketchRevolve, y as CompoundSketch } from "./textBlueprints-
|
|
1
|
+
import { n as BaseSketcher2d, t as BlueprintSketcher } from "./blueprintSketcher-DPP1g95U.js";
|
|
2
|
+
import { A as sketchEllipse, C as DrawingPen, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, T as Drawing, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-Bht1ceeH.js";
|
|
3
|
+
import { a as Sketches, c as compoundSketchFace, d as sketchExtrude, f as sketchFace, g as sketchWires, h as sketchSweep, l as compoundSketchLoft, m as sketchRevolve, o as Sketch, p as sketchLoft, s as compoundSketchExtrude, u as compoundSketchRevolve, y as CompoundSketch } from "./textBlueprints-Dq3pUNSr.js";
|
|
4
4
|
// src/sketching.ts
|
|
5
5
|
/**
|
|
6
6
|
* brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
|
package/dist/text.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_textBlueprints = require("./textBlueprints-
|
|
3
|
-
const require_textMetrics = require("./textMetrics-
|
|
2
|
+
const require_textBlueprints = require("./textBlueprints-BPrPhg5b.cjs");
|
|
3
|
+
const require_textMetrics = require("./textMetrics-4xkjKmD1.cjs");
|
|
4
4
|
exports.fontMetrics = require_textMetrics.fontMetrics;
|
|
5
5
|
exports.getFont = require_textBlueprints.getFont;
|
|
6
6
|
exports.loadFont = require_textBlueprints.loadFont;
|
package/dist/text.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { i as setFallbackFont, n as getFont, r as loadFont, t as textBlueprints } from "./textBlueprints-
|
|
2
|
-
import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-
|
|
1
|
+
import { i as setFallbackFont, n as getFont, r as loadFont, t as textBlueprints } from "./textBlueprints-Dq3pUNSr.js";
|
|
2
|
+
import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-JN70dV5x.js";
|
|
3
3
|
export { fontMetrics, getFont, loadFont, setFallbackFont, sketchText, textBlueprints, textMetrics };
|
|
@@ -8,12 +8,12 @@ const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
|
|
|
8
8
|
const require_planeOps = require("./planeOps-DZfLToKZ.cjs");
|
|
9
9
|
const require_faceFns = require("./faceFns-Jo9hMVqL.cjs");
|
|
10
10
|
const require_solidBuilders = require("./solidBuilders-Dwm0hXn5.cjs");
|
|
11
|
-
const require_booleanFns = require("./booleanFns-
|
|
11
|
+
const require_booleanFns = require("./booleanFns-CkcJ8WB7.cjs");
|
|
12
12
|
const require_faceRoleFns = require("./faceRoleFns-Db5bYj4Q.cjs");
|
|
13
13
|
const require_curveFns = require("./curveFns-B8mm5cou.cjs");
|
|
14
14
|
const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
|
|
15
15
|
const require_surfaceBuilders = require("./surfaceBuilders-D5kFAV1i.cjs");
|
|
16
|
-
const require_blueprintSketcher = require("./blueprintSketcher-
|
|
16
|
+
const require_blueprintSketcher = require("./blueprintSketcher-zQgjgodb.cjs");
|
|
17
17
|
const require_loftFns = require("./loftFns-CnerVgTM.cjs");
|
|
18
18
|
let opentype_js = require("opentype.js");
|
|
19
19
|
opentype_js = require_rolldown_runtime.__toESM(opentype_js, 1);
|
|
@@ -7,12 +7,12 @@ import { c as vecLength, d as vecNormalize, h as vecScale, i as vecDistance, r a
|
|
|
7
7
|
import { n as createPlane } from "./planeOps-D3yDuMux.js";
|
|
8
8
|
import { v as copyShape } from "./faceFns-2jGPfqvB.js";
|
|
9
9
|
import { o as makeSolid, t as makeCompound } from "./solidBuilders-ZDGdvaTU.js";
|
|
10
|
-
import {
|
|
10
|
+
import { i as cutAll } from "./booleanFns-B9RvEpHB.js";
|
|
11
11
|
import { i as setFaceRoles } from "./faceRoleFns-BPxzQF-n.js";
|
|
12
12
|
import { l as curveStartPoint, u as curveTangentAt } from "./curveFns-EsJgIpc6.js";
|
|
13
13
|
import { n as getAtOrThrow, t as firstOrThrow } from "./arrayAccess-BpgouNir.js";
|
|
14
14
|
import { i as makeNewFaceWithinFace, r as makeFace, t as addHolesInFace } from "./surfaceBuilders-BBs6D6Km.js";
|
|
15
|
-
import { r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-
|
|
15
|
+
import { r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-DPP1g95U.js";
|
|
16
16
|
import { c as twistExtrude, r as complexExtrude, s as sweep, t as loft } from "./loftFns-jnQL_zpD.js";
|
|
17
17
|
import opentype from "opentype.js";
|
|
18
18
|
// src/topology/shapeRef/extrudeRoleFns.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_errors = require("./errors-O_blYTWT.cjs");
|
|
2
|
-
const require_textBlueprints = require("./textBlueprints-
|
|
2
|
+
const require_textBlueprints = require("./textBlueprints-BPrPhg5b.cjs");
|
|
3
3
|
// src/text/sketchText.ts
|
|
4
4
|
/**
|
|
5
5
|
* Render text as 3D sketch outlines on a plane.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { E as ok, d as validationError, g as err, t as BrepErrorCode } from "./errors-BTccWbtE.js";
|
|
2
|
-
import { _ as wrapSketchData, a as Sketches, n as getFont, t as textBlueprints, y as CompoundSketch } from "./textBlueprints-
|
|
2
|
+
import { _ as wrapSketchData, a as Sketches, n as getFont, t as textBlueprints, y as CompoundSketch } from "./textBlueprints-Dq3pUNSr.js";
|
|
3
3
|
// src/text/sketchText.ts
|
|
4
4
|
/**
|
|
5
5
|
* Render text as 3D sketch outlines on a plane.
|
|
@@ -2,11 +2,11 @@ import { F as createKernelHandle, G as _usingCtx, N as DisposalScope, n as castR
|
|
|
2
2
|
import { E as ok, d as validationError, g as err, n as computationError, r as ioError, t as BrepErrorCode, x as isOk } from "./errors-BTccWbtE.js";
|
|
3
3
|
import { d as vecNormalize, s as vecIsZero } from "./vecOps-S-m9H_fe.js";
|
|
4
4
|
import { b as fromBREP } from "./faceFns-2jGPfqvB.js";
|
|
5
|
-
import {
|
|
6
|
-
import { E as wire, h as line } from "./primitiveFns-
|
|
5
|
+
import { o as fuseAll } from "./booleanFns-B9RvEpHB.js";
|
|
6
|
+
import { E as wire, h as line } from "./primitiveFns-DPqHA3sX.js";
|
|
7
7
|
import { s as toBREP, t as clone } from "./shapeFns-kFm-m8jh.js";
|
|
8
8
|
import { t as loft } from "./loftFns-jnQL_zpD.js";
|
|
9
|
-
import { c as resolveRefParams } from "./refResolveFns-
|
|
9
|
+
import { c as resolveRefParams } from "./refResolveFns-DtztzO1g.js";
|
|
10
10
|
// src/utils/uuid.ts
|
|
11
11
|
/** Generate a v4-style UUID string using `crypto.getRandomValues`. */
|
|
12
12
|
function uuidv() {
|
|
@@ -2,11 +2,11 @@ const require_shapeTypes = require("./shapeTypes-C06KHgTm.cjs");
|
|
|
2
2
|
const require_errors = require("./errors-O_blYTWT.cjs");
|
|
3
3
|
const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
|
|
4
4
|
const require_faceFns = require("./faceFns-Jo9hMVqL.cjs");
|
|
5
|
-
const require_booleanFns = require("./booleanFns-
|
|
6
|
-
const require_primitiveFns = require("./primitiveFns-
|
|
5
|
+
const require_booleanFns = require("./booleanFns-CkcJ8WB7.cjs");
|
|
6
|
+
const require_primitiveFns = require("./primitiveFns-CZqSRhm8.cjs");
|
|
7
7
|
const require_shapeFns = require("./shapeFns-D47cmLG8.cjs");
|
|
8
8
|
const require_loftFns = require("./loftFns-CnerVgTM.cjs");
|
|
9
|
-
const require_refResolveFns = require("./refResolveFns-
|
|
9
|
+
const require_refResolveFns = require("./refResolveFns-DBY8yC6n.cjs");
|
|
10
10
|
// src/utils/uuid.ts
|
|
11
11
|
/** Generate a v4-style UUID string using `crypto.getRandomValues`. */
|
|
12
12
|
function uuidv() {
|
|
@@ -4,6 +4,14 @@ import { PlaneInput } from '../core/planeTypes.js';
|
|
|
4
4
|
import { BooleanOptions } from '../kernel/types.js';
|
|
5
5
|
import { ValidSolid } from '../core/validityTypes.js';
|
|
6
6
|
export type { BooleanOptions };
|
|
7
|
+
/**
|
|
8
|
+
* A copy of `shape` the caller owns, for a boolean that has nothing to combine.
|
|
9
|
+
* With `trackEvolution` on, its face metadata is re-keyed onto the copy, as a
|
|
10
|
+
* real boolean would propagate it.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare function copyAsBooleanResult<T extends AnyShape<Dimension>>(shape: T, trackEvolution: boolean): Result<T>;
|
|
7
15
|
/**
|
|
8
16
|
* Fuse two 3D shapes together (boolean union). Returns a new shape.
|
|
9
17
|
*
|
|
@@ -68,6 +76,7 @@ export declare function intersect(a: Shape3D, b: Shape3D, options: BooleanOption
|
|
|
68
76
|
* @param shapes - Array of 3D shapes to fuse (at least one required).
|
|
69
77
|
* @param options - Boolean operation options.
|
|
70
78
|
* @returns Ok with the fused shape, or Err if the array is empty or the result is not 3D.
|
|
79
|
+
* A single shape comes back as a copy, so the result is always the caller's to dispose.
|
|
71
80
|
*
|
|
72
81
|
* @example
|
|
73
82
|
* ```ts
|
|
@@ -87,7 +96,8 @@ export declare function fuseAll(shapes: Shape3D[], options: BooleanOptions & {
|
|
|
87
96
|
* @param base - The shape to cut from.
|
|
88
97
|
* @param tools - Array of tool shapes to subtract.
|
|
89
98
|
* @param options - Boolean operation options.
|
|
90
|
-
* @returns Ok with the cut shape, or the base
|
|
99
|
+
* @returns Ok with the cut shape, or a copy of the base if tools is empty, so the
|
|
100
|
+
* result is always the caller's to dispose.
|
|
91
101
|
*/
|
|
92
102
|
export declare function cutAll(base: ValidSolid, tools: ValidSolid[], options?: BooleanOptions): Result<ValidSolid>;
|
|
93
103
|
export declare function cutAll(base: Shape3D, tools: Shape3D[], options: BooleanOptions & {
|
|
@@ -119,7 +129,8 @@ export declare function sectionToFace(shape: AnyShape<Dimension>, plane: PlaneIn
|
|
|
119
129
|
}): Result<OrientedFace>;
|
|
120
130
|
/**
|
|
121
131
|
* Split a shape with one or more tool shapes using BRepAlgoAPI_Splitter.
|
|
122
|
-
* Returns all pieces from the split as a compound
|
|
132
|
+
* Returns all pieces from the split as a compound, or a copy of the shape when
|
|
133
|
+
* `tools` is empty, so the result is always the caller's to dispose.
|
|
123
134
|
*/
|
|
124
135
|
export declare function split(shape: AnyShape<Dimension>, tools: AnyShape<Dimension>[]): Result<AnyShape<Dimension>>;
|
|
125
136
|
/**
|
|
@@ -143,7 +154,8 @@ export interface BooleanPipelineStep {
|
|
|
143
154
|
* simplifies the final shape.
|
|
144
155
|
*
|
|
145
156
|
* Falls back to sequential operations when the C++ pipeline class is not
|
|
146
|
-
* available in the WASM build.
|
|
157
|
+
* available in the WASM build. An empty pipeline returns a copy of `base`, so
|
|
158
|
+
* the result is always the caller's to dispose.
|
|
147
159
|
*/
|
|
148
160
|
export declare function booleanPipeline(base: Shape3D, steps: readonly BooleanPipelineStep[], options?: {
|
|
149
161
|
readonly optimisation?: 'none' | 'commonFace' | 'sameFace' | undefined;
|
|
@@ -43,8 +43,11 @@ export declare function propagateMetadataByHash(inputs: readonly AnyShape<Dimens
|
|
|
43
43
|
* hash) and runs the standard propagation pipeline, so origins, tags, and
|
|
44
44
|
* colors all survive a move at `locate` cost (O(faces)), not a full copy.
|
|
45
45
|
*
|
|
46
|
+
* A `copyShape` copy keeps the same 1:1 face order with new hashes, so this
|
|
47
|
+
* re-keys metadata onto a copy too.
|
|
48
|
+
*
|
|
46
49
|
* Callers should gate on {@link hasAnyMetadata} first: with no metadata this
|
|
47
50
|
* does pointless face iteration. The face counts always match for a rigid
|
|
48
|
-
* relocation; the length guard is purely defensive.
|
|
51
|
+
* relocation or a copy; the length guard is purely defensive.
|
|
49
52
|
*/
|
|
50
53
|
export declare function propagateMetadataThroughRelocation(source: AnyShape<Dimension>, moved: AnyShape<Dimension>): void;
|
package/dist/topology.cjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_topologyQueryFns = require("./topologyQueryFns-BUhKY2Kj.cjs");
|
|
3
3
|
const require_faceFns = require("./faceFns-Jo9hMVqL.cjs");
|
|
4
|
-
const require_booleanFns = require("./booleanFns-
|
|
5
|
-
const require_primitiveFns = require("./primitiveFns-
|
|
4
|
+
const require_booleanFns = require("./booleanFns-CkcJ8WB7.cjs");
|
|
5
|
+
const require_primitiveFns = require("./primitiveFns-CZqSRhm8.cjs");
|
|
6
6
|
const require_shapeFns = require("./shapeFns-D47cmLG8.cjs");
|
|
7
7
|
const require_curveFns = require("./curveFns-B8mm5cou.cjs");
|
|
8
8
|
const require_meshFns = require("./meshFns-Cs_qrlXI.cjs");
|
|
9
|
-
const require_healingFns = require("./healingFns-
|
|
9
|
+
const require_healingFns = require("./healingFns-DGc2hk9z.cjs");
|
|
10
10
|
const require_adjacencyFns = require("./adjacencyFns-DSGyqGyy.cjs");
|
|
11
11
|
exports.addHoles = require_primitiveFns.addHoles;
|
|
12
12
|
exports.adjacentFaces = require_adjacencyFns.adjacentFaces;
|
package/dist/topology.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { _ as iterFaces, b as iterVertices, c as getFaces, f as getVertices, g as iterEdges, m as invalidateShapeCache, n as getBounds, p as getWires, s as getEdges, w as vertexPosition, x as iterWires } from "./topologyQueryFns-yOGEI9hO.js";
|
|
2
2
|
import { C as shapeType, S as iterTopo, _ as cast, a as faceOrientation, b as fromBREP, c as innerWires, d as pointOnSurface, f as projectPointOnFace, g as asTopo, h as uvCoordinates, i as faceGeomType, l as normalAt, m as uvBounds, n as faceAxis, o as flipFaceOrientation, r as faceCenter, s as getSurfaceType, t as classifyPointOnFace, u as outerWire, x as isCompSolid, y as downcast } from "./faceFns-2jGPfqvB.js";
|
|
3
|
-
import {
|
|
4
|
-
import { C as threePointArc, D as wireLoop, E as wire, S as tangentArc, T as vertex, _ as polygon, a as circle, b as sphere, c as cylinder, d as ellipsoid, f as face, g as offsetFace, h as line, i as bsplineApprox, l as ellipse, m as helix, n as bezier, o as compound, p as filledFace, r as box, s as cone, t as addHoles, u as ellipseArc, v as sewShells, w as torus, x as subFace, y as solid } from "./primitiveFns-
|
|
3
|
+
import { i as cutAll, o as fuseAll } from "./booleanFns-B9RvEpHB.js";
|
|
4
|
+
import { C as threePointArc, D as wireLoop, E as wire, S as tangentArc, T as vertex, _ as polygon, a as circle, b as sphere, c as cylinder, d as ellipsoid, f as face, g as offsetFace, h as line, i as bsplineApprox, l as ellipse, m as helix, n as bezier, o as compound, p as filledFace, r as box, s as cone, t as addHoles, u as ellipseArc, v as sewShells, w as torus, x as subFace, y as solid } from "./primitiveFns-DPqHA3sX.js";
|
|
5
5
|
import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-kFm-m8jh.js";
|
|
6
6
|
import { a as curveIsPeriodic, c as curvePointAt, d as flipOrientation, f as getCurveType, h as offsetWire2D, i as curveIsClosed, l as curveStartPoint, m as interpolateCurve, n as curveAxis, o as curveLength, p as getOrientation, r as curveEndPoint, s as curvePeriod, t as approximateCurve, u as curveTangentAt } from "./curveFns-EsJgIpc6.js";
|
|
7
7
|
import { f as clearMeshCache, n as exportSTEP, p as createMeshCache, r as exportSTL, t as exportIGES } from "./meshFns-Bo4EQJFO.js";
|
|
8
|
-
import { I as toLineGeometryData, M as toBufferGeometryData, N as toGroupedBufferGeometryData, S as chamferDistAngle, _ as checkBoolean, a as healFace, b as getNurbsCurveData, d as chamferWithEvolution, f as cutWithEvolution, g as shellWithEvolution, h as intersectWithEvolution, j as variableFillet, l as solidFromShell, m as fuseWithEvolution, n as fixSelfIntersection, o as healSolid, p as filletWithEvolution, r as fixShape, s as healWire, t as autoHeal, u as positionOnCurve, v as cutAllBisect, x as getNurbsSurfaceData, y as fuseAllBisect } from "./healingFns-
|
|
8
|
+
import { I as toLineGeometryData, M as toBufferGeometryData, N as toGroupedBufferGeometryData, S as chamferDistAngle, _ as checkBoolean, a as healFace, b as getNurbsCurveData, d as chamferWithEvolution, f as cutWithEvolution, g as shellWithEvolution, h as intersectWithEvolution, j as variableFillet, l as solidFromShell, m as fuseWithEvolution, n as fixSelfIntersection, o as healSolid, p as filletWithEvolution, r as fixShape, s as healWire, t as autoHeal, u as positionOnCurve, v as cutAllBisect, x as getNurbsSurfaceData, y as fuseAllBisect } from "./healingFns-DvuJr4RS.js";
|
|
9
9
|
import { i as facesOfEdge, l as wiresOfFace, n as adjacentFaces, o as sharedEdges, r as edgesOfFace, s as verticesOfEdge } from "./adjacencyFns-DfPO5LGP.js";
|
|
10
10
|
export { addHoles, adjacentFaces, approximateCurve, asTopo, autoHeal, bezier, box, bsplineApprox, cast, chamferDistAngle as chamferDistAngleShape, chamferWithEvolution, checkBoolean, circle, classifyPointOnFace, clearMeshCache, compound, cone, createMeshCache, curveAxis, curveEndPoint, curveIsClosed, curveIsPeriodic, curveLength, curvePeriod, curvePointAt, curveStartPoint, curveTangentAt, cutAll, cutAllBisect, cutWithEvolution, cylinder, fromBREP as deserializeShape, downcast, edgesOfFace, ellipse, ellipseArc, ellipsoid, exportIGES, exportSTEP, exportSTL, face, faceAxis, faceCenter, faceGeomType, faceOrientation, facesOfEdge, filledFace, filletWithEvolution, fixSelfIntersection, fixShape, flipFaceOrientation, flipOrientation, fuseAll, fuseAllBisect, fuseWithEvolution, getBounds, getCurveType, getEdges, getFaces, getHashCode, getNurbsCurveData, getNurbsSurfaceData, getOrientation, getSurfaceType, getVertices, getWires, healFace, healSolid, healWire, helix, innerWires, interpolateCurve, intersectWithEvolution, invalidateShapeCache, isCompSolid, isEqualShape, isSameShape, iterEdges, iterFaces, iterTopo, iterVertices, iterWires, line, normalAt, offsetFace, offsetWire2D, outerWire, pointOnSurface, polygon, positionOnCurve, projectPointOnFace, sewShells, shapeType, sharedEdges, shellWithEvolution, solid, solidFromShell, sphere, subFace, tangentArc, threePointArc, toBufferGeometryData, toGroupedBufferGeometryData, toLineGeometryData, torus, uvBounds, uvCoordinates, variableFillet, vertex, vertexPosition, verticesOfEdge, wire, wireLoop, wiresOfFace };
|