@ifc-lite/export 4.7.4 → 4.9.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/entity-subgraph.d.ts +56 -0
- package/dist/entity-subgraph.d.ts.map +1 -0
- package/dist/entity-subgraph.js +138 -0
- package/dist/entity-subgraph.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/lod0-generator.d.ts.map +1 -1
- package/dist/lod0-generator.js +4 -1
- package/dist/lod0-generator.js.map +1 -1
- package/dist/merged-empty-containers.d.ts +12 -8
- package/dist/merged-empty-containers.d.ts.map +1 -1
- package/dist/merged-empty-containers.js +8 -4
- package/dist/merged-empty-containers.js.map +1 -1
- package/dist/merged-exporter.d.ts +1 -1
- package/dist/merged-exporter.d.ts.map +1 -1
- package/dist/merged-exporter.js +25 -28
- package/dist/merged-exporter.js.map +1 -1
- package/dist/merged-guid.d.ts +4 -0
- package/dist/merged-guid.d.ts.map +1 -1
- package/dist/merged-guid.js +14 -0
- package/dist/merged-guid.js.map +1 -1
- package/dist/merged-inverse-claims.d.ts +154 -0
- package/dist/merged-inverse-claims.d.ts.map +1 -0
- package/dist/merged-inverse-claims.js +306 -0
- package/dist/merged-inverse-claims.js.map +1 -0
- package/dist/merged-planner-guids.d.ts +32 -0
- package/dist/merged-planner-guids.d.ts.map +1 -0
- package/dist/merged-planner-guids.js +79 -0
- package/dist/merged-planner-guids.js.map +1 -0
- package/dist/merged-subcontext.d.ts.map +1 -1
- package/dist/merged-subcontext.js +1 -0
- package/dist/merged-subcontext.js.map +1 -1
- package/dist/parquet-exporter.d.ts.map +1 -1
- package/dist/parquet-exporter.js +2 -0
- package/dist/parquet-exporter.js.map +1 -1
- package/dist/property-value-serialization.d.ts.map +1 -1
- package/dist/property-value-serialization.js +2 -1
- package/dist/property-value-serialization.js.map +1 -1
- package/dist/reference-collector.js +3 -0
- package/dist/reference-collector.js.map +1 -1
- package/dist/related-entities.d.ts.map +1 -1
- package/dist/related-entities.js +6 -0
- package/dist/related-entities.js.map +1 -1
- package/dist/remesh-context-roots.d.ts +36 -0
- package/dist/remesh-context-roots.d.ts.map +1 -0
- package/dist/remesh-context-roots.js +126 -0
- package/dist/remesh-context-roots.js.map +1 -0
- package/dist/step-collection.js +1 -1
- package/dist/step-collection.js.map +1 -1
- package/dist/step-coordinate-options.d.ts +27 -0
- package/dist/step-coordinate-options.d.ts.map +1 -0
- package/dist/step-coordinate-options.js +5 -0
- package/dist/step-coordinate-options.js.map +1 -0
- package/dist/step-export-progress.d.ts +4 -0
- package/dist/step-export-progress.d.ts.map +1 -0
- package/dist/step-export-progress.js +9 -0
- package/dist/step-export-progress.js.map +1 -0
- package/dist/step-export-types.d.ts +5 -7
- package/dist/step-export-types.d.ts.map +1 -1
- package/dist/step-export-types.js.map +1 -1
- package/dist/step-exporter.d.ts +1 -0
- package/dist/step-exporter.d.ts.map +1 -1
- package/dist/step-exporter.js +31 -18
- package/dist/step-exporter.js.map +1 -1
- package/dist/step-map-transform.d.ts +7 -0
- package/dist/step-map-transform.d.ts.map +1 -0
- package/dist/step-map-transform.js +89 -0
- package/dist/step-map-transform.js.map +1 -0
- package/dist/step-map-unit-normalization.d.ts +7 -0
- package/dist/step-map-unit-normalization.d.ts.map +1 -0
- package/dist/step-map-unit-normalization.js +190 -0
- package/dist/step-map-unit-normalization.js.map +1 -0
- package/dist/step-omission-predicates.d.ts +8 -0
- package/dist/step-omission-predicates.d.ts.map +1 -1
- package/dist/step-omission-predicates.js +11 -1
- package/dist/step-omission-predicates.js.map +1 -1
- package/dist/step-overlay-entities.d.ts.map +1 -1
- package/dist/step-overlay-entities.js +23 -1
- package/dist/step-overlay-entities.js.map +1 -1
- package/dist/step-pass-builder.d.ts.map +1 -1
- package/dist/step-pass-builder.js +1 -0
- package/dist/step-pass-builder.js.map +1 -1
- package/dist/step-property-set-collection.d.ts +2 -0
- package/dist/step-property-set-collection.d.ts.map +1 -1
- package/dist/step-property-set-collection.js +42 -21
- package/dist/step-property-set-collection.js.map +1 -1
- package/dist/step-property-set-generators.d.ts +1 -1
- package/dist/step-property-set-generators.d.ts.map +1 -1
- package/dist/step-property-set-generators.js +19 -2
- package/dist/step-property-set-generators.js.map +1 -1
- package/dist/step-property-set-index.js +5 -2
- package/dist/step-property-set-index.js.map +1 -1
- package/dist/step-property-sets.d.ts.map +1 -1
- package/dist/step-property-sets.js +5 -2
- package/dist/step-property-sets.js.map +1 -1
- package/dist/step-pset-copy-on-write.d.ts +75 -0
- package/dist/step-pset-copy-on-write.d.ts.map +1 -0
- package/dist/step-pset-copy-on-write.js +146 -0
- package/dist/step-pset-copy-on-write.js.map +1 -0
- package/dist/step-source-iteration.d.ts.map +1 -1
- package/dist/step-source-iteration.js +7 -0
- package/dist/step-source-iteration.js.map +1 -1
- package/package.json +9 -8
- package/dist/merged-decomposition-parents.d.ts +0 -99
- package/dist/merged-decomposition-parents.d.ts.map +0 -1
- package/dist/merged-decomposition-parents.js +0 -142
- package/dist/merged-decomposition-parents.js.map +0 -1
package/dist/merged-exporter.js
CHANGED
|
@@ -17,9 +17,10 @@ import { StepExporter } from './step-exporter.js';
|
|
|
17
17
|
import { rescaleEntityLengths, computeNormalizeFactor } from './unit-normalize.js';
|
|
18
18
|
import { planInfrastructureUnify, resolvePrimaryContextState } from './merged-context.js';
|
|
19
19
|
import { remapEntityText } from './merged-remap.js';
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
20
|
+
import { PlannerGuids } from './merged-planner-guids.js';
|
|
21
|
+
import { isRelationshipType, mintUniqueGuid, readLeadingGuid, replaceGlobalId, readLocalGuids, } from './merged-guid.js';
|
|
22
|
+
import { planEmptyContainerDrops, EMPTY_MODEL_VIEW, isSpatialContainerType, isStructureRelation, } from './merged-empty-containers.js';
|
|
23
|
+
import { InverseClaims, claimInverses, applyRelMemberStrip, applyInverseFolds } from './merged-inverse-claims.js';
|
|
23
24
|
/**
|
|
24
25
|
* UTF-8 decode of `[start, end)` of a model's source, accepting either the raw
|
|
25
26
|
* bytes or the {@link IfcSourceBytes} accessor (#2183). Replaces the direct
|
|
@@ -36,10 +37,6 @@ const SHARED_INFRASTRUCTURE_TYPES = new Set([
|
|
|
36
37
|
'IFCGEOMETRICREPRESENTATIONCONTEXT',
|
|
37
38
|
'IFCGEOMETRICREPRESENTATIONSUBCONTEXT',
|
|
38
39
|
]);
|
|
39
|
-
/** True for IfcRelationship subtypes (objectified relationships). */
|
|
40
|
-
function isRelationshipType(typeUpper) {
|
|
41
|
-
return typeUpper.startsWith('IFCREL');
|
|
42
|
-
}
|
|
43
40
|
/** Relative tolerance for comparing two length unit scale factors. */
|
|
44
41
|
const UNIT_SCALE_TOLERANCE = 1e-6;
|
|
45
42
|
/** SI prefix multipliers, for resolving prefixed area/volume units (rarely used). */
|
|
@@ -186,8 +183,8 @@ export class MergedExporter {
|
|
|
186
183
|
}
|
|
187
184
|
isFirstModel = false;
|
|
188
185
|
}
|
|
189
|
-
for (const warning of [...slotFill.warnings(), ...ifc4Slots.warnings(), ...enums.warnings()])
|
|
190
|
-
normalizeWarnings.add(warning);
|
|
186
|
+
for (const warning of [...slotFill.warnings(), ...ifc4Slots.warnings(), ...enums.warnings(), ...applyInverseFolds(allEntityLines, setup.parentClaims)])
|
|
187
|
+
normalizeWarnings.add(warning); // #5774 folds
|
|
191
188
|
// Assemble final file as Uint8Array chunks to avoid V8 string length limit
|
|
192
189
|
if (onProgress)
|
|
193
190
|
onProgress({ phase: 'assembling', percent: 0.9, entitiesProcessed: allEntityLines.length, entitiesTotal: allEntityLines.length });
|
|
@@ -328,8 +325,8 @@ export class MergedExporter {
|
|
|
328
325
|
}
|
|
329
326
|
isFirstModel = false;
|
|
330
327
|
}
|
|
331
|
-
for (const warning of [...slotFill.warnings(), ...ifc4Slots.warnings(), ...enums.warnings()])
|
|
332
|
-
normalizeWarnings.add(warning);
|
|
328
|
+
for (const warning of [...slotFill.warnings(), ...ifc4Slots.warnings(), ...enums.warnings(), ...applyInverseFolds(allEntityLines, setup.parentClaims)])
|
|
329
|
+
normalizeWarnings.add(warning); // #5774 folds
|
|
333
330
|
// Assembly phase
|
|
334
331
|
if (onProgress) {
|
|
335
332
|
onProgress({ phase: 'assembling', percent: 0.9, entitiesProcessed: totalEntities, entitiesTotal: totalEntities });
|
|
@@ -406,7 +403,8 @@ export class MergedExporter {
|
|
|
406
403
|
planContainerDrops(options, models, setup) {
|
|
407
404
|
if (!options.dropEmptyContainers)
|
|
408
405
|
return null;
|
|
409
|
-
const claims = new
|
|
406
|
+
const claims = new InverseClaims(options.schema || 'IFC4', isStructureRelation);
|
|
407
|
+
const guids = new PlannerGuids(scale => this.unitsCompatible(scale, setup.primaryScale), isSpatialContainerType);
|
|
410
408
|
const views = models.map((model, index) => {
|
|
411
409
|
const source = model.dataStore.source;
|
|
412
410
|
if (!source || source.length === 0)
|
|
@@ -419,7 +417,11 @@ export class MergedExporter {
|
|
|
419
417
|
}
|
|
420
418
|
const visibility = this.computeIncludedEntityIds(model, options, entities, source);
|
|
421
419
|
const claimParents = () => {
|
|
422
|
-
const
|
|
420
|
+
const typeOf = (id) => entities.get(id).type.toUpperCase(); // GlobalId unification the emit pass is sure to repeat (#5937)
|
|
421
|
+
const unified = guids.plan({ guids: readLocalGuids(entities, source), typeOf, isFirst: index === 0, compatible: mode.compatible, offset: setup.modelOffsets.get(model.id),
|
|
422
|
+
effectiveScale: mode.effectiveScale, isIncluded: id => visibility === null || visibility.included.has(id), keepsGuids: !needsConversion(model.dataStore.schemaVersion || 'IFC4', options.schema || 'IFC4'),
|
|
423
|
+
unifiedEarlier: id => sharedRemap.has(id) || (index > 0 && mode.compatible && setup.firstProjectIds.length > 0 && typeOf(id) === 'IFCPROJECT') });
|
|
424
|
+
const withheld = { sharedRemap: new Map([...sharedRemap, ...unified]), skipEntityIds: new Set(), relMemberStrip: new Map() };
|
|
423
425
|
this.claimParents(model, withheld, visibility, entities, index > 0 && mode.compatible, setup, claims);
|
|
424
426
|
return withheld;
|
|
425
427
|
};
|
|
@@ -431,10 +433,10 @@ export class MergedExporter {
|
|
|
431
433
|
count: plan.droppedCount,
|
|
432
434
|
};
|
|
433
435
|
}
|
|
434
|
-
/** One
|
|
436
|
+
/** One written rel per single-valued inverse (#5471, #5726, #5774): record this model's claims, stripping or folding ones already made. */
|
|
435
437
|
claimParents(model, plan, visibility, completeIndex, dedupe, setup, claims = setup.parentClaims) {
|
|
436
438
|
const hidden = visibility?.hiddenProductIds;
|
|
437
|
-
|
|
439
|
+
claimInverses({
|
|
438
440
|
...plan, dataStore: model.dataStore, idOffset: setup.modelOffsets.get(model.id), dedupe,
|
|
439
441
|
isIncluded: id => visibility === null || visibility.included.has(id),
|
|
440
442
|
isEmitted: id => !plan.droppedContainerIds?.has(id) && (hidden === undefined || (!hidden.has(id) && completeIndex.has(id))),
|
|
@@ -494,7 +496,7 @@ export class MergedExporter {
|
|
|
494
496
|
firstModelContext: resolvePrimaryContextState(firstModel.dataStore, firstModelInfraMap.get('IFCGEOMETRICREPRESENTATIONSUBCONTEXT') ?? [], primaryScale),
|
|
495
497
|
firstProjectIds: this.findEntitiesByType(firstModel.dataStore, 'IFCPROJECT'),
|
|
496
498
|
spatialLookup: this.buildSpatialLookup(firstModel.dataStore),
|
|
497
|
-
parentClaims: new
|
|
499
|
+
parentClaims: new InverseClaims(options.schema || 'IFC4'),
|
|
498
500
|
primaryScale,
|
|
499
501
|
primaryAreaScale: this.resolveDerivedUnitScale(firstModel.dataStore, 'AREAUNIT', primaryScale, 2),
|
|
500
502
|
primaryVolumeScale: this.resolveDerivedUnitScale(firstModel.dataStore, 'VOLUMEUNIT', primaryScale, 3),
|
|
@@ -682,14 +684,9 @@ export class MergedExporter {
|
|
|
682
684
|
const sharedRemap = new Map();
|
|
683
685
|
const skipEntityIds = new Set();
|
|
684
686
|
const guidRewrite = new Map();
|
|
685
|
-
const
|
|
687
|
+
const relMemberStrip = new Map();
|
|
686
688
|
// One cheap pass to read each rooted entity's GlobalId (first attribute).
|
|
687
|
-
const localGuids =
|
|
688
|
-
for (const [id, ref] of completeIndex) {
|
|
689
|
-
const guid = extractGlobalIdFast(ref, source);
|
|
690
|
-
if (guid !== null)
|
|
691
|
-
localGuids.set(id, guid);
|
|
692
|
-
}
|
|
689
|
+
const localGuids = readLocalGuids(completeIndex, source);
|
|
693
690
|
if (!isFirstModel && compatible) {
|
|
694
691
|
// Remap this model's IfcProject references → first model's IfcProject.
|
|
695
692
|
const projectIds = this.findEntitiesByType(model.dataStore, 'IFCPROJECT');
|
|
@@ -736,7 +733,7 @@ export class MergedExporter {
|
|
|
736
733
|
}
|
|
737
734
|
}
|
|
738
735
|
}
|
|
739
|
-
return { sharedRemap, skipEntityIds, guidRewrite, localGuids,
|
|
736
|
+
return { sharedRemap, skipEntityIds, guidRewrite, localGuids, relMemberStrip };
|
|
740
737
|
}
|
|
741
738
|
/**
|
|
742
739
|
* Render one source entity into its final STEP line: apply id offset + shared
|
|
@@ -791,11 +788,11 @@ export class MergedExporter {
|
|
|
791
788
|
return null;
|
|
792
789
|
entityText = kept;
|
|
793
790
|
}
|
|
794
|
-
// Drop
|
|
795
|
-
//
|
|
796
|
-
//
|
|
791
|
+
// Drop the claimed members of a partially redundant rel that already fill
|
|
792
|
+
// that single-valued inverse in the output (#5471, #5726) — see
|
|
793
|
+
// claimInverses / applyRelMemberStrip. Runs in LOCAL id
|
|
797
794
|
// space, before the remap below. `null` propagates like the passes above.
|
|
798
|
-
const stripped =
|
|
795
|
+
const stripped = applyRelMemberStrip(entityText, localId, plan.relMemberStrip);
|
|
799
796
|
if (stripped === null)
|
|
800
797
|
return null;
|
|
801
798
|
entityText = stripped;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merged-exporter.js","sourceRoot":"","sources":["../src/merged-exporter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"merged-exporter.js","sourceRoot":"","sources":["../src/merged-exporter.ts"],"names":[],"mappings":"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"}
|
package/dist/merged-guid.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { IfcSourceBytes } from '@ifc-lite/parser';
|
|
2
2
|
import type { ExportEntityRef } from './entity-iteration.js';
|
|
3
|
+
/** True for IfcRelationship subtypes (objectified relationships), which GlobalId reconciliation never unifies. */
|
|
4
|
+
export declare function isRelationshipType(typeUpper: string): boolean;
|
|
3
5
|
/**
|
|
4
6
|
* Whether `type` is an IfcRoot subtype — a schema-derived replacement for a
|
|
5
7
|
* hand-maintained denylist of "non-rooted types whose first attribute happens
|
|
@@ -40,6 +42,8 @@ export declare function mintUniqueGuid(original: string, modelId: string, emitte
|
|
|
40
42
|
* first attribute is not a GlobalId (geometry, lists, property atoms, …).
|
|
41
43
|
*/
|
|
42
44
|
export declare function extractGlobalIdFast(ref: ExportEntityRef, source: Uint8Array | IfcSourceBytes): string | null;
|
|
45
|
+
/** Every rooted entity's GlobalId, by local id in index order: what GlobalId reconciliation works from. */
|
|
46
|
+
export declare function readLocalGuids(index: Iterable<[number, ExportEntityRef]>, source: Uint8Array | IfcSourceBytes): Map<number, string>;
|
|
43
47
|
/**
|
|
44
48
|
* Replace an entity's GlobalId (first quoted attribute) with `newGuid`.
|
|
45
49
|
* `newGuid` is a 22-char IFC id (no quote in its charset), so this is safe.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merged-guid.d.ts","sourceRoot":"","sources":["../src/merged-guid.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAc7D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASjE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,MAAM,CAQR;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,UAAU,GAAG,cAAc,GAClC,MAAM,GAAG,IAAI,CAoBf;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAQ3E"}
|
|
1
|
+
{"version":3,"file":"merged-guid.d.ts","sourceRoot":"","sources":["../src/merged-guid.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAc7D,kHAAkH;AAClH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASjE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,MAAM,CAQR;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,UAAU,GAAG,cAAc,GAClC,MAAM,GAAG,IAAI,CAoBf;AAED,2GAA2G;AAC3G,wBAAgB,cAAc,CAC5B,KAAK,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,EAC1C,MAAM,EAAE,UAAU,GAAG,cAAc,GAClC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAOrB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAQ3E"}
|
package/dist/merged-guid.js
CHANGED
|
@@ -22,6 +22,10 @@ import { asSourceBytes } from '@ifc-lite/parser';
|
|
|
22
22
|
* reconciliation could drop or rename them.
|
|
23
23
|
*/
|
|
24
24
|
const GLOBAL_ID_RE = /^[0-9A-Za-z_$]{22}$/;
|
|
25
|
+
/** True for IfcRelationship subtypes (objectified relationships), which GlobalId reconciliation never unifies. */
|
|
26
|
+
export function isRelationshipType(typeUpper) {
|
|
27
|
+
return typeUpper.startsWith('IFCREL');
|
|
28
|
+
}
|
|
25
29
|
/**
|
|
26
30
|
* Whether `type` is an IfcRoot subtype — a schema-derived replacement for a
|
|
27
31
|
* hand-maintained denylist of "non-rooted types whose first attribute happens
|
|
@@ -109,6 +113,16 @@ export function extractGlobalIdFast(ref, source) {
|
|
|
109
113
|
const raw = head.slice(i + 1, close);
|
|
110
114
|
return GLOBAL_ID_RE.test(raw) ? raw : null;
|
|
111
115
|
}
|
|
116
|
+
/** Every rooted entity's GlobalId, by local id in index order: what GlobalId reconciliation works from. */
|
|
117
|
+
export function readLocalGuids(index, source) {
|
|
118
|
+
const guids = new Map();
|
|
119
|
+
for (const [id, ref] of index) {
|
|
120
|
+
const guid = extractGlobalIdFast(ref, source);
|
|
121
|
+
if (guid !== null)
|
|
122
|
+
guids.set(id, guid);
|
|
123
|
+
}
|
|
124
|
+
return guids;
|
|
125
|
+
}
|
|
112
126
|
/**
|
|
113
127
|
* Replace an entity's GlobalId (first quoted attribute) with `newGuid`.
|
|
114
128
|
* `newGuid` is a 22-char IFC id (no quote in its charset), so this is safe.
|
package/dist/merged-guid.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merged-guid.js","sourceRoot":"","sources":["../src/merged-guid.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"merged-guid.js","sourceRoot":"","sources":["../src/merged-guid.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One-relationship-per-inverse bookkeeping for a merge (#5471, #5726, #5774).
|
|
3
|
+
*
|
|
4
|
+
* A merge unifies entities (by GlobalId, and spatially), but never
|
|
5
|
+
* relationships: every model's rels are written, re-stamped. So an entity
|
|
6
|
+
* unified across two models is named by both models' rels, and where IFC
|
|
7
|
+
* bounds the inverse those rels fill to one (`SET [0:1]`), the output breaks
|
|
8
|
+
* it. {@link inverseRules} lists those inverses per output schema, and
|
|
9
|
+
* {@link claimInverses} is the one pass that keeps each of them to one.
|
|
10
|
+
*
|
|
11
|
+
* Split out of {@link ../merged-exporter.ts} (kept under its module-size
|
|
12
|
+
* budget) rather than duplicated: `findEntitiesByType`/`extractStepAttribute`
|
|
13
|
+
* stay the single source of truth in `MergedExporter` and are passed in here,
|
|
14
|
+
* so this file has no data-model logic of its own to drift from it.
|
|
15
|
+
*/
|
|
16
|
+
import type { IfcDataStore } from '@ifc-lite/parser';
|
|
17
|
+
import type { IfcSchemaVersion } from './schema-converter.js';
|
|
18
|
+
/**
|
|
19
|
+
* One relationship attribute whose entities carry a single-valued inverse:
|
|
20
|
+
* the entity named at `claimed` may be named there by at most one written rel
|
|
21
|
+
* (of any type sharing `inverse`).
|
|
22
|
+
*/
|
|
23
|
+
export interface InverseRule {
|
|
24
|
+
/** The EXPRESS inverse on the claimed entity. Rels that share an inverse share its claims. */
|
|
25
|
+
inverse: string;
|
|
26
|
+
/** Attribute index of the side that carries the inverse. */
|
|
27
|
+
claimed: number;
|
|
28
|
+
/** Attribute index of the other side: what the claimed entity is related to. */
|
|
29
|
+
partner: number;
|
|
30
|
+
/** A WHERE rule bounds the partner list to one, so nothing can be folded into it. */
|
|
31
|
+
onePartner?: true;
|
|
32
|
+
/** The bound is this WHERE rule, not the inverse's cardinality (IFC2X3 `IfcObject.WR1`). */
|
|
33
|
+
where?: string;
|
|
34
|
+
}
|
|
35
|
+
type RuleTable = ReadonlyMap<string, readonly InverseRule[]>;
|
|
36
|
+
/** The rule table of an output schema (IFC5 falls back to IFC4X3's). */
|
|
37
|
+
export declare function inverseRules(outputSchema: IfcSchemaVersion): RuleTable;
|
|
38
|
+
/** The written rel a single-valued claimed entity already belongs to. */
|
|
39
|
+
interface Owner {
|
|
40
|
+
/** Final express id of the rel. */
|
|
41
|
+
rel: number;
|
|
42
|
+
/** Its type: a rel folds only into an owner of its own type (an override is not a plain definition). */
|
|
43
|
+
relType: string;
|
|
44
|
+
/** Attribute index of its partner side. */
|
|
45
|
+
partnerIndex: number;
|
|
46
|
+
/** Final ids already on its partner side. */
|
|
47
|
+
partners: Set<number>;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Which final ids already fill each single-valued inverse in the merge output.
|
|
51
|
+
* One instance per merge, grown model by model in merge order.
|
|
52
|
+
*/
|
|
53
|
+
export declare class InverseClaims {
|
|
54
|
+
/** Relationship type (uppercase) → the rules it is claimed under. */
|
|
55
|
+
readonly rules: ReadonlyMap<string, readonly InverseRule[]>;
|
|
56
|
+
/** Claimed through a list side (RelatedObjects, RelatedElements): the ids alone. */
|
|
57
|
+
private readonly members;
|
|
58
|
+
/** Claimed through a single side (RelatingPropertyDefinition): the rel that owns each. */
|
|
59
|
+
private readonly owners;
|
|
60
|
+
/** Final rel id → partner ids a later, folded rel adds to its partner list. */
|
|
61
|
+
readonly folds: Map<number, {
|
|
62
|
+
partnerIndex: number;
|
|
63
|
+
ids: number[];
|
|
64
|
+
}>;
|
|
65
|
+
/** Later rels withheld with partners no owner could take: final rel id → how many. */
|
|
66
|
+
readonly unfolded: Map<number, number>;
|
|
67
|
+
/** `only` narrows the claimed relationship types (the #5725 drop planner's view). */
|
|
68
|
+
constructor(outputSchema: IfcSchemaVersion, only?: (relType: string) => boolean);
|
|
69
|
+
membersOf(inverse: string): Set<number>;
|
|
70
|
+
ownersOf(inverse: string): Map<number, Owner>;
|
|
71
|
+
/** Move `ids` onto `owner`'s partner list, in place of a rel that would have been a second one. */
|
|
72
|
+
fold(owner: Owner, ids: number[]): void;
|
|
73
|
+
}
|
|
74
|
+
/** What {@link claimInverses} needs to know about one model's plan. */
|
|
75
|
+
export interface InverseClaimInput {
|
|
76
|
+
dataStore: IfcDataStore;
|
|
77
|
+
/** Local id → final id for every unified entity (spatial, infrastructure, GlobalId). */
|
|
78
|
+
sharedRemap: ReadonlyMap<number, number>;
|
|
79
|
+
/** This model's id offset: an unremapped local id's final id is `id + idOffset`. */
|
|
80
|
+
idOffset: number;
|
|
81
|
+
/** Local ids not written; a skipped rel claims nothing, and a rel skipped here is added. */
|
|
82
|
+
skipEntityIds: Set<number>;
|
|
83
|
+
/** Local rel id → member ids to drop from its written claimed list. */
|
|
84
|
+
relMemberStrip: Map<number, Set<number>>;
|
|
85
|
+
/**
|
|
86
|
+
* Whether a local id survives into the output as a reference: false for a
|
|
87
|
+
* hidden product under `visibleOnly` or a dropped empty container, which
|
|
88
|
+
* `renderEntity` narrows out of (or, as a single-valued ref, withholds) the rel.
|
|
89
|
+
*/
|
|
90
|
+
isEmitted: (localId: number) => boolean;
|
|
91
|
+
/** Whether the rel line itself is in the written set at all (visibility closure). */
|
|
92
|
+
isIncluded: (localId: number) => boolean;
|
|
93
|
+
/** Strip already-claimed members (a later, unified model); false just records claims. */
|
|
94
|
+
dedupe: boolean;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Keep one written rel per entity and single-valued inverse across a merge
|
|
98
|
+
* (#5471, #5726, #5774).
|
|
99
|
+
*
|
|
100
|
+
* Called once per model in merge order, after all of that model's unification
|
|
101
|
+
* and container drops. `claims` holds what the output already says: every rel
|
|
102
|
+
* the model will write records its claims. A rel that will not be written
|
|
103
|
+
* (skipped, outside the visibility closure, or with a hidden or dropped
|
|
104
|
+
* single-valued side) claims nothing, and neither does a member narrowed out
|
|
105
|
+
* of it, so a later model's rel stays in place for an entity whose primary rel
|
|
106
|
+
* is not in the output.
|
|
107
|
+
*
|
|
108
|
+
* With `dedupe`, a later rel naming an already-claimed entity is resolved by
|
|
109
|
+
* the claimed side's shape:
|
|
110
|
+
* - a LIST side (an object's parent, #5471): the claimed members are stripped
|
|
111
|
+
* into `relMemberStrip` for {@link applyRelMemberStrip}, and a rel left with
|
|
112
|
+
* none is skipped. The first parent wins. A unified member with no parent yet
|
|
113
|
+
* is kept, since that rel is then its only parentage statement (#3550).
|
|
114
|
+
* - a SINGLE side (a property set's one definer, #5774): the rel is skipped.
|
|
115
|
+
* If its partner side is a list naming objects the owning rel does not, those
|
|
116
|
+
* are folded into the owning rel ({@link InverseClaims.fold}, written by
|
|
117
|
+
* {@link applyInverseFolds}), so the entity keeps one rel and loses no member.
|
|
118
|
+
* Where no fold is possible (a single partner, an owner of another rel type,
|
|
119
|
+
* or a partner list a WHERE rule bounds to one) the first rel wins, and
|
|
120
|
+
* {@link applyInverseFolds} reports the objects that lost the relationship.
|
|
121
|
+
*/
|
|
122
|
+
export declare function claimInverses(input: InverseClaimInput, claims: InverseClaims, findEntitiesByType: (dataStore: IfcDataStore, typeUpper: string) => number[], extractStepAttribute: (expressId: number, dataStore: IfcDataStore, attrIndex: number) => string | null): void;
|
|
123
|
+
/**
|
|
124
|
+
* Render-time counterpart of {@link claimInverses}: drop the claimed members
|
|
125
|
+
* of a partially redundant rel that already fill that inverse in the output.
|
|
126
|
+
* Reuses the same list/scalar-aware ref filter the `visibleOnly`/deletion
|
|
127
|
+
* dangling-ref path uses. Must run in LOCAL id space, before any id
|
|
128
|
+
* offset/remap — `localId` and the ids inside `relMemberStrip` are both local
|
|
129
|
+
* to the model being rendered.
|
|
130
|
+
*
|
|
131
|
+
* Returns `entityText` unchanged when `localId` has no strip entry, and
|
|
132
|
+
* `null` when the filter would withhold the whole line — a strip set built
|
|
133
|
+
* by {@link claimInverses} is a strict subset of the claimed list, so for
|
|
134
|
+
* well-formed input the filter only narrows, but a degenerate file (a
|
|
135
|
+
* stripped member id that also appears as a single-valued ref, e.g.
|
|
136
|
+
* self-aggregation) can null the line. The caller must withhold it, like
|
|
137
|
+
* every other user of the filter: every edge the line declared is already
|
|
138
|
+
* declared by the primary model, and emitting the unfiltered bytes instead
|
|
139
|
+
* would reintroduce the duplicate membership this module exists to remove.
|
|
140
|
+
*/
|
|
141
|
+
export declare function applyRelMemberStrip(entityText: string, localId: number, relMemberStrip: ReadonlyMap<number, ReadonlySet<number>>): string | null;
|
|
142
|
+
/**
|
|
143
|
+
* Write the folds of {@link claimInverses} into the rendered output: each
|
|
144
|
+
* owning rel's partner list gains the members of the later rels folded into
|
|
145
|
+
* it. Runs once, on the final lines (final id space), after every model is
|
|
146
|
+
* rendered, since an owner may be written before the rel that folds into it.
|
|
147
|
+
* Returns a warning per later rel whose objects lost the relationship: one
|
|
148
|
+
* no owner could take (a different rel type, or a partner list bounded to
|
|
149
|
+
* one), and one folded into an owner that did not reach the output as a line
|
|
150
|
+
* with a partner list.
|
|
151
|
+
*/
|
|
152
|
+
export declare function applyInverseFolds(lines: string[], claims: InverseClaims): string[];
|
|
153
|
+
export {};
|
|
154
|
+
//# sourceMappingURL=merged-inverse-claims.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merged-inverse-claims.d.ts","sourceRoot":"","sources":["../src/merged-inverse-claims.ts"],"names":[],"mappings":"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"}
|