@ifc-lite/export 4.5.0 → 4.7.4
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 +5 -5
- package/dist/appearance-dependencies.d.ts.map +1 -1
- package/dist/appearance-dependencies.js +1 -0
- package/dist/appearance-dependencies.js.map +1 -1
- package/dist/attribute-real-slots.d.ts.map +1 -1
- package/dist/attribute-real-slots.js +7 -1
- package/dist/attribute-real-slots.js.map +1 -1
- package/dist/attribute-slot-types.js +2 -2
- package/dist/attribute-slot-types.js.map +1 -1
- package/dist/demesh-prune.d.ts.map +1 -1
- package/dist/demesh-prune.js +1 -0
- package/dist/demesh-prune.js.map +1 -1
- package/dist/demesh-writer.d.ts.map +1 -1
- package/dist/demesh-writer.js +1 -0
- package/dist/demesh-writer.js.map +1 -1
- package/dist/effective-index.d.ts.map +1 -1
- package/dist/effective-index.js +2 -0
- package/dist/effective-index.js.map +1 -1
- package/dist/entity-iteration.d.ts.map +1 -1
- package/dist/entity-iteration.js +1 -0
- package/dist/entity-iteration.js.map +1 -1
- package/dist/entity-type-sets.js +2 -2
- package/dist/entity-type-sets.js.map +1 -1
- package/dist/generated/ifc4-required-slots.d.ts +17 -0
- package/dist/generated/ifc4-required-slots.d.ts.map +1 -0
- package/dist/generated/ifc4-required-slots.js +619 -0
- package/dist/generated/ifc4-required-slots.js.map +1 -0
- package/dist/georef-closure.d.ts.map +1 -1
- package/dist/georef-closure.js +5 -0
- package/dist/georef-closure.js.map +1 -1
- package/dist/ifc5-effective-rows.d.ts +16 -0
- package/dist/ifc5-effective-rows.d.ts.map +1 -0
- package/dist/ifc5-effective-rows.js +90 -0
- package/dist/ifc5-effective-rows.js.map +1 -0
- package/dist/ifc5-export-helpers.d.ts +19 -0
- package/dist/ifc5-export-helpers.d.ts.map +1 -1
- package/dist/ifc5-export-helpers.js +16 -0
- package/dist/ifc5-export-helpers.js.map +1 -1
- package/dist/ifc5-exporter.d.ts +9 -11
- package/dist/ifc5-exporter.d.ts.map +1 -1
- package/dist/ifc5-exporter.js +38 -95
- package/dist/ifc5-exporter.js.map +1 -1
- package/dist/ifc5-pset-properties.d.ts +61 -0
- package/dist/ifc5-pset-properties.d.ts.map +1 -0
- package/dist/ifc5-pset-properties.js +100 -0
- package/dist/ifc5-pset-properties.js.map +1 -0
- package/dist/ifc5-tree-scope.js +3 -0
- package/dist/ifc5-tree-scope.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lod0-generator.d.ts.map +1 -1
- package/dist/lod0-generator.js +2 -0
- package/dist/lod0-generator.js.map +1 -1
- package/dist/merged-context.d.ts.map +1 -1
- package/dist/merged-context.js +3 -0
- package/dist/merged-context.js.map +1 -1
- package/dist/merged-decomposition-parents.d.ts +99 -0
- package/dist/merged-decomposition-parents.d.ts.map +1 -0
- package/dist/merged-decomposition-parents.js +142 -0
- package/dist/merged-decomposition-parents.js.map +1 -0
- package/dist/merged-empty-containers-refs.d.ts +24 -0
- package/dist/merged-empty-containers-refs.d.ts.map +1 -0
- package/dist/merged-empty-containers-refs.js +126 -0
- package/dist/merged-empty-containers-refs.js.map +1 -0
- package/dist/merged-empty-containers.d.ts +31 -0
- package/dist/merged-empty-containers.d.ts.map +1 -1
- package/dist/merged-empty-containers.js +14 -123
- package/dist/merged-empty-containers.js.map +1 -1
- package/dist/merged-exporter.d.ts +7 -18
- package/dist/merged-exporter.d.ts.map +1 -1
- package/dist/merged-exporter.js +80 -70
- package/dist/merged-exporter.js.map +1 -1
- package/dist/merged-header.d.ts +11 -0
- package/dist/merged-header.d.ts.map +1 -0
- package/dist/merged-header.js +23 -0
- package/dist/merged-header.js.map +1 -0
- package/dist/nonrel-positional-ref-narrowing.d.ts +3 -0
- package/dist/nonrel-positional-ref-narrowing.d.ts.map +1 -0
- package/dist/nonrel-positional-ref-narrowing.js +194 -0
- package/dist/nonrel-positional-ref-narrowing.js.map +1 -0
- package/dist/nonrel-ref-list-types.d.ts +13 -0
- package/dist/nonrel-ref-list-types.d.ts.map +1 -0
- package/dist/nonrel-ref-list-types.js +162 -0
- package/dist/nonrel-ref-list-types.js.map +1 -0
- package/dist/parquet-created-entity-rows.d.ts +20 -0
- package/dist/parquet-created-entity-rows.d.ts.map +1 -0
- package/dist/parquet-created-entity-rows.js +40 -0
- package/dist/parquet-created-entity-rows.js.map +1 -0
- package/dist/parquet-exporter-ondemand.d.ts +3 -2
- package/dist/parquet-exporter-ondemand.d.ts.map +1 -1
- package/dist/parquet-exporter-ondemand.js +15 -6
- package/dist/parquet-exporter-ondemand.js.map +1 -1
- package/dist/parquet-exporter.d.ts +5 -12
- package/dist/parquet-exporter.d.ts.map +1 -1
- package/dist/parquet-exporter.js +57 -84
- package/dist/parquet-exporter.js.map +1 -1
- package/dist/parquet-relationship-rows.d.ts +11 -0
- package/dist/parquet-relationship-rows.d.ts.map +1 -0
- package/dist/parquet-relationship-rows.js +57 -0
- package/dist/parquet-relationship-rows.js.map +1 -0
- package/dist/parquet-spatial-rows.d.ts +14 -0
- package/dist/parquet-spatial-rows.d.ts.map +1 -0
- package/dist/parquet-spatial-rows.js +57 -0
- package/dist/parquet-spatial-rows.js.map +1 -0
- package/dist/reference-collector.d.ts +17 -1
- package/dist/reference-collector.d.ts.map +1 -1
- package/dist/reference-collector.js +30 -1
- package/dist/reference-collector.js.map +1 -1
- package/dist/registry-entity-names.d.ts +3 -0
- package/dist/registry-entity-names.d.ts.map +1 -0
- package/dist/registry-entity-names.js +38 -0
- package/dist/registry-entity-names.js.map +1 -0
- package/dist/relationship-slot-bounds.d.ts +14 -0
- package/dist/relationship-slot-bounds.d.ts.map +1 -0
- package/dist/relationship-slot-bounds.js +64 -0
- package/dist/relationship-slot-bounds.js.map +1 -0
- package/dist/retype.d.ts.map +1 -1
- package/dist/retype.js +5 -2
- package/dist/retype.js.map +1 -1
- package/dist/schema-conversion-loss-report.d.ts +97 -0
- package/dist/schema-conversion-loss-report.d.ts.map +1 -0
- package/dist/schema-conversion-loss-report.js +116 -0
- package/dist/schema-conversion-loss-report.js.map +1 -0
- package/dist/schema-converter-attr-remap.d.ts +8 -0
- package/dist/schema-converter-attr-remap.d.ts.map +1 -1
- package/dist/schema-converter-attr-remap.js +14 -1
- package/dist/schema-converter-attr-remap.js.map +1 -1
- package/dist/schema-converter-enums.d.ts +27 -0
- package/dist/schema-converter-enums.d.ts.map +1 -0
- package/dist/schema-converter-enums.js +117 -0
- package/dist/schema-converter-enums.js.map +1 -0
- package/dist/schema-converter-ifc4-slots.d.ts +36 -0
- package/dist/schema-converter-ifc4-slots.d.ts.map +1 -0
- package/dist/schema-converter-ifc4-slots.js +70 -0
- package/dist/schema-converter-ifc4-slots.js.map +1 -0
- package/dist/schema-converter.d.ts +41 -19
- package/dist/schema-converter.d.ts.map +1 -1
- package/dist/schema-converter.js +73 -42
- package/dist/schema-converter.js.map +1 -1
- package/dist/schema-enum-policy.d.ts +48 -0
- package/dist/schema-enum-policy.d.ts.map +1 -0
- package/dist/schema-enum-policy.js +26 -0
- package/dist/schema-enum-policy.js.map +1 -0
- package/dist/schema-untranslatable.d.ts +84 -2
- package/dist/schema-untranslatable.d.ts.map +1 -1
- package/dist/schema-untranslatable.js +98 -3
- package/dist/schema-untranslatable.js.map +1 -1
- package/dist/step-collection.js +1 -1
- package/dist/step-collection.js.map +1 -1
- package/dist/step-export-types.d.ts +13 -3
- package/dist/step-export-types.d.ts.map +1 -1
- package/dist/step-exporter.d.ts.map +1 -1
- package/dist/step-exporter.js +4 -2
- package/dist/step-exporter.js.map +1 -1
- package/dist/step-georeferencing.js +2 -0
- package/dist/step-georeferencing.js.map +1 -1
- package/dist/step-header.d.ts.map +1 -1
- package/dist/step-header.js +1 -0
- package/dist/step-header.js.map +1 -1
- package/dist/step-map-unit.d.ts.map +1 -1
- package/dist/step-map-unit.js +4 -0
- package/dist/step-map-unit.js.map +1 -1
- package/dist/step-overlay-entities.d.ts.map +1 -1
- package/dist/step-overlay-entities.js +5 -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 +8 -1
- package/dist/step-pass-builder.js.map +1 -1
- package/dist/step-property-set-generators.d.ts.map +1 -1
- package/dist/step-property-set-generators.js +17 -0
- package/dist/step-property-set-generators.js.map +1 -1
- package/dist/step-property-set-index.d.ts +4 -10
- package/dist/step-property-set-index.d.ts.map +1 -1
- package/dist/step-property-set-index.js +52 -8
- package/dist/step-property-set-index.js.map +1 -1
- package/dist/step-property-set-readers.d.ts.map +1 -1
- package/dist/step-property-set-readers.js +4 -0
- package/dist/step-property-set-readers.js.map +1 -1
- package/dist/step-ref-scan.d.ts +6 -0
- package/dist/step-ref-scan.d.ts.map +1 -0
- package/dist/step-ref-scan.js +52 -0
- package/dist/step-ref-scan.js.map +1 -0
- package/dist/step-serialization.d.ts.map +1 -1
- package/dist/step-serialization.js +18 -2
- package/dist/step-serialization.js.map +1 -1
- package/dist/step-shared-atom-retention.d.ts +5 -0
- package/dist/step-shared-atom-retention.d.ts.map +1 -0
- package/dist/step-shared-atom-retention.js +60 -0
- package/dist/step-shared-atom-retention.js.map +1 -0
- package/dist/step-source-iteration.d.ts +1 -1
- package/dist/step-source-iteration.d.ts.map +1 -1
- package/dist/step-source-iteration.js +50 -45
- package/dist/step-source-iteration.js.map +1 -1
- package/dist/style-closure.d.ts.map +1 -1
- package/dist/style-closure.js +11 -0
- package/dist/style-closure.js.map +1 -1
- package/dist/subset-entity-reader.d.ts.map +1 -1
- package/dist/subset-entity-reader.js +3 -2
- package/dist/subset-entity-reader.js.map +1 -1
- package/dist/subset-roots.js +2 -2
- package/dist/subset-roots.js.map +1 -1
- package/package.json +11 -10
- package/dist/merged-rel-aggregates.d.ts +0 -63
- package/dist/merged-rel-aggregates.d.ts.map +0 -1
- package/dist/merged-rel-aggregates.js +0 -122
- package/dist/merged-rel-aggregates.js.map +0 -1
|
@@ -36,6 +36,35 @@ export interface EmptyContainerModelView {
|
|
|
36
36
|
offset: number;
|
|
37
37
|
/** True when the model unifies into the first model's project / unit space. */
|
|
38
38
|
compatible: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Run this model's one-parent claim pass (#5471) and return the aggregation
|
|
41
|
+
* edges it withholds. Called once per model in merge order, on a claim set
|
|
42
|
+
* of the plan's own. Omitted: every edge counts.
|
|
43
|
+
*
|
|
44
|
+
* The drops must be known before emission, yet the emit-time claim pass
|
|
45
|
+
* withholds aggregation edges, and a container that loses its only edge is
|
|
46
|
+
* empty (#5725). This pass runs with no drops applied, and that is already
|
|
47
|
+
* the fixed point: a claim that would differ once drops are known needs a
|
|
48
|
+
* dropped parent, but a parent whose kept edge reaches a kept child is kept
|
|
49
|
+
* itself. That holds only if this pass never withholds an edge the emit pass
|
|
50
|
+
* writes, or a still-full child loses its only parent. So it may see LESS
|
|
51
|
+
* than the emit pass, never more. It claims only through
|
|
52
|
+
* {@link isStructureRelation} types, and resolves ids through `sharedRemap`
|
|
53
|
+
* (spatial unification, which the emit pass repeats exactly), not through
|
|
54
|
+
* this module's GlobalId canonicalisation, which the emit pass does not
|
|
55
|
+
* always repeat (a GlobalId duplicated within one model, or an
|
|
56
|
+
* `assume-shared` emitter in another unit). What it misses is an edge the
|
|
57
|
+
* emit pass withholds and this one counts, which only keeps a container
|
|
58
|
+
* (#3643's behaviour before #5725).
|
|
59
|
+
*/
|
|
60
|
+
claimParents?: () => WithheldParents;
|
|
61
|
+
}
|
|
62
|
+
/** Aggregation edges the one-parent pass keeps out of the output (#5725). */
|
|
63
|
+
export interface WithheldParents {
|
|
64
|
+
/** Rels skipped outright: every member already had a parent. */
|
|
65
|
+
skipEntityIds: ReadonlySet<number>;
|
|
66
|
+
/** Rel → members stripped from its RelatedObjects list. */
|
|
67
|
+
relParentStrip: ReadonlyMap<number, ReadonlySet<number>>;
|
|
39
68
|
}
|
|
40
69
|
/** Which containers the emit loop must not write. */
|
|
41
70
|
export interface EmptyContainerPlan {
|
|
@@ -45,6 +74,8 @@ export interface EmptyContainerPlan {
|
|
|
45
74
|
* across three inputs counts once). */
|
|
46
75
|
droppedCount: number;
|
|
47
76
|
}
|
|
77
|
+
/** True when `typeUpper` is a relationship the analysis counts as spatial structure. */
|
|
78
|
+
export declare function isStructureRelation(typeUpper: string): boolean;
|
|
48
79
|
/**
|
|
49
80
|
* A model with nothing to analyse — the placeholder for an input whose source
|
|
50
81
|
* bytes are missing (a cache-restored, metadata-only store), which the emit loop
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merged-empty-containers.d.ts","sourceRoot":"","sources":["../src/merged-empty-containers.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"merged-empty-containers.d.ts","sourceRoot":"","sources":["../src/merged-empty-containers.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAwBjE,mEAAmE;AACnE,MAAM,WAAW,uBAAuB;IACtC,wDAAwD;IACxD,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,gCAAgC;IAChC,MAAM,EAAE,cAAc,CAAC;IACvB,uEAAuE;IACvE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACrC;2DACuD;IACvD,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,YAAY,CAAC,EAAE,MAAM,eAAe,CAAC;CACtC;AAED,6EAA6E;AAC7E,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,2DAA2D;IAC3D,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;CAC1D;AAED,qDAAqD;AACrD,MAAM,WAAW,kBAAkB;IACjC,qEAAqE;IACrE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;IAC9B;4CACwC;IACxC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wFAAwF;AACxF,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE9D;AAOD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,uBAO9B,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,EAAE,GAAG,kBAAkB,CA2C7F"}
|
|
@@ -2,16 +2,7 @@
|
|
|
2
2
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
4
|
import { asSourceBytes } from '@ifc-lite/parser';
|
|
5
|
-
import {
|
|
6
|
-
import { BARE_REF_RE } from './reference-collector.js';
|
|
7
|
-
/**
|
|
8
|
-
* `#N=TYPE(...)` record, with STEP trivia (whitespace and/or a
|
|
9
|
-
* `/* ... */` comment, #3789) tolerated between the type name and `(` —
|
|
10
|
-
* same adjacency fix as `entity-extractor.ts`'s `extractEntity`. Without it
|
|
11
|
-
* a wrapped line's arguments are unreadable here (`topLevelAttrs` returns
|
|
12
|
-
* `null`), which the caller treats as "can't safely rewrite" and blocks the
|
|
13
|
-
* empty-container drop for that entity.
|
|
14
|
-
*/
|
|
5
|
+
import { argRefs, classifyRefs, leadingGuid, refList, singleRef, topLevelAttrs } from './merged-empty-containers-refs.js';
|
|
15
6
|
/**
|
|
16
7
|
* Spatial container types dropped when they end up empty. `IfcProject` is
|
|
17
8
|
* deliberately absent: it is the file's root, never a candidate.
|
|
@@ -32,6 +23,10 @@ const STRUCTURE_RELATIONS = {
|
|
|
32
23
|
IFCRELCONTAINEDINSPATIALSTRUCTURE: [5, 4],
|
|
33
24
|
IFCRELREFERENCEDINSPATIALSTRUCTURE: [5, 4],
|
|
34
25
|
};
|
|
26
|
+
/** True when `typeUpper` is a relationship the analysis counts as spatial structure. */
|
|
27
|
+
export function isStructureRelation(typeUpper) {
|
|
28
|
+
return typeUpper in STRUCTURE_RELATIONS;
|
|
29
|
+
}
|
|
35
30
|
/** True when `typeUpper` is a droppable spatial container type. */
|
|
36
31
|
function isSpatialContainerType(typeUpper) {
|
|
37
32
|
return CONTAINER_TYPES.has(typeUpper);
|
|
@@ -70,7 +65,7 @@ export function planEmptyContainerDrops(models) {
|
|
|
70
65
|
containersByModel.push(canon);
|
|
71
66
|
for (const node of canon.values())
|
|
72
67
|
nodes.add(node);
|
|
73
|
-
recordEdges(view, canon, hasContent, parents);
|
|
68
|
+
recordEdges(view, canon, hasContent, parents, view.claimParents?.());
|
|
74
69
|
recordBlocks(view, canon, blocked);
|
|
75
70
|
}
|
|
76
71
|
// A container is non-empty when it holds something, is blocked, or has a
|
|
@@ -138,14 +133,17 @@ function canonicalContainers(view, guidNode) {
|
|
|
138
133
|
/**
|
|
139
134
|
* Record what this model contributes to each container: contained elements and
|
|
140
135
|
* aggregated objects become content; aggregated spatial children become upward
|
|
141
|
-
* edges, so a non-empty storey keeps its building and its site.
|
|
136
|
+
* edges, so a non-empty storey keeps its building and its site. An aggregation
|
|
137
|
+
* edge the one-parent pass withholds is never written, so it counts for nothing.
|
|
142
138
|
*/
|
|
143
|
-
function recordEdges(view, canon, hasContent, parents) {
|
|
139
|
+
function recordEdges(view, canon, hasContent, parents, withheld) {
|
|
144
140
|
if (canon.size === 0)
|
|
145
141
|
return;
|
|
146
142
|
for (const [localId, ref] of view.entities) {
|
|
147
143
|
if (view.included !== null && !view.included.has(localId))
|
|
148
144
|
continue;
|
|
145
|
+
if (withheld?.skipEntityIds.has(localId))
|
|
146
|
+
continue;
|
|
149
147
|
const slots = STRUCTURE_RELATIONS[ref.type.toUpperCase()];
|
|
150
148
|
if (slots === undefined)
|
|
151
149
|
continue;
|
|
@@ -161,9 +159,12 @@ function recordEdges(view, canon, hasContent, parents) {
|
|
|
161
159
|
const parent = canon.get(relating);
|
|
162
160
|
if (parent === undefined)
|
|
163
161
|
continue;
|
|
162
|
+
const stripped = withheld?.relParentStrip.get(localId);
|
|
164
163
|
for (const child of refList(attrs[relatedIndex] ?? '')) {
|
|
165
164
|
if (view.included !== null && !view.included.has(child))
|
|
166
165
|
continue;
|
|
166
|
+
if (stripped?.has(child))
|
|
167
|
+
continue;
|
|
167
168
|
const childNode = canon.get(child);
|
|
168
169
|
if (childNode === undefined) {
|
|
169
170
|
hasContent.add(parent);
|
|
@@ -239,114 +240,4 @@ function lineOf(view, localId) {
|
|
|
239
240
|
return '';
|
|
240
241
|
return view.source.decodeUtf8(ref.byteOffset, ref.byteOffset + ref.byteLength);
|
|
241
242
|
}
|
|
242
|
-
/** Top-level arguments of a `#id=TYPE(…);` line, or `null` when unparseable. */
|
|
243
|
-
function topLevelAttrs(line) {
|
|
244
|
-
const record = readStepSlots(line);
|
|
245
|
-
return record === null ? null : record.slots.map(arg => arg.trim());
|
|
246
|
-
}
|
|
247
|
-
/** `"#7"` → `7` via shared, trivia-tolerant {@link BARE_REF_RE} (#4227 — a narrower regex misclassified a comment-wrapped `RelatingObject`). */
|
|
248
|
-
function singleRef(arg) {
|
|
249
|
-
const match = BARE_REF_RE.exec(arg);
|
|
250
|
-
return match ? Number(match[1]) : null;
|
|
251
|
-
}
|
|
252
|
-
/** Parse a `(#a,#b,…)` list argument into ids. */
|
|
253
|
-
function refList(arg) {
|
|
254
|
-
const trimmed = arg.trim();
|
|
255
|
-
if (!trimmed.startsWith('(') || !trimmed.endsWith(')'))
|
|
256
|
-
return [];
|
|
257
|
-
const inner = trimmed.slice(1, -1).trim();
|
|
258
|
-
if (inner === '')
|
|
259
|
-
return [];
|
|
260
|
-
const ids = [];
|
|
261
|
-
for (const item of splitTopLevelListItems(inner)) {
|
|
262
|
-
const id = singleRef(item);
|
|
263
|
-
if (id !== null)
|
|
264
|
-
ids.push(id);
|
|
265
|
-
}
|
|
266
|
-
return ids;
|
|
267
|
-
}
|
|
268
|
-
/**
|
|
269
|
-
* Every reference in a line's argument list, paired with whether it sits
|
|
270
|
-
* somewhere neither `filterHiddenRefsFromRelationshipLine` can strip (a direct
|
|
271
|
-
* list element) nor withhold the line for (a whole single-valued attribute) —
|
|
272
|
-
* i.e. nested inside a list of lists or a typed value. `null` when the line's
|
|
273
|
-
* argument list cannot be parsed at all: a line no rewrite can narrow, which the
|
|
274
|
-
* analysis must treat as a blocker rather than as "names nothing".
|
|
275
|
-
*/
|
|
276
|
-
function classifyRefs(line) {
|
|
277
|
-
const attrs = topLevelAttrs(line);
|
|
278
|
-
if (attrs === null)
|
|
279
|
-
return null;
|
|
280
|
-
const out = [];
|
|
281
|
-
for (const attr of attrs) {
|
|
282
|
-
const direct = singleRef(attr);
|
|
283
|
-
if (direct !== null) {
|
|
284
|
-
out.push([direct, false]);
|
|
285
|
-
continue;
|
|
286
|
-
}
|
|
287
|
-
if (attr.startsWith('(') && attr.endsWith(')')) {
|
|
288
|
-
const inner = attr.slice(1, -1).trim();
|
|
289
|
-
if (inner === '')
|
|
290
|
-
continue;
|
|
291
|
-
for (const item of splitTopLevelListItems(inner)) {
|
|
292
|
-
const id = singleRef(item);
|
|
293
|
-
if (id !== null)
|
|
294
|
-
out.push([id, false]);
|
|
295
|
-
else
|
|
296
|
-
for (const nested of argRefs(item))
|
|
297
|
-
out.push([nested, true]);
|
|
298
|
-
}
|
|
299
|
-
continue;
|
|
300
|
-
}
|
|
301
|
-
for (const nested of argRefs(attr))
|
|
302
|
-
out.push([nested, true]);
|
|
303
|
-
}
|
|
304
|
-
return out;
|
|
305
|
-
}
|
|
306
|
-
/**
|
|
307
|
-
* Every `#N` reference in a chunk of STEP text, skipping quoted strings (where a
|
|
308
|
-
* `#` is literal) and any leading `#id=` (the line's own id). Reads bytes rather
|
|
309
|
-
* than decoded text so the reverse-reference scan never decodes a whole model.
|
|
310
|
-
*/
|
|
311
|
-
function argRefs(text) {
|
|
312
|
-
const bytes = typeof text === 'string' ? new TextEncoder().encode(text) : text;
|
|
313
|
-
const eq = bytes.indexOf(0x3d /* = */);
|
|
314
|
-
const from = eq === -1 ? 0 : eq + 1;
|
|
315
|
-
const out = [];
|
|
316
|
-
let inString = false;
|
|
317
|
-
for (let i = from; i < bytes.length; i++) {
|
|
318
|
-
const byte = bytes[i];
|
|
319
|
-
if (byte === 0x27 /* ' */) {
|
|
320
|
-
inString = !inString;
|
|
321
|
-
continue;
|
|
322
|
-
}
|
|
323
|
-
if (inString || byte !== 0x23 /* # */)
|
|
324
|
-
continue;
|
|
325
|
-
let j = i + 1;
|
|
326
|
-
let value = 0;
|
|
327
|
-
while (j < bytes.length && bytes[j] >= 0x30 && bytes[j] <= 0x39) {
|
|
328
|
-
value = value * 10 + (bytes[j] - 0x30);
|
|
329
|
-
j++;
|
|
330
|
-
}
|
|
331
|
-
if (j > i + 1) {
|
|
332
|
-
out.push(value);
|
|
333
|
-
i = j - 1;
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
return out;
|
|
337
|
-
}
|
|
338
|
-
/** The GlobalId (first quoted attribute) of a rooted entity's line. */
|
|
339
|
-
function leadingGuid(line) {
|
|
340
|
-
const open = line.indexOf('(');
|
|
341
|
-
if (open === -1)
|
|
342
|
-
return null;
|
|
343
|
-
const first = line.indexOf("'", open + 1);
|
|
344
|
-
if (first === -1)
|
|
345
|
-
return null;
|
|
346
|
-
const second = line.indexOf("'", first + 1);
|
|
347
|
-
if (second === -1)
|
|
348
|
-
return null;
|
|
349
|
-
const raw = line.slice(first + 1, second);
|
|
350
|
-
return /^[0-9A-Za-z_$]{22}$/.test(raw) ? raw : null;
|
|
351
|
-
}
|
|
352
243
|
//# sourceMappingURL=merged-empty-containers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merged-empty-containers.js","sourceRoot":"","sources":["../src/merged-empty-containers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"merged-empty-containers.js","sourceRoot":"","sources":["../src/merged-empty-containers.ts"],"names":[],"mappings":"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"}
|
|
@@ -292,9 +292,12 @@ export declare class MergedExporter {
|
|
|
292
292
|
* Plan the empty spatial containers of the whole merge (#3643), or `null` when
|
|
293
293
|
* the caller did not ask for the drop. Reproduces the same spatial unification
|
|
294
294
|
* {@link planModel} will, so emptiness is judged on the containers the merge
|
|
295
|
-
* actually keeps rather than on each file in isolation.
|
|
295
|
+
* actually keeps rather than on each file in isolation. It runs its own
|
|
296
|
+
* {@link claimParents} pass first (#5725, see `EmptyContainerModelView.claimParents`).
|
|
296
297
|
*/
|
|
297
298
|
private planContainerDrops;
|
|
299
|
+
/** One decomposition parent per object and inverse (#5471, #5726): record the members this model writes, stripping ones already parented. */
|
|
300
|
+
private claimParents;
|
|
298
301
|
/** Fold a model's dropped containers into its plan: the container lines are
|
|
299
302
|
* skipped outright, and {@link renderEntity} narrows every line naming one. */
|
|
300
303
|
private applyContainerDrops;
|
|
@@ -305,12 +308,6 @@ export declare class MergedExporter {
|
|
|
305
308
|
* referencing), and it deliberately leaves georeferencing untouched.
|
|
306
309
|
*/
|
|
307
310
|
private collectNormalizeCaveats;
|
|
308
|
-
/**
|
|
309
|
-
* Build the ifc-lite provenance header. Merged files have no single source
|
|
310
|
-
* header to round-trip, so we deliberately emit our own rather than picking
|
|
311
|
-
* one model's FILE_DESCRIPTION arbitrarily.
|
|
312
|
-
*/
|
|
313
|
-
private buildHeader;
|
|
314
311
|
/**
|
|
315
312
|
* Compute the model-independent state shared by export()/exportAsync():
|
|
316
313
|
* per-model id offsets and the primary model's project/infra/spatial/unit info.
|
|
@@ -394,14 +391,9 @@ export declare class MergedExporter {
|
|
|
394
391
|
* entity: an untranslatable one becomes an IFCPROXY or throws.
|
|
395
392
|
*/
|
|
396
393
|
private renderEntity;
|
|
397
|
-
/**
|
|
398
|
-
* Find entity IDs of shared infrastructure types in a data store.
|
|
399
|
-
* Returns a map of uppercase type name → array of expressIds.
|
|
400
|
-
*/
|
|
394
|
+
/** Shared infrastructure ids by uppercase type. */
|
|
401
395
|
private findInfrastructureEntities;
|
|
402
|
-
/**
|
|
403
|
-
* Find entity IDs of a specific type in a data store.
|
|
404
|
-
*/
|
|
396
|
+
/** IDs of one source type in the materialized merge input. */
|
|
405
397
|
private findEntitiesByType;
|
|
406
398
|
/**
|
|
407
399
|
* Build lookup tables from the first model's spatial entities for
|
|
@@ -445,10 +437,7 @@ export declare class MergedExporter {
|
|
|
445
437
|
* Extract the Elevation attribute (index 9) from an IfcBuildingStorey.
|
|
446
438
|
*/
|
|
447
439
|
private extractStoreyElevation;
|
|
448
|
-
/**
|
|
449
|
-
* Extract a specific attribute (by 0-based index) from a STEP entity's
|
|
450
|
-
* raw text. Returns the raw string value (e.g., "'Name'", "$", "#123").
|
|
451
|
-
*/
|
|
440
|
+
/** Raw STEP attribute token at a 0-based index (e.g. "'Name'", "$", "#123"). */
|
|
452
441
|
private extractStepAttribute;
|
|
453
442
|
}
|
|
454
443
|
//# sourceMappingURL=merged-exporter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merged-exporter.d.ts","sourceRoot":"","sources":["../src/merged-exporter.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,kBAAkB,CAAC;AAOrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"merged-exporter.d.ts","sourceRoot":"","sources":["../src/merged-exporter.ts"],"names":[],"mappings":"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"}
|