occt-wasm 5.0.0 → 5.1.1
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/README.md +19 -0
- package/dist/index.d.ts +23 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -28
- package/dist/index.js.map +1 -1
- package/dist/occt-wasm.wasm +0 -0
- package/dist/raw-types.d.ts +6 -0
- package/dist/raw-types.d.ts.map +1 -1
- package/dist/svg.d.ts +2 -2
- package/dist/svg.d.ts.map +1 -1
- package/dist/svg.js +2 -2
- package/dist/svg.js.map +1 -1
- package/dist/types.d.ts +32 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/worker.d.ts +3 -3
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +1 -1
- package/dist/worker.js.map +1 -1
- package/dist/xcaf-document.d.ts +65 -3
- package/dist/xcaf-document.d.ts.map +1 -1
- package/dist/xcaf-document.js +73 -4
- package/dist/xcaf-document.js.map +1 -1
- package/package.json +1 -1
package/dist/xcaf-document.js
CHANGED
|
@@ -44,14 +44,34 @@ export class XCAFDocument {
|
|
|
44
44
|
const docId = wrap("xcafImportSTEP", () => raw.xcafImportSTEP(stepData));
|
|
45
45
|
return new XCAFDocument(raw, docId, fs);
|
|
46
46
|
}
|
|
47
|
-
/**
|
|
47
|
+
/**
|
|
48
|
+
* Add a shape as a root label.
|
|
49
|
+
*
|
|
50
|
+
* By default the shape becomes a single part, even when it is a compound.
|
|
51
|
+
* With `{ assembly: true }` a compound becomes an assembly instead: one
|
|
52
|
+
* component per top-level child, each a placed reference to a prototype
|
|
53
|
+
* label holding that child's geometry. This is the structure STEP import
|
|
54
|
+
* produces, and the only one `exportSTEP` writes as an assembly. Throws if
|
|
55
|
+
* `assembly` is set and the shape is not a compound.
|
|
56
|
+
*/
|
|
48
57
|
addShape(shape, options) {
|
|
49
58
|
this.#ensureOpen();
|
|
50
|
-
const t =
|
|
59
|
+
const t = options?.assembly
|
|
60
|
+
? wrap("xcafAddAssembly", () => this.#raw.xcafAddAssembly(this.#docId, shape))
|
|
61
|
+
: wrap("xcafAddShape", () => this.#raw.xcafAddShape(this.#docId, shape));
|
|
51
62
|
this.#applyOptions(t, options);
|
|
52
63
|
return tag(t);
|
|
53
64
|
}
|
|
54
|
-
/**
|
|
65
|
+
/**
|
|
66
|
+
* Add a shape as a child component of a parent label.
|
|
67
|
+
*
|
|
68
|
+
* `parent` may be an assembly or a part. A part becomes an assembly on
|
|
69
|
+
* its first child: the geometry it held moves into a first component at
|
|
70
|
+
* identity, carrying the part's name and color, so `getChildren(parent)`
|
|
71
|
+
* then lists that component ahead of the new one and exports keep both.
|
|
72
|
+
* A component label cannot take children; resolve it with
|
|
73
|
+
* {@link getReferredLabel} first.
|
|
74
|
+
*/
|
|
55
75
|
addChild(parent, shape, options) {
|
|
56
76
|
this.#ensureOpen();
|
|
57
77
|
const loc = options?.location ?? {};
|
|
@@ -97,6 +117,52 @@ export class XCAFDocument {
|
|
|
97
117
|
this.#ensureOpen();
|
|
98
118
|
return this.#vecToTags(wrap("xcafGetRootLabels", () => this.#raw.xcafGetRootLabels(this.#docId)));
|
|
99
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Resolve a component label to the label it instantiates.
|
|
122
|
+
*
|
|
123
|
+
* In an XCAF assembly a component (`isComponent`) is a placed reference:
|
|
124
|
+
* it carries a location and points at a prototype label, the part or
|
|
125
|
+
* sub-assembly that owns the geometry, the sub-shapes and the children.
|
|
126
|
+
* `getChildren` on the component itself is therefore empty; walk into the
|
|
127
|
+
* referred label instead. Returns `null` when `label` is not a reference.
|
|
128
|
+
*/
|
|
129
|
+
getReferredLabel(label) {
|
|
130
|
+
this.#ensureOpen();
|
|
131
|
+
const t = wrap("xcafGetReferredLabel", () => this.#raw.xcafGetReferredLabel(this.#docId, label));
|
|
132
|
+
return t > 0 ? tag(t) : null;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* The placement of a label relative to its parent, as a 3x4 row-major
|
|
136
|
+
* affine matrix (`[r00,r01,r02,tx, r10,r11,r12,ty, r20,r21,r22,tz]`), the
|
|
137
|
+
* layout `OcctKernel.transform` and `located` accept. Identity for labels
|
|
138
|
+
* that are not components. Compose these down the tree to place a
|
|
139
|
+
* prototype's geometry once per instance.
|
|
140
|
+
*/
|
|
141
|
+
getLocation(label) {
|
|
142
|
+
this.#ensureOpen();
|
|
143
|
+
return this.#vecToNumbers(wrap("xcafGetLabelLocation", () => this.#raw.xcafGetLabelLocation(this.#docId, label)));
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Get the named sub-shape labels of a part (faces, edges or solids that
|
|
147
|
+
* carry their own name or color). Pass the prototype label, not a
|
|
148
|
+
* component: see {@link getReferredLabel}.
|
|
149
|
+
*/
|
|
150
|
+
getSubShapes(label) {
|
|
151
|
+
this.#ensureOpen();
|
|
152
|
+
return this.#vecToTags(wrap("xcafGetSubShapeLabels", () => this.#raw.xcafGetSubShapeLabels(this.#docId, label)));
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Register a sub-shape of a part so it can carry its own name or color.
|
|
156
|
+
* `label` must be a top-level part (one added with `addShape`, or the
|
|
157
|
+
* prototype behind a component) and `shape` one of its sub-shapes, for
|
|
158
|
+
* example a face from `kernel.getSubShapes`. Throws otherwise.
|
|
159
|
+
*/
|
|
160
|
+
addSubShape(label, shape, options) {
|
|
161
|
+
this.#ensureOpen();
|
|
162
|
+
const t = wrap("xcafAddSubShape", () => this.#raw.xcafAddSubShape(this.#docId, label, shape));
|
|
163
|
+
this.#applyOptions(t, options);
|
|
164
|
+
return tag(t);
|
|
165
|
+
}
|
|
100
166
|
/** Export as STEP with colors and names preserved. */
|
|
101
167
|
exportSTEP() {
|
|
102
168
|
this.#ensureOpen();
|
|
@@ -151,10 +217,13 @@ export class XCAFDocument {
|
|
|
151
217
|
}
|
|
152
218
|
}
|
|
153
219
|
#vecToTags(vec) {
|
|
220
|
+
return this.#vecToNumbers(vec).map(tag);
|
|
221
|
+
}
|
|
222
|
+
#vecToNumbers(vec) {
|
|
154
223
|
try {
|
|
155
224
|
const result = [];
|
|
156
225
|
for (let i = 0; i < vec.size(); i++) {
|
|
157
|
-
result.push(
|
|
226
|
+
result.push(vec.get(i));
|
|
158
227
|
}
|
|
159
228
|
return result;
|
|
160
229
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xcaf-document.js","sourceRoot":"","sources":["../src/xcaf-document.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"xcaf-document.js","sourceRoot":"","sources":["../src/xcaf-document.ts"],"names":[],"mappings":"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"}
|