@bldrs-ai/conway 1.520.1486 → 1.529.1492
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/compiled/examples/browser-bundled.cjs +36 -6
- package/compiled/examples/cli-bundled.cjs +81 -13
- package/compiled/examples/cli-step-bundled.cjs +53 -23
- package/compiled/examples/validator-bundled.cjs +36 -6
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/b_spline_curve.gen.d.ts +2 -2
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/b_spline_curve.gen.d.ts.map +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/b_spline_curve.gen.js +2 -2
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/b_spline_surface.gen.d.ts +3 -3
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/b_spline_surface.gen.d.ts.map +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/b_spline_surface.gen.js +3 -3
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/composite_curve.gen.d.ts +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/composite_curve.gen.d.ts.map +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/composite_curve.gen.js +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/offset_curve_2d.gen.d.ts +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/offset_curve_2d.gen.d.ts.map +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/offset_curve_2d.gen.js +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/offset_curve_3d.gen.d.ts +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/offset_curve_3d.gen.d.ts.map +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/offset_curve_3d.gen.js +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/offset_surface.gen.d.ts +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/offset_surface.gen.d.ts.map +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/offset_surface.gen.js +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/schema_ap214.gen.js +11 -11
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/shape_aspect.gen.d.ts +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/shape_aspect.gen.d.ts.map +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/shape_aspect.gen.js +1 -1
- package/compiled/src/AP214E3_2010/ap214_logical_attribute.test.d.ts +2 -0
- package/compiled/src/AP214E3_2010/ap214_logical_attribute.test.d.ts.map +1 -0
- package/compiled/src/AP214E3_2010/ap214_logical_attribute.test.js +114 -0
- package/compiled/src/ifc/ifc4_gen/IfcLogical.gen.d.ts +1 -1
- package/compiled/src/ifc/ifc4_gen/IfcLogical.gen.d.ts.map +1 -1
- package/compiled/src/ifc/ifc4_gen/IfcLogical.gen.js +1 -1
- package/compiled/src/ifc/ifc4_gen/IfcRelInterferesElements.gen.d.ts +1 -1
- package/compiled/src/ifc/ifc4_gen/IfcRelInterferesElements.gen.d.ts.map +1 -1
- package/compiled/src/ifc/ifc4_gen/IfcRelInterferesElements.gen.js +1 -1
- package/compiled/src/ifc/ifc4_gen/schema_ifc.gen.js +2 -2
- package/compiled/src/ifc/ifc_demand_extraction.test.js +129 -0
- package/compiled/src/ifc/ifc_geometry_extraction.d.ts +31 -2
- package/compiled/src/ifc/ifc_geometry_extraction.d.ts.map +1 -1
- package/compiled/src/ifc/ifc_geometry_extraction.js +68 -7
- package/compiled/src/step/step_entity_base.d.ts +10 -3
- package/compiled/src/step/step_entity_base.d.ts.map +1 -1
- package/compiled/src/step/step_entity_base.js +21 -0
- package/compiled/src/step/step_model_base.d.ts +9 -1
- package/compiled/src/step/step_model_base.d.ts.map +1 -1
- package/compiled/src/step/step_model_base.js +10 -1
- package/compiled/src/version/version.js +1 -1
- package/compiled/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -30,7 +30,7 @@ var import_node_process = require("node:process");
|
|
|
30
30
|
var readline = __toESM(require("node:readline"), 1);
|
|
31
31
|
|
|
32
32
|
// compiled/src/version/version.js
|
|
33
|
-
var versionString = "Conway v1.
|
|
33
|
+
var versionString = "Conway v1.529.1492";
|
|
34
34
|
|
|
35
35
|
// compiled/dependencies/conway-geom/interface/conway_geometry.js
|
|
36
36
|
var wasmType = "";
|
|
@@ -5812,9 +5812,17 @@ var StepModelBase = class _StepModelBase {
|
|
|
5812
5812
|
* extract reads `IfcIndexedPolygonalFace.CoordIndex` as integers —
|
|
5813
5813
|
* following those faces pinned ~78k records per PSB product. If
|
|
5814
5814
|
* omitted, `!descend` children use this span path (test helper).
|
|
5815
|
+
* @param claimed Optional out-set of the IDs *this call* claimed and
|
|
5816
|
+
* awaited residency for — a strict subset of `seen`. When `seen` is
|
|
5817
|
+
* shared across concurrent walks (a batch of products sharing mapped
|
|
5818
|
+
* geometry), an ID another walk claimed is skipped here and is NOT
|
|
5819
|
+
* resident yet from this call's point of view: that walk's pin holds
|
|
5820
|
+
* the chunk once it lands, but its read is still in flight. Anything
|
|
5821
|
+
* that must synchronously read a record's bytes after this returns
|
|
5822
|
+
* has to iterate `claimed`, never `seen` (conway#526).
|
|
5815
5823
|
* @return {Promise<Set<number>>} The local IDs that were visited.
|
|
5816
5824
|
*/
|
|
5817
|
-
async ensureResidentClosureByLocalID(localID, extraLocalIDs, seen = /* @__PURE__ */ new Set(), descend, leafSpans, spanLeaf) {
|
|
5825
|
+
async ensureResidentClosureByLocalID(localID, extraLocalIDs, seen = /* @__PURE__ */ new Set(), descend, leafSpans, spanLeaf, claimed) {
|
|
5818
5826
|
if (!this.isSourceExternal) {
|
|
5819
5827
|
return seen;
|
|
5820
5828
|
}
|
|
@@ -5839,6 +5847,7 @@ var StepModelBase = class _StepModelBase {
|
|
|
5839
5847
|
seen.add(id);
|
|
5840
5848
|
this.pinByLocalID(id);
|
|
5841
5849
|
wave.push(id);
|
|
5850
|
+
claimed?.add(id);
|
|
5842
5851
|
}
|
|
5843
5852
|
frontier.length = 0;
|
|
5844
5853
|
if (wave.length === 0) {
|
|
@@ -11282,6 +11291,27 @@ var StepEntityBase = class {
|
|
|
11282
11291
|
}
|
|
11283
11292
|
return value;
|
|
11284
11293
|
}
|
|
11294
|
+
/**
|
|
11295
|
+
* Extract a number at the particular vtable offset (i.e. the position
|
|
11296
|
+
* in the matching step object).
|
|
11297
|
+
*
|
|
11298
|
+
* Used by other extraction methods with wrappers to perform
|
|
11299
|
+
* semantically correct extraction.
|
|
11300
|
+
*
|
|
11301
|
+
* Unlike the other extractors this has a single signature rather than an
|
|
11302
|
+
* optional/non-optional overload pair, because LOGICAL is three-valued:
|
|
11303
|
+
* `.U.` is a legitimate value that reads as null, so a non-optional LOGICAL
|
|
11304
|
+
* is null-valued too and `optional` only decides whether a *missing* value
|
|
11305
|
+
* throws. The old `optional: false` overload promised a bare `boolean` and
|
|
11306
|
+
* was a lie for exactly the `.U.` case this extractor exists to handle.
|
|
11307
|
+
*
|
|
11308
|
+
* @param offset The offset in the vtable to extract from
|
|
11309
|
+
* @param baseOffset The base offset in the vtable to extract from
|
|
11310
|
+
* @param depth The depth of the vtable to extract from
|
|
11311
|
+
* @param optional Is this an optional field?
|
|
11312
|
+
* @return {boolean | null} The extracted logical, or null for `.U.` and for
|
|
11313
|
+
* an absent optional.
|
|
11314
|
+
*/
|
|
11285
11315
|
extractLogical(offset, baseOffset, depth, optional) {
|
|
11286
11316
|
const [cursor, endCursor, buffer] = this.getOffsetAndEndCursor(offset, baseOffset, depth);
|
|
11287
11317
|
const value = stepExtractLogical(buffer, cursor, endCursor);
|
|
@@ -15423,7 +15453,7 @@ var IfcLogical = class extends StepEntityBase {
|
|
|
15423
15453
|
}
|
|
15424
15454
|
get Value() {
|
|
15425
15455
|
if (this.Value_ === void 0) {
|
|
15426
|
-
this.Value_ = this.
|
|
15456
|
+
this.Value_ = this.extractLogical(0, 0, 0, false);
|
|
15427
15457
|
}
|
|
15428
15458
|
return this.Value_;
|
|
15429
15459
|
}
|
|
@@ -26545,7 +26575,7 @@ var IfcRelInterferesElements = class extends IfcRelConnects {
|
|
|
26545
26575
|
}
|
|
26546
26576
|
get ImpliedOrder() {
|
|
26547
26577
|
if (this.ImpliedOrder_ === void 0) {
|
|
26548
|
-
this.ImpliedOrder_ = this.
|
|
26578
|
+
this.ImpliedOrder_ = this.extractLogical(8, 4, 3, false);
|
|
26549
26579
|
}
|
|
26550
26580
|
return this.ImpliedOrder_;
|
|
26551
26581
|
}
|
|
@@ -64813,7 +64843,7 @@ var descriptions = [
|
|
|
64813
64843
|
},
|
|
64814
64844
|
ImpliedOrder: {
|
|
64815
64845
|
kind: f.BOOLEAN,
|
|
64816
|
-
optional:
|
|
64846
|
+
optional: true,
|
|
64817
64847
|
derived: false,
|
|
64818
64848
|
offset: 8
|
|
64819
64849
|
}
|
|
@@ -69785,7 +69815,7 @@ var descriptions = [
|
|
|
69785
69815
|
fields: {
|
|
69786
69816
|
Value: {
|
|
69787
69817
|
kind: f.BOOLEAN,
|
|
69788
|
-
optional:
|
|
69818
|
+
optional: true,
|
|
69789
69819
|
derived: false,
|
|
69790
69820
|
offset: 0
|
|
69791
69821
|
}
|
|
@@ -14965,7 +14965,7 @@ ${t5.join("\n")}` : "";
|
|
|
14965
14965
|
var import_process = require("process");
|
|
14966
14966
|
|
|
14967
14967
|
// compiled/src/version/version.js
|
|
14968
|
-
var versionString = "Conway v1.
|
|
14968
|
+
var versionString = "Conway v1.529.1492";
|
|
14969
14969
|
|
|
14970
14970
|
// compiled/dependencies/conway-geom/interface/conway_geometry.js
|
|
14971
14971
|
function pThreadsAllowed() {
|
|
@@ -21695,9 +21695,17 @@ var StepModelBase = class _StepModelBase {
|
|
|
21695
21695
|
* extract reads `IfcIndexedPolygonalFace.CoordIndex` as integers —
|
|
21696
21696
|
* following those faces pinned ~78k records per PSB product. If
|
|
21697
21697
|
* omitted, `!descend` children use this span path (test helper).
|
|
21698
|
+
* @param claimed Optional out-set of the IDs *this call* claimed and
|
|
21699
|
+
* awaited residency for — a strict subset of `seen`. When `seen` is
|
|
21700
|
+
* shared across concurrent walks (a batch of products sharing mapped
|
|
21701
|
+
* geometry), an ID another walk claimed is skipped here and is NOT
|
|
21702
|
+
* resident yet from this call's point of view: that walk's pin holds
|
|
21703
|
+
* the chunk once it lands, but its read is still in flight. Anything
|
|
21704
|
+
* that must synchronously read a record's bytes after this returns
|
|
21705
|
+
* has to iterate `claimed`, never `seen` (conway#526).
|
|
21698
21706
|
* @return {Promise<Set<number>>} The local IDs that were visited.
|
|
21699
21707
|
*/
|
|
21700
|
-
async ensureResidentClosureByLocalID(localID, extraLocalIDs, seen = /* @__PURE__ */ new Set(), descend, leafSpans, spanLeaf) {
|
|
21708
|
+
async ensureResidentClosureByLocalID(localID, extraLocalIDs, seen = /* @__PURE__ */ new Set(), descend, leafSpans, spanLeaf, claimed) {
|
|
21701
21709
|
if (!this.isSourceExternal) {
|
|
21702
21710
|
return seen;
|
|
21703
21711
|
}
|
|
@@ -21722,6 +21730,7 @@ var StepModelBase = class _StepModelBase {
|
|
|
21722
21730
|
seen.add(id);
|
|
21723
21731
|
this.pinByLocalID(id);
|
|
21724
21732
|
wave.push(id);
|
|
21733
|
+
claimed?.add(id);
|
|
21725
21734
|
}
|
|
21726
21735
|
frontier.length = 0;
|
|
21727
21736
|
if (wave.length === 0) {
|
|
@@ -27219,6 +27228,27 @@ var StepEntityBase = class {
|
|
|
27219
27228
|
}
|
|
27220
27229
|
return value;
|
|
27221
27230
|
}
|
|
27231
|
+
/**
|
|
27232
|
+
* Extract a number at the particular vtable offset (i.e. the position
|
|
27233
|
+
* in the matching step object).
|
|
27234
|
+
*
|
|
27235
|
+
* Used by other extraction methods with wrappers to perform
|
|
27236
|
+
* semantically correct extraction.
|
|
27237
|
+
*
|
|
27238
|
+
* Unlike the other extractors this has a single signature rather than an
|
|
27239
|
+
* optional/non-optional overload pair, because LOGICAL is three-valued:
|
|
27240
|
+
* `.U.` is a legitimate value that reads as null, so a non-optional LOGICAL
|
|
27241
|
+
* is null-valued too and `optional` only decides whether a *missing* value
|
|
27242
|
+
* throws. The old `optional: false` overload promised a bare `boolean` and
|
|
27243
|
+
* was a lie for exactly the `.U.` case this extractor exists to handle.
|
|
27244
|
+
*
|
|
27245
|
+
* @param offset The offset in the vtable to extract from
|
|
27246
|
+
* @param baseOffset The base offset in the vtable to extract from
|
|
27247
|
+
* @param depth The depth of the vtable to extract from
|
|
27248
|
+
* @param optional Is this an optional field?
|
|
27249
|
+
* @return {boolean | null} The extracted logical, or null for `.U.` and for
|
|
27250
|
+
* an absent optional.
|
|
27251
|
+
*/
|
|
27222
27252
|
extractLogical(offset, baseOffset, depth, optional) {
|
|
27223
27253
|
const [cursor, endCursor, buffer] = this.getOffsetAndEndCursor(offset, baseOffset, depth);
|
|
27224
27254
|
const value = stepExtractLogical(buffer, cursor, endCursor);
|
|
@@ -31360,7 +31390,7 @@ var IfcLogical = class extends StepEntityBase {
|
|
|
31360
31390
|
}
|
|
31361
31391
|
get Value() {
|
|
31362
31392
|
if (this.Value_ === void 0) {
|
|
31363
|
-
this.Value_ = this.
|
|
31393
|
+
this.Value_ = this.extractLogical(0, 0, 0, false);
|
|
31364
31394
|
}
|
|
31365
31395
|
return this.Value_;
|
|
31366
31396
|
}
|
|
@@ -42482,7 +42512,7 @@ var IfcRelInterferesElements = class extends IfcRelConnects {
|
|
|
42482
42512
|
}
|
|
42483
42513
|
get ImpliedOrder() {
|
|
42484
42514
|
if (this.ImpliedOrder_ === void 0) {
|
|
42485
|
-
this.ImpliedOrder_ = this.
|
|
42515
|
+
this.ImpliedOrder_ = this.extractLogical(8, 4, 3, false);
|
|
42486
42516
|
}
|
|
42487
42517
|
return this.ImpliedOrder_;
|
|
42488
42518
|
}
|
|
@@ -80750,7 +80780,7 @@ var descriptions = [
|
|
|
80750
80780
|
},
|
|
80751
80781
|
ImpliedOrder: {
|
|
80752
80782
|
kind: f.BOOLEAN,
|
|
80753
|
-
optional:
|
|
80783
|
+
optional: true,
|
|
80754
80784
|
derived: false,
|
|
80755
80785
|
offset: 8
|
|
80756
80786
|
}
|
|
@@ -85722,7 +85752,7 @@ var descriptions = [
|
|
|
85722
85752
|
fields: {
|
|
85723
85753
|
Value: {
|
|
85724
85754
|
kind: f.BOOLEAN,
|
|
85725
|
-
optional:
|
|
85755
|
+
optional: true,
|
|
85726
85756
|
derived: false,
|
|
85727
85757
|
offset: 0
|
|
85728
85758
|
}
|
|
@@ -93239,6 +93269,24 @@ var IfcGeometryExtraction = class _IfcGeometryExtraction {
|
|
|
93239
93269
|
if (!this.model.isSourceExternal) {
|
|
93240
93270
|
return seen ?? /* @__PURE__ */ new Set();
|
|
93241
93271
|
}
|
|
93272
|
+
try {
|
|
93273
|
+
return await this.ensureResidentForProductExtractUnguarded_(localID, seen, leafSpans);
|
|
93274
|
+
} catch (error) {
|
|
93275
|
+
logger_default.error(`Error paging product localID ${localID} for extract: ${error instanceof Error ? error.message : String(error)}`);
|
|
93276
|
+
return seen ?? /* @__PURE__ */ new Set();
|
|
93277
|
+
}
|
|
93278
|
+
}
|
|
93279
|
+
/**
|
|
93280
|
+
* {@link ensureResidentForProductExtract} without the per-product
|
|
93281
|
+
* fault containment — split out so the guard cannot accidentally
|
|
93282
|
+
* swallow a failure raised by its own bookkeeping.
|
|
93283
|
+
*
|
|
93284
|
+
* @param localID The product's local ID.
|
|
93285
|
+
* @param seen Optional set to extend.
|
|
93286
|
+
* @param leafSpans Coalesced Faces[] pin ranges — caller unpins.
|
|
93287
|
+
* @return {Promise<Set<number>>} Pinned local IDs.
|
|
93288
|
+
*/
|
|
93289
|
+
async ensureResidentForProductExtractUnguarded_(localID, seen, leafSpans) {
|
|
93242
93290
|
const extra = [];
|
|
93243
93291
|
const voids = this.productToVoidGeometryMap.get(localID);
|
|
93244
93292
|
if (voids !== void 0) {
|
|
@@ -93256,7 +93304,8 @@ var IfcGeometryExtraction = class _IfcGeometryExtraction {
|
|
|
93256
93304
|
const typeID = this.model.typeIDOf(id);
|
|
93257
93305
|
return !isFace(id) && typeID !== entity_types_ifc_gen_default.IFCPOLYGONALFACESET && typeID !== entity_types_ifc_gen_default.IFCTRIANGULATEDFACESET;
|
|
93258
93306
|
};
|
|
93259
|
-
const
|
|
93307
|
+
const claimed = /* @__PURE__ */ new Set();
|
|
93308
|
+
const visited = await this.model.ensureResidentClosureByLocalID(localID, extra, seen, descend, leafSpans, isFace, claimed);
|
|
93260
93309
|
const styleExtra = [];
|
|
93261
93310
|
for (const visitedID of visited) {
|
|
93262
93311
|
const styled = this.materials.styledItemMap.get(visitedID);
|
|
@@ -93269,9 +93318,9 @@ var IfcGeometryExtraction = class _IfcGeometryExtraction {
|
|
|
93269
93318
|
}
|
|
93270
93319
|
}
|
|
93271
93320
|
if (styleExtra.length > 0) {
|
|
93272
|
-
await this.model.ensureResidentClosureByLocalID(localID, styleExtra, visited, descend, leafSpans, isFace);
|
|
93321
|
+
await this.model.ensureResidentClosureByLocalID(localID, styleExtra, visited, descend, leafSpans, isFace, claimed);
|
|
93273
93322
|
}
|
|
93274
|
-
await this.ensureResidentVisitedFacesetPayloads_(visited, leafSpans);
|
|
93323
|
+
await this.ensureResidentVisitedFacesetPayloads_(claimed, visited, leafSpans);
|
|
93275
93324
|
return visited;
|
|
93276
93325
|
}
|
|
93277
93326
|
/**
|
|
@@ -93279,16 +93328,35 @@ var IfcGeometryExtraction = class _IfcGeometryExtraction {
|
|
|
93279
93328
|
* or more tight address spans. The generic closure visits the
|
|
93280
93329
|
* faceset but does not scan Faces[].
|
|
93281
93330
|
*
|
|
93282
|
-
*
|
|
93283
|
-
*
|
|
93331
|
+
* **Iterates `claimed`, not `visited`, and re-ensures before the
|
|
93332
|
+
* scan** — both halves of conway#526. `referencedExpressIDs` is a
|
|
93333
|
+
* SYNCHRONOUS acquire of the faceset's own bytes, and when a batch
|
|
93334
|
+
* prefetches products concurrently through one shared `visited` set
|
|
93335
|
+
* (`extractGeometryBatchAsync`'s Promise.all over 8 products), the
|
|
93336
|
+
* closure walk skips any ID a sibling product already claimed. That
|
|
93337
|
+
* sibling has pinned the range but its read may still be in flight,
|
|
93338
|
+
* so scanning the shared set threw
|
|
93339
|
+
* `StepBufferNotResidentError: STEP source range [...] is not
|
|
93340
|
+
* resident` out of the prefetch and killed the whole load — a pin
|
|
93341
|
+
* reserves a chunk against eviction, it does not make it resident.
|
|
93342
|
+
* Iterating this call's own claims fixes that (and drops the
|
|
93343
|
+
* quadratic re-scan of every sibling's facesets); the `await` below
|
|
93344
|
+
* makes the guarantee local rather than inherited, since a resident
|
|
93345
|
+
* chunk costs only a microtask there.
|
|
93346
|
+
*
|
|
93347
|
+
* @param claimed Faceset local IDs this call claimed and awaited.
|
|
93348
|
+
* @param visited The (possibly shared) visited set — read for
|
|
93349
|
+
* Coordinates de-duplication and extended with the ones pinned here,
|
|
93350
|
+
* so the caller's unpin covers them.
|
|
93284
93351
|
* @param leafSpans Coalesced Faces[] pin ranges — caller unpins.
|
|
93285
93352
|
*/
|
|
93286
|
-
async ensureResidentVisitedFacesetPayloads_(visited, leafSpans) {
|
|
93287
|
-
for (const localID of
|
|
93353
|
+
async ensureResidentVisitedFacesetPayloads_(claimed, visited, leafSpans) {
|
|
93354
|
+
for (const localID of claimed) {
|
|
93288
93355
|
const typeID = this.model.typeIDOf(localID);
|
|
93289
93356
|
if (typeID !== entity_types_ifc_gen_default.IFCPOLYGONALFACESET && typeID !== entity_types_ifc_gen_default.IFCTRIANGULATEDFACESET) {
|
|
93290
93357
|
continue;
|
|
93291
93358
|
}
|
|
93359
|
+
await this.model.ensureResidentByLocalID(localID);
|
|
93292
93360
|
const refs = this.model.referencedExpressIDs(localID);
|
|
93293
93361
|
if (refs.length === 0) {
|
|
93294
93362
|
continue;
|
|
@@ -15943,7 +15943,7 @@ var ParsingBuffer = class {
|
|
|
15943
15943
|
};
|
|
15944
15944
|
|
|
15945
15945
|
// compiled/src/version/version.js
|
|
15946
|
-
var versionString = "Conway v1.
|
|
15946
|
+
var versionString = "Conway v1.529.1492";
|
|
15947
15947
|
|
|
15948
15948
|
// compiled/dependencies/conway-geom/interface/conway_geometry.js
|
|
15949
15949
|
function pThreadsAllowed() {
|
|
@@ -21434,9 +21434,17 @@ var StepModelBase = class _StepModelBase {
|
|
|
21434
21434
|
* extract reads `IfcIndexedPolygonalFace.CoordIndex` as integers —
|
|
21435
21435
|
* following those faces pinned ~78k records per PSB product. If
|
|
21436
21436
|
* omitted, `!descend` children use this span path (test helper).
|
|
21437
|
+
* @param claimed Optional out-set of the IDs *this call* claimed and
|
|
21438
|
+
* awaited residency for — a strict subset of `seen`. When `seen` is
|
|
21439
|
+
* shared across concurrent walks (a batch of products sharing mapped
|
|
21440
|
+
* geometry), an ID another walk claimed is skipped here and is NOT
|
|
21441
|
+
* resident yet from this call's point of view: that walk's pin holds
|
|
21442
|
+
* the chunk once it lands, but its read is still in flight. Anything
|
|
21443
|
+
* that must synchronously read a record's bytes after this returns
|
|
21444
|
+
* has to iterate `claimed`, never `seen` (conway#526).
|
|
21437
21445
|
* @return {Promise<Set<number>>} The local IDs that were visited.
|
|
21438
21446
|
*/
|
|
21439
|
-
async ensureResidentClosureByLocalID(localID, extraLocalIDs, seen = /* @__PURE__ */ new Set(), descend, leafSpans, spanLeaf) {
|
|
21447
|
+
async ensureResidentClosureByLocalID(localID, extraLocalIDs, seen = /* @__PURE__ */ new Set(), descend, leafSpans, spanLeaf, claimed) {
|
|
21440
21448
|
if (!this.isSourceExternal) {
|
|
21441
21449
|
return seen;
|
|
21442
21450
|
}
|
|
@@ -21461,6 +21469,7 @@ var StepModelBase = class _StepModelBase {
|
|
|
21461
21469
|
seen.add(id);
|
|
21462
21470
|
this.pinByLocalID(id);
|
|
21463
21471
|
wave.push(id);
|
|
21472
|
+
claimed?.add(id);
|
|
21464
21473
|
}
|
|
21465
21474
|
frontier.length = 0;
|
|
21466
21475
|
if (wave.length === 0) {
|
|
@@ -23107,6 +23116,27 @@ var StepEntityBase = class {
|
|
|
23107
23116
|
}
|
|
23108
23117
|
return value;
|
|
23109
23118
|
}
|
|
23119
|
+
/**
|
|
23120
|
+
* Extract a number at the particular vtable offset (i.e. the position
|
|
23121
|
+
* in the matching step object).
|
|
23122
|
+
*
|
|
23123
|
+
* Used by other extraction methods with wrappers to perform
|
|
23124
|
+
* semantically correct extraction.
|
|
23125
|
+
*
|
|
23126
|
+
* Unlike the other extractors this has a single signature rather than an
|
|
23127
|
+
* optional/non-optional overload pair, because LOGICAL is three-valued:
|
|
23128
|
+
* `.U.` is a legitimate value that reads as null, so a non-optional LOGICAL
|
|
23129
|
+
* is null-valued too and `optional` only decides whether a *missing* value
|
|
23130
|
+
* throws. The old `optional: false` overload promised a bare `boolean` and
|
|
23131
|
+
* was a lie for exactly the `.U.` case this extractor exists to handle.
|
|
23132
|
+
*
|
|
23133
|
+
* @param offset The offset in the vtable to extract from
|
|
23134
|
+
* @param baseOffset The base offset in the vtable to extract from
|
|
23135
|
+
* @param depth The depth of the vtable to extract from
|
|
23136
|
+
* @param optional Is this an optional field?
|
|
23137
|
+
* @return {boolean | null} The extracted logical, or null for `.U.` and for
|
|
23138
|
+
* an absent optional.
|
|
23139
|
+
*/
|
|
23110
23140
|
extractLogical(offset, baseOffset, depth, optional) {
|
|
23111
23141
|
const [cursor, endCursor, buffer] = this.getOffsetAndEndCursor(offset, baseOffset, depth);
|
|
23112
23142
|
const value = stepExtractLogical(buffer, cursor, endCursor);
|
|
@@ -24776,7 +24806,7 @@ var shape_aspect = class _shape_aspect extends StepEntityBase {
|
|
|
24776
24806
|
}
|
|
24777
24807
|
get product_definitional() {
|
|
24778
24808
|
if (this.product_definitional_ === void 0) {
|
|
24779
|
-
this.product_definitional_ = this.
|
|
24809
|
+
this.product_definitional_ = this.extractLogical(3, 0, 0, false);
|
|
24780
24810
|
}
|
|
24781
24811
|
return this.product_definitional_;
|
|
24782
24812
|
}
|
|
@@ -47613,7 +47643,7 @@ var offset_curve_2d = class _offset_curve_2d extends curve {
|
|
|
47613
47643
|
}
|
|
47614
47644
|
get self_intersect() {
|
|
47615
47645
|
if (this.self_intersect_ === void 0) {
|
|
47616
|
-
this.self_intersect_ = this.
|
|
47646
|
+
this.self_intersect_ = this.extractLogical(3, 1, 3, false);
|
|
47617
47647
|
}
|
|
47618
47648
|
return this.self_intersect_;
|
|
47619
47649
|
}
|
|
@@ -47652,7 +47682,7 @@ var offset_curve_3d = class _offset_curve_3d extends curve {
|
|
|
47652
47682
|
}
|
|
47653
47683
|
get self_intersect() {
|
|
47654
47684
|
if (this.self_intersect_ === void 0) {
|
|
47655
|
-
this.self_intersect_ = this.
|
|
47685
|
+
this.self_intersect_ = this.extractLogical(3, 1, 3, false);
|
|
47656
47686
|
}
|
|
47657
47687
|
return this.self_intersect_;
|
|
47658
47688
|
}
|
|
@@ -48699,7 +48729,7 @@ var offset_surface = class _offset_surface extends surface {
|
|
|
48699
48729
|
}
|
|
48700
48730
|
get self_intersect() {
|
|
48701
48731
|
if (this.self_intersect_ === void 0) {
|
|
48702
|
-
this.self_intersect_ = this.
|
|
48732
|
+
this.self_intersect_ = this.extractLogical(3, 1, 3, false);
|
|
48703
48733
|
}
|
|
48704
48734
|
return this.self_intersect_;
|
|
48705
48735
|
}
|
|
@@ -49470,13 +49500,13 @@ var b_spline_curve = class _b_spline_curve extends bounded_curve {
|
|
|
49470
49500
|
}
|
|
49471
49501
|
get closed_curve() {
|
|
49472
49502
|
if (this.closed_curve_ === void 0) {
|
|
49473
|
-
this.closed_curve_ = this.
|
|
49503
|
+
this.closed_curve_ = this.extractLogical(4, 1, 4, false);
|
|
49474
49504
|
}
|
|
49475
49505
|
return this.closed_curve_;
|
|
49476
49506
|
}
|
|
49477
49507
|
get self_intersect() {
|
|
49478
49508
|
if (this.self_intersect_ === void 0) {
|
|
49479
|
-
this.self_intersect_ = this.
|
|
49509
|
+
this.self_intersect_ = this.extractLogical(5, 1, 4, false);
|
|
49480
49510
|
}
|
|
49481
49511
|
return this.self_intersect_;
|
|
49482
49512
|
}
|
|
@@ -49560,19 +49590,19 @@ var b_spline_surface = class _b_spline_surface extends bounded_surface {
|
|
|
49560
49590
|
}
|
|
49561
49591
|
get u_closed() {
|
|
49562
49592
|
if (this.u_closed_ === void 0) {
|
|
49563
|
-
this.u_closed_ = this.
|
|
49593
|
+
this.u_closed_ = this.extractLogical(5, 1, 4, false);
|
|
49564
49594
|
}
|
|
49565
49595
|
return this.u_closed_;
|
|
49566
49596
|
}
|
|
49567
49597
|
get v_closed() {
|
|
49568
49598
|
if (this.v_closed_ === void 0) {
|
|
49569
|
-
this.v_closed_ = this.
|
|
49599
|
+
this.v_closed_ = this.extractLogical(6, 1, 4, false);
|
|
49570
49600
|
}
|
|
49571
49601
|
return this.v_closed_;
|
|
49572
49602
|
}
|
|
49573
49603
|
get self_intersect() {
|
|
49574
49604
|
if (this.self_intersect_ === void 0) {
|
|
49575
|
-
this.self_intersect_ = this.
|
|
49605
|
+
this.self_intersect_ = this.extractLogical(7, 1, 4, false);
|
|
49576
49606
|
}
|
|
49577
49607
|
return this.self_intersect_;
|
|
49578
49608
|
}
|
|
@@ -49797,7 +49827,7 @@ var composite_curve = class _composite_curve extends bounded_curve {
|
|
|
49797
49827
|
}
|
|
49798
49828
|
get self_intersect() {
|
|
49799
49829
|
if (this.self_intersect_ === void 0) {
|
|
49800
|
-
this.self_intersect_ = this.
|
|
49830
|
+
this.self_intersect_ = this.extractLogical(2, 1, 4, false);
|
|
49801
49831
|
}
|
|
49802
49832
|
return this.self_intersect_;
|
|
49803
49833
|
}
|
|
@@ -58366,7 +58396,7 @@ var descriptions = [
|
|
|
58366
58396
|
},
|
|
58367
58397
|
product_definitional: {
|
|
58368
58398
|
kind: f.BOOLEAN,
|
|
58369
|
-
optional:
|
|
58399
|
+
optional: true,
|
|
58370
58400
|
derived: false,
|
|
58371
58401
|
offset: 3
|
|
58372
58402
|
},
|
|
@@ -63775,13 +63805,13 @@ var descriptions = [
|
|
|
63775
63805
|
},
|
|
63776
63806
|
closed_curve: {
|
|
63777
63807
|
kind: f.BOOLEAN,
|
|
63778
|
-
optional:
|
|
63808
|
+
optional: true,
|
|
63779
63809
|
derived: false,
|
|
63780
63810
|
offset: 4
|
|
63781
63811
|
},
|
|
63782
63812
|
self_intersect: {
|
|
63783
63813
|
kind: f.BOOLEAN,
|
|
63784
|
-
optional:
|
|
63814
|
+
optional: true,
|
|
63785
63815
|
derived: false,
|
|
63786
63816
|
offset: 5
|
|
63787
63817
|
},
|
|
@@ -63910,19 +63940,19 @@ var descriptions = [
|
|
|
63910
63940
|
},
|
|
63911
63941
|
u_closed: {
|
|
63912
63942
|
kind: f.BOOLEAN,
|
|
63913
|
-
optional:
|
|
63943
|
+
optional: true,
|
|
63914
63944
|
derived: false,
|
|
63915
63945
|
offset: 5
|
|
63916
63946
|
},
|
|
63917
63947
|
v_closed: {
|
|
63918
63948
|
kind: f.BOOLEAN,
|
|
63919
|
-
optional:
|
|
63949
|
+
optional: true,
|
|
63920
63950
|
derived: false,
|
|
63921
63951
|
offset: 6
|
|
63922
63952
|
},
|
|
63923
63953
|
self_intersect: {
|
|
63924
63954
|
kind: f.BOOLEAN,
|
|
63925
|
-
optional:
|
|
63955
|
+
optional: true,
|
|
63926
63956
|
derived: false,
|
|
63927
63957
|
offset: 7
|
|
63928
63958
|
},
|
|
@@ -64731,7 +64761,7 @@ var descriptions = [
|
|
|
64731
64761
|
},
|
|
64732
64762
|
self_intersect: {
|
|
64733
64763
|
kind: f.BOOLEAN,
|
|
64734
|
-
optional:
|
|
64764
|
+
optional: true,
|
|
64735
64765
|
derived: false,
|
|
64736
64766
|
offset: 2
|
|
64737
64767
|
},
|
|
@@ -64742,7 +64772,7 @@ var descriptions = [
|
|
|
64742
64772
|
},
|
|
64743
64773
|
closed_curve: {
|
|
64744
64774
|
kind: f.BOOLEAN,
|
|
64745
|
-
optional:
|
|
64775
|
+
optional: true,
|
|
64746
64776
|
derived: true
|
|
64747
64777
|
}
|
|
64748
64778
|
},
|
|
@@ -67128,7 +67158,7 @@ var descriptions = [
|
|
|
67128
67158
|
},
|
|
67129
67159
|
self_intersect: {
|
|
67130
67160
|
kind: f.BOOLEAN,
|
|
67131
|
-
optional:
|
|
67161
|
+
optional: true,
|
|
67132
67162
|
derived: false,
|
|
67133
67163
|
offset: 3
|
|
67134
67164
|
}
|
|
@@ -67155,7 +67185,7 @@ var descriptions = [
|
|
|
67155
67185
|
},
|
|
67156
67186
|
self_intersect: {
|
|
67157
67187
|
kind: f.BOOLEAN,
|
|
67158
|
-
optional:
|
|
67188
|
+
optional: true,
|
|
67159
67189
|
derived: false,
|
|
67160
67190
|
offset: 3
|
|
67161
67191
|
},
|
|
@@ -73653,7 +73683,7 @@ var descriptions = [
|
|
|
73653
73683
|
},
|
|
73654
73684
|
self_intersect: {
|
|
73655
73685
|
kind: f.BOOLEAN,
|
|
73656
|
-
optional:
|
|
73686
|
+
optional: true,
|
|
73657
73687
|
derived: false,
|
|
73658
73688
|
offset: 3
|
|
73659
73689
|
}
|
|
@@ -944,7 +944,7 @@ var EntityTypesIfcCount = 909;
|
|
|
944
944
|
var entity_types_ifc_gen_default = EntityTypesIfc;
|
|
945
945
|
|
|
946
946
|
// compiled/src/version/version.js
|
|
947
|
-
var versionString = "Conway v1.
|
|
947
|
+
var versionString = "Conway v1.529.1492";
|
|
948
948
|
|
|
949
949
|
// compiled/dependencies/conway-geom/interface/conway_geometry.js
|
|
950
950
|
var wasmType = "";
|
|
@@ -5810,9 +5810,17 @@ var StepModelBase = class _StepModelBase {
|
|
|
5810
5810
|
* extract reads `IfcIndexedPolygonalFace.CoordIndex` as integers —
|
|
5811
5811
|
* following those faces pinned ~78k records per PSB product. If
|
|
5812
5812
|
* omitted, `!descend` children use this span path (test helper).
|
|
5813
|
+
* @param claimed Optional out-set of the IDs *this call* claimed and
|
|
5814
|
+
* awaited residency for — a strict subset of `seen`. When `seen` is
|
|
5815
|
+
* shared across concurrent walks (a batch of products sharing mapped
|
|
5816
|
+
* geometry), an ID another walk claimed is skipped here and is NOT
|
|
5817
|
+
* resident yet from this call's point of view: that walk's pin holds
|
|
5818
|
+
* the chunk once it lands, but its read is still in flight. Anything
|
|
5819
|
+
* that must synchronously read a record's bytes after this returns
|
|
5820
|
+
* has to iterate `claimed`, never `seen` (conway#526).
|
|
5813
5821
|
* @return {Promise<Set<number>>} The local IDs that were visited.
|
|
5814
5822
|
*/
|
|
5815
|
-
async ensureResidentClosureByLocalID(localID, extraLocalIDs, seen = /* @__PURE__ */ new Set(), descend, leafSpans, spanLeaf) {
|
|
5823
|
+
async ensureResidentClosureByLocalID(localID, extraLocalIDs, seen = /* @__PURE__ */ new Set(), descend, leafSpans, spanLeaf, claimed) {
|
|
5816
5824
|
if (!this.isSourceExternal) {
|
|
5817
5825
|
return seen;
|
|
5818
5826
|
}
|
|
@@ -5837,6 +5845,7 @@ var StepModelBase = class _StepModelBase {
|
|
|
5837
5845
|
seen.add(id);
|
|
5838
5846
|
this.pinByLocalID(id);
|
|
5839
5847
|
wave.push(id);
|
|
5848
|
+
claimed?.add(id);
|
|
5840
5849
|
}
|
|
5841
5850
|
frontier.length = 0;
|
|
5842
5851
|
if (wave.length === 0) {
|
|
@@ -11280,6 +11289,27 @@ var StepEntityBase = class {
|
|
|
11280
11289
|
}
|
|
11281
11290
|
return value;
|
|
11282
11291
|
}
|
|
11292
|
+
/**
|
|
11293
|
+
* Extract a number at the particular vtable offset (i.e. the position
|
|
11294
|
+
* in the matching step object).
|
|
11295
|
+
*
|
|
11296
|
+
* Used by other extraction methods with wrappers to perform
|
|
11297
|
+
* semantically correct extraction.
|
|
11298
|
+
*
|
|
11299
|
+
* Unlike the other extractors this has a single signature rather than an
|
|
11300
|
+
* optional/non-optional overload pair, because LOGICAL is three-valued:
|
|
11301
|
+
* `.U.` is a legitimate value that reads as null, so a non-optional LOGICAL
|
|
11302
|
+
* is null-valued too and `optional` only decides whether a *missing* value
|
|
11303
|
+
* throws. The old `optional: false` overload promised a bare `boolean` and
|
|
11304
|
+
* was a lie for exactly the `.U.` case this extractor exists to handle.
|
|
11305
|
+
*
|
|
11306
|
+
* @param offset The offset in the vtable to extract from
|
|
11307
|
+
* @param baseOffset The base offset in the vtable to extract from
|
|
11308
|
+
* @param depth The depth of the vtable to extract from
|
|
11309
|
+
* @param optional Is this an optional field?
|
|
11310
|
+
* @return {boolean | null} The extracted logical, or null for `.U.` and for
|
|
11311
|
+
* an absent optional.
|
|
11312
|
+
*/
|
|
11283
11313
|
extractLogical(offset, baseOffset, depth, optional) {
|
|
11284
11314
|
const [cursor, endCursor, buffer] = this.getOffsetAndEndCursor(offset, baseOffset, depth);
|
|
11285
11315
|
const value = stepExtractLogical(buffer, cursor, endCursor);
|
|
@@ -15421,7 +15451,7 @@ var IfcLogical = class extends StepEntityBase {
|
|
|
15421
15451
|
}
|
|
15422
15452
|
get Value() {
|
|
15423
15453
|
if (this.Value_ === void 0) {
|
|
15424
|
-
this.Value_ = this.
|
|
15454
|
+
this.Value_ = this.extractLogical(0, 0, 0, false);
|
|
15425
15455
|
}
|
|
15426
15456
|
return this.Value_;
|
|
15427
15457
|
}
|
|
@@ -26543,7 +26573,7 @@ var IfcRelInterferesElements = class extends IfcRelConnects {
|
|
|
26543
26573
|
}
|
|
26544
26574
|
get ImpliedOrder() {
|
|
26545
26575
|
if (this.ImpliedOrder_ === void 0) {
|
|
26546
|
-
this.ImpliedOrder_ = this.
|
|
26576
|
+
this.ImpliedOrder_ = this.extractLogical(8, 4, 3, false);
|
|
26547
26577
|
}
|
|
26548
26578
|
return this.ImpliedOrder_;
|
|
26549
26579
|
}
|
|
@@ -64811,7 +64841,7 @@ var descriptions = [
|
|
|
64811
64841
|
},
|
|
64812
64842
|
ImpliedOrder: {
|
|
64813
64843
|
kind: f.BOOLEAN,
|
|
64814
|
-
optional:
|
|
64844
|
+
optional: true,
|
|
64815
64845
|
derived: false,
|
|
64816
64846
|
offset: 8
|
|
64817
64847
|
}
|
|
@@ -69783,7 +69813,7 @@ var descriptions = [
|
|
|
69783
69813
|
fields: {
|
|
69784
69814
|
Value: {
|
|
69785
69815
|
kind: f.BOOLEAN,
|
|
69786
|
-
optional:
|
|
69816
|
+
optional: true,
|
|
69787
69817
|
derived: false,
|
|
69788
69818
|
offset: 0
|
|
69789
69819
|
}
|
|
@@ -15,8 +15,8 @@ export declare class b_spline_curve extends bounded_curve {
|
|
|
15
15
|
get degree(): number;
|
|
16
16
|
get control_points_list(): Array<cartesian_point>;
|
|
17
17
|
get curve_form(): b_spline_curve_form;
|
|
18
|
-
get closed_curve(): boolean;
|
|
19
|
-
get self_intersect(): boolean;
|
|
18
|
+
get closed_curve(): boolean | null;
|
|
19
|
+
get self_intersect(): boolean | null;
|
|
20
20
|
get upper_index_on_control_points(): number;
|
|
21
21
|
get control_points(): Array<cartesian_point>;
|
|
22
22
|
constructor(localID: number, internalReference: StepEntityInternalReference<EntityTypesAP214>, model: StepModelBase<EntityTypesAP214, StepEntityBase<EntityTypesAP214>>, multiReference?: StepEntityInternalReference<EntityTypesAP214>[]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"b_spline_curve.gen.d.ts","sourceRoot":"","sources":["../../../../src/AP214E3_2010/AP214E3_2010_gen/b_spline_curve.gen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAsC,MAAM,SAAS,CAAA;AAajF,OAAO,gBAAgB,MAAM,0BAA0B,CAAA;AACvD,OAAO,2BAA2B,MAAM,2CAA2C,CAAA;AACnF,OAAO,cAAc,MAAM,6BAA6B,CAAA;AACxD,OAAO,aAAa,MAAM,4BAA4B,CAAA;AAItD,qBAAc,cAAe,SAAQ,aAAa;IAChD,IAAW,IAAI,IAAI,gBAAgB,CAElC;IACD,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,oBAAoB,CAAC,CAAyB;IACtD,OAAO,CAAC,WAAW,CAAC,CAAsB;IAC1C,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"b_spline_curve.gen.d.ts","sourceRoot":"","sources":["../../../../src/AP214E3_2010/AP214E3_2010_gen/b_spline_curve.gen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAsC,MAAM,SAAS,CAAA;AAajF,OAAO,gBAAgB,MAAM,0BAA0B,CAAA;AACvD,OAAO,2BAA2B,MAAM,2CAA2C,CAAA;AACnF,OAAO,cAAc,MAAM,6BAA6B,CAAA;AACxD,OAAO,aAAa,MAAM,4BAA4B,CAAA;AAItD,qBAAc,cAAe,SAAQ,aAAa;IAChD,IAAW,IAAI,IAAI,gBAAgB,CAElC;IACD,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,oBAAoB,CAAC,CAAyB;IACtD,OAAO,CAAC,WAAW,CAAC,CAAsB;IAC1C,OAAO,CAAC,aAAa,CAAC,CAAiB;IACvC,OAAO,CAAC,eAAe,CAAC,CAAiB;IAEzC,IAAW,MAAM,IAAK,MAAM,CAM3B;IAED,IAAW,mBAAmB,IAAK,KAAK,CAAC,eAAe,CAAC,CA+BxD;IAED,IAAW,UAAU,IAAK,mBAAmB,CAM5C;IAED,IAAW,YAAY,IAAK,OAAO,GAAG,IAAI,CAMzC;IAED,IAAW,cAAc,IAAK,OAAO,GAAG,IAAI,CAM3C;IAED,IAAW,6BAA6B,IAAK,MAAM,CAElD;IAED,IAAW,cAAc,IAAK,KAAK,CAAC,eAAe,CAAC,CAEnD;gBAEC,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,2BAA2B,CAAE,gBAAgB,CAAE,EAClE,KAAK,EAAE,aAAa,CAAE,gBAAgB,EAAE,cAAc,CAAE,gBAAgB,CAAE,CAAE,EAC5E,cAAc,CAAC,EAAE,2BAA2B,CAAE,gBAAgB,CAAE,EAAE;IAqBpE,gBAAuB,KAAK,qBAC0J;IAEtL,gBAAuB,YAAY,EAAE,gBAAgB,CACpB;CAClC"}
|
|
@@ -50,13 +50,13 @@ export class b_spline_curve extends bounded_curve {
|
|
|
50
50
|
}
|
|
51
51
|
get closed_curve() {
|
|
52
52
|
if (this.closed_curve_ === void 0) {
|
|
53
|
-
this.closed_curve_ = this.
|
|
53
|
+
this.closed_curve_ = this.extractLogical(4, 1, 4, false);
|
|
54
54
|
}
|
|
55
55
|
return this.closed_curve_;
|
|
56
56
|
}
|
|
57
57
|
get self_intersect() {
|
|
58
58
|
if (this.self_intersect_ === void 0) {
|
|
59
|
-
this.self_intersect_ = this.
|
|
59
|
+
this.self_intersect_ = this.extractLogical(5, 1, 4, false);
|
|
60
60
|
}
|
|
61
61
|
return this.self_intersect_;
|
|
62
62
|
}
|
|
@@ -18,9 +18,9 @@ export declare class b_spline_surface extends bounded_surface {
|
|
|
18
18
|
get v_degree(): number;
|
|
19
19
|
get control_points_list(): Array<Array<cartesian_point>>;
|
|
20
20
|
get surface_form(): b_spline_surface_form;
|
|
21
|
-
get u_closed(): boolean;
|
|
22
|
-
get v_closed(): boolean;
|
|
23
|
-
get self_intersect(): boolean;
|
|
21
|
+
get u_closed(): boolean | null;
|
|
22
|
+
get v_closed(): boolean | null;
|
|
23
|
+
get self_intersect(): boolean | null;
|
|
24
24
|
get u_upper(): number;
|
|
25
25
|
get v_upper(): number;
|
|
26
26
|
get control_points(): Array<Array<cartesian_point>>;
|