occt-wasm 5.0.0 → 5.1.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/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 +55 -2
- package/dist/xcaf-document.d.ts.map +1 -1
- package/dist/xcaf-document.js +63 -3
- package/dist/xcaf-document.js.map +1 -1
- package/package.json +1 -1
package/dist/xcaf-document.js
CHANGED
|
@@ -44,10 +44,21 @@ 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
|
}
|
|
@@ -97,6 +108,52 @@ export class XCAFDocument {
|
|
|
97
108
|
this.#ensureOpen();
|
|
98
109
|
return this.#vecToTags(wrap("xcafGetRootLabels", () => this.#raw.xcafGetRootLabels(this.#docId)));
|
|
99
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Resolve a component label to the label it instantiates.
|
|
113
|
+
*
|
|
114
|
+
* In an XCAF assembly a component (`isComponent`) is a placed reference:
|
|
115
|
+
* it carries a location and points at a prototype label, the part or
|
|
116
|
+
* sub-assembly that owns the geometry, the sub-shapes and the children.
|
|
117
|
+
* `getChildren` on the component itself is therefore empty; walk into the
|
|
118
|
+
* referred label instead. Returns `null` when `label` is not a reference.
|
|
119
|
+
*/
|
|
120
|
+
getReferredLabel(label) {
|
|
121
|
+
this.#ensureOpen();
|
|
122
|
+
const t = wrap("xcafGetReferredLabel", () => this.#raw.xcafGetReferredLabel(this.#docId, label));
|
|
123
|
+
return t > 0 ? tag(t) : null;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* The placement of a label relative to its parent, as a 3x4 row-major
|
|
127
|
+
* affine matrix (`[r00,r01,r02,tx, r10,r11,r12,ty, r20,r21,r22,tz]`), the
|
|
128
|
+
* layout `OcctKernel.transform` and `located` accept. Identity for labels
|
|
129
|
+
* that are not components. Compose these down the tree to place a
|
|
130
|
+
* prototype's geometry once per instance.
|
|
131
|
+
*/
|
|
132
|
+
getLocation(label) {
|
|
133
|
+
this.#ensureOpen();
|
|
134
|
+
return this.#vecToNumbers(wrap("xcafGetLabelLocation", () => this.#raw.xcafGetLabelLocation(this.#docId, label)));
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Get the named sub-shape labels of a part (faces, edges or solids that
|
|
138
|
+
* carry their own name or color). Pass the prototype label, not a
|
|
139
|
+
* component: see {@link getReferredLabel}.
|
|
140
|
+
*/
|
|
141
|
+
getSubShapes(label) {
|
|
142
|
+
this.#ensureOpen();
|
|
143
|
+
return this.#vecToTags(wrap("xcafGetSubShapeLabels", () => this.#raw.xcafGetSubShapeLabels(this.#docId, label)));
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Register a sub-shape of a part so it can carry its own name or color.
|
|
147
|
+
* `label` must be a top-level part (one added with `addShape`, or the
|
|
148
|
+
* prototype behind a component) and `shape` one of its sub-shapes, for
|
|
149
|
+
* example a face from `kernel.getSubShapes`. Throws otherwise.
|
|
150
|
+
*/
|
|
151
|
+
addSubShape(label, shape, options) {
|
|
152
|
+
this.#ensureOpen();
|
|
153
|
+
const t = wrap("xcafAddSubShape", () => this.#raw.xcafAddSubShape(this.#docId, label, shape));
|
|
154
|
+
this.#applyOptions(t, options);
|
|
155
|
+
return tag(t);
|
|
156
|
+
}
|
|
100
157
|
/** Export as STEP with colors and names preserved. */
|
|
101
158
|
exportSTEP() {
|
|
102
159
|
this.#ensureOpen();
|
|
@@ -151,10 +208,13 @@ export class XCAFDocument {
|
|
|
151
208
|
}
|
|
152
209
|
}
|
|
153
210
|
#vecToTags(vec) {
|
|
211
|
+
return this.#vecToNumbers(vec).map(tag);
|
|
212
|
+
}
|
|
213
|
+
#vecToNumbers(vec) {
|
|
154
214
|
try {
|
|
155
215
|
const result = [];
|
|
156
216
|
for (let i = 0; i < vec.size(); i++) {
|
|
157
|
-
result.push(
|
|
217
|
+
result.push(vec.get(i));
|
|
158
218
|
}
|
|
159
219
|
return result;
|
|
160
220
|
}
|
|
@@ -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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"}
|