@ifc-lite/export 3.0.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/declared-property-type.d.ts +19 -8
- package/dist/declared-property-type.d.ts.map +1 -1
- package/dist/declared-property-type.js +31 -9
- package/dist/declared-property-type.js.map +1 -1
- package/dist/merged-exporter.d.ts +19 -0
- package/dist/merged-exporter.d.ts.map +1 -1
- package/dist/merged-exporter.js +1 -1
- package/dist/merged-exporter.js.map +1 -1
- package/dist/parquet-exporter.d.ts +1 -3
- package/dist/parquet-exporter.d.ts.map +1 -1
- package/dist/parquet-exporter.js +1 -0
- package/dist/parquet-exporter.js.map +1 -1
- package/dist/property-value-serialization.d.ts +54 -0
- package/dist/property-value-serialization.d.ts.map +1 -0
- package/dist/property-value-serialization.js +134 -0
- package/dist/property-value-serialization.js.map +1 -0
- package/dist/reference-collector.d.ts +20 -0
- package/dist/reference-collector.d.ts.map +1 -1
- package/dist/reference-collector.js +45 -112
- package/dist/reference-collector.js.map +1 -1
- package/dist/schema-converter.d.ts.map +1 -1
- package/dist/schema-converter.js +46 -96
- package/dist/schema-converter.js.map +1 -1
- package/dist/source-ref-bounds.d.ts +3 -3
- package/dist/source-ref-bounds.js +3 -3
- package/dist/step-attribute-mutations.d.ts +0 -42
- package/dist/step-attribute-mutations.d.ts.map +1 -1
- package/dist/step-attribute-mutations.js +17 -147
- package/dist/step-attribute-mutations.js.map +1 -1
- package/dist/step-attribute-serializers.d.ts +41 -0
- package/dist/step-attribute-serializers.d.ts.map +1 -0
- package/dist/step-attribute-serializers.js +74 -0
- package/dist/step-attribute-serializers.js.map +1 -0
- package/dist/step-collection.d.ts +2 -2
- package/dist/step-collection.d.ts.map +1 -1
- package/dist/step-collection.js +2 -1
- package/dist/step-collection.js.map +1 -1
- package/dist/step-export-contexts.d.ts +5 -7
- package/dist/step-export-contexts.d.ts.map +1 -1
- package/dist/step-export-contexts.js +6 -7
- package/dist/step-export-contexts.js.map +1 -1
- package/dist/step-exporter.d.ts +3 -3
- package/dist/step-exporter.js +4 -4
- package/dist/step-exporter.js.map +1 -1
- package/dist/step-geometry-types.d.ts +1 -17
- package/dist/step-geometry-types.d.ts.map +1 -1
- package/dist/step-geometry-types.js +51 -35
- package/dist/step-geometry-types.js.map +1 -1
- package/dist/step-georeferencing.d.ts +0 -10
- package/dist/step-georeferencing.d.ts.map +1 -1
- package/dist/step-georeferencing.js +46 -94
- package/dist/step-georeferencing.js.map +1 -1
- package/dist/step-header.d.ts +11 -1
- package/dist/step-header.d.ts.map +1 -1
- package/dist/step-header.js +0 -7
- package/dist/step-header.js.map +1 -1
- package/dist/step-map-unit.d.ts +90 -0
- package/dist/step-map-unit.d.ts.map +1 -0
- package/dist/step-map-unit.js +277 -0
- package/dist/step-map-unit.js.map +1 -0
- package/dist/step-overlay-attribute-overrides.d.ts +32 -0
- package/dist/step-overlay-attribute-overrides.d.ts.map +1 -0
- package/dist/step-overlay-attribute-overrides.js +83 -0
- package/dist/step-overlay-attribute-overrides.js.map +1 -0
- package/dist/step-overlay-entities.d.ts +3 -3
- package/dist/step-pass-builder.d.ts +4 -3
- package/dist/step-pass-builder.d.ts.map +1 -1
- package/dist/step-pass-builder.js.map +1 -1
- package/dist/step-property-set-collection.d.ts +24 -0
- package/dist/step-property-set-collection.d.ts.map +1 -0
- package/dist/step-property-set-collection.js +286 -0
- package/dist/step-property-set-collection.js.map +1 -0
- package/dist/step-property-set-generators.d.ts +20 -0
- package/dist/step-property-set-generators.d.ts.map +1 -0
- package/dist/step-property-set-generators.js +98 -0
- package/dist/step-property-set-generators.js.map +1 -0
- package/dist/step-property-set-index.d.ts +25 -0
- package/dist/step-property-set-index.d.ts.map +1 -0
- package/dist/step-property-set-index.js +69 -0
- package/dist/step-property-set-index.js.map +1 -0
- package/dist/step-property-set-readers.d.ts +158 -0
- package/dist/step-property-set-readers.d.ts.map +1 -0
- package/dist/step-property-set-readers.js +251 -0
- package/dist/step-property-set-readers.js.map +1 -0
- package/dist/step-property-sets.d.ts +2 -186
- package/dist/step-property-sets.d.ts.map +1 -1
- package/dist/step-property-sets.js +22 -674
- package/dist/step-property-sets.js.map +1 -1
- package/dist/step-serialization.d.ts +17 -51
- package/dist/step-serialization.d.ts.map +1 -1
- package/dist/step-serialization.js +19 -128
- package/dist/step-serialization.js.map +1 -1
- package/dist/step-source-iteration.d.ts +7 -5
- package/dist/step-source-iteration.d.ts.map +1 -1
- package/dist/step-source-iteration.js +3 -3
- package/dist/step-source-iteration.js.map +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
import { getEnumTypedSlots, getStringTypedSlots, serializeEnumToken, serializeStringSlot } from './attribute-slot-types.js';
|
|
5
|
+
import { isTypedMarker } from './attribute-real-slots.js';
|
|
6
|
+
import { serializeQualifiedSelectSlot } from './select-qualification.js';
|
|
7
|
+
import { toStepReal, serializeAttributeValue, serializeStepValue, tokenIsRealLiteral, } from './step-serialization.js';
|
|
8
|
+
/**
|
|
9
|
+
* Serialize one NAMED attribute override into its slot — the single point
|
|
10
|
+
* both the source-buffer rewrite and the overlay-created rewrite go through.
|
|
11
|
+
*
|
|
12
|
+
* `serializeAttributeValue` decides the STEP form by reading the token being
|
|
13
|
+
* replaced, which is sound only while that token carries type information. A
|
|
14
|
+
* `$` slot carries none, and both paths have plenty: a source record's
|
|
15
|
+
* optional attributes are `$`, and overlay-created records pad missing slots
|
|
16
|
+
* with `$`. So the declared type decides first, and inference is the fallback
|
|
17
|
+
* for slots the schema does not classify (references, SELECTs, numerics),
|
|
18
|
+
* where reading the old token is exactly the right heuristic.
|
|
19
|
+
*
|
|
20
|
+
* Before this REAL check existed, "the declared type decides first" was true
|
|
21
|
+
* for enum/string slots only — a REAL-backed slot (`IfcMapConversion.
|
|
22
|
+
* OrthogonalHeight`, any other `IfcLengthMeasure`/`IfcReal`-typed attribute)
|
|
23
|
+
* fell straight to `serializeAttributeValue`'s token inference, which quotes
|
|
24
|
+
* anything it cannot recognize as numeric. A schema-legal `$` placeholder
|
|
25
|
+
* carries no digits to recognize, so setting such a field for the first time
|
|
26
|
+
* wrote `'12345'` in a slot ISO 10303-21 requires to be an unquoted REAL —
|
|
27
|
+
* silently invalid output (#2724, LTplus-AG/ifc-lite#2475).
|
|
28
|
+
*/
|
|
29
|
+
export function serializeNamedAttribute(entityType, index, value, currentToken, realSlots) {
|
|
30
|
+
if (getEnumTypedSlots(entityType).has(index))
|
|
31
|
+
return serializeEnumToken(value);
|
|
32
|
+
if (getStringTypedSlots(entityType).has(index))
|
|
33
|
+
return serializeStringSlot(value);
|
|
34
|
+
if (realSlots.has(index)) {
|
|
35
|
+
const trimmed = value.trim();
|
|
36
|
+
if (trimmed === '')
|
|
37
|
+
return '$';
|
|
38
|
+
const numberValue = Number(trimmed);
|
|
39
|
+
if (Number.isFinite(numberValue))
|
|
40
|
+
return toStepReal(numberValue);
|
|
41
|
+
// A non-numeric value in a REAL slot used to fall through and be QUOTED,
|
|
42
|
+
// producing the same ISO 10303-21 violation #2725 exists to prevent
|
|
43
|
+
// (#2741). `StoreEditor.setAttribute` takes a string, so any UI text
|
|
44
|
+
// field bound to a georeferencing REAL can deliver one; it does not need
|
|
45
|
+
// a corrupt file.
|
|
46
|
+
//
|
|
47
|
+
// `null` means "leave the slot as the file had it". Simply returning
|
|
48
|
+
// `currentToken` here would stop the invalid output but SILENTLY DISCARD
|
|
49
|
+
// the edit - the exporter would then claim a modification it did not
|
|
50
|
+
// carry, which is the exact misreport #2723/#2724/#2726 were written to
|
|
51
|
+
// pin. The caller turns this into a warning, so a dropped edit is visible
|
|
52
|
+
// rather than inferred from absence.
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
return serializeAttributeValue(value, currentToken);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Serialize one positional override, composing the schema-aware passes:
|
|
59
|
+
* explicit `{ real }`/`{ typed }` marker → SELECT auto-qualification
|
|
60
|
+
* (`IFCBOOLEAN(.T.)`) → REAL forcing. For REAL forcing the current source
|
|
61
|
+
* token is a secondary signal: replacing a value that was already a REAL
|
|
62
|
+
* (`0.4`, `1.5E-7`) keeps it REAL even for entities the XSD index doesn't
|
|
63
|
+
* cover, so a whole-number edit can't silently downgrade the slot.
|
|
64
|
+
*/
|
|
65
|
+
export function serializePositionalOverride(entityType, index, value, currentToken, realSlots, schemaVersion) {
|
|
66
|
+
if (isTypedMarker(value))
|
|
67
|
+
return serializeStepValue(value);
|
|
68
|
+
const qualified = serializeQualifiedSelectSlot(entityType, index, value);
|
|
69
|
+
if (qualified !== null)
|
|
70
|
+
return qualified;
|
|
71
|
+
const forceReal = realSlots.has(index) || tokenIsRealLiteral(currentToken);
|
|
72
|
+
return serializeStepValue(value, forceReal);
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=step-attribute-serializers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-attribute-serializers.js","sourceRoot":"","sources":["../src/step-attribute-serializers.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAW/D,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC5H,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EACL,UAAU,EACV,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAGjC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,uBAAuB,CACrC,UAAkB,EAClB,KAAa,EACb,KAAa,EACb,YAAoB,EACpB,SAA8B;IAE9B,IAAI,iBAAiB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC/E,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAClF,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,OAAO,KAAK,EAAE;YAAE,OAAO,GAAG,CAAC;QAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC;QACjE,yEAAyE;QACzE,oEAAoE;QACpE,qEAAqE;QACrE,yEAAyE;QACzE,kBAAkB;QAClB,EAAE;QACF,qEAAqE;QACrE,yEAAyE;QACzE,qEAAqE;QACrE,wEAAwE;QACxE,0EAA0E;QAC1E,qCAAqC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,uBAAuB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CACzC,UAAkB,EAClB,KAAa,EACb,KAAwB,EACxB,YAAoB,EACpB,SAA8B,EAC9B,aAA+B;IAE/B,IAAI,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,4BAA4B,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACzE,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC3E,OAAO,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* `step-property-sets.ts`, `step-georeferencing.ts`'s own new-entity lines,
|
|
8
8
|
* `step-overlay-entities.ts`) that reads what this phase left on `pass`.
|
|
9
9
|
*
|
|
10
|
-
* `PropertyMutationGroups` (`step-property-
|
|
10
|
+
* `PropertyMutationGroups` (`step-property-set-collection.ts`) already names the
|
|
11
11
|
* boundary this module sits behind: "the mutation groupings `export()`
|
|
12
12
|
* builds before the collection phase runs." This is that builder, plus the
|
|
13
13
|
* two collection calls (`buildRelDefinesByPropertiesIndex` /
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import type { IfcDataStore } from '@ifc-lite/parser';
|
|
26
26
|
import type { MutablePropertyView } from '@ifc-lite/mutations';
|
|
27
|
-
import { type PropertySetContext } from './step-property-
|
|
27
|
+
import { type PropertySetContext } from './step-property-set-readers.js';
|
|
28
28
|
import { type GeorefContext } from './step-georeferencing.js';
|
|
29
29
|
import type { ExportPass, StepExportOptions } from './step-exporter.js';
|
|
30
30
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-collection.d.ts","sourceRoot":"","sources":["../src/step-collection.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"step-collection.d.ts","sourceRoot":"","sources":["../src/step-collection.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI/D,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAgC,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC5F,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAExE;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;IACtD,QAAQ,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,aAAa,CAAC;CAC/D;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,iBAAiB,EAC1B,cAAc,EAAE,OAAO,EACvB,GAAG,EAAE,iBAAiB,GACrB,IAAI,CAsIN"}
|
package/dist/step-collection.js
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
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 { collectReferencedEntityIds, getVisibleEntityIds, collectStyleEntities } from './reference-collector.js';
|
|
5
|
-
import { buildRelDefinesByPropertiesIndex
|
|
5
|
+
import { buildRelDefinesByPropertiesIndex } from './step-property-set-index.js';
|
|
6
|
+
import { collectPropertyAndQuantitySetMutations } from './step-property-set-collection.js';
|
|
6
7
|
import { applyGeoreferencingMutations } from './step-georeferencing.js';
|
|
7
8
|
/**
|
|
8
9
|
* Populate `pass` with everything the overlay's edits and `options` imply,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-collection.js","sourceRoot":"","sources":["../src/step-collection.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AA6B/D,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACjH,OAAO,
|
|
1
|
+
{"version":3,"file":"step-collection.js","sourceRoot":"","sources":["../src/step-collection.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ import type { IfcDataStore } from '@ifc-lite/parser';
|
|
|
30
30
|
import type { MutablePropertyView } from '@ifc-lite/mutations';
|
|
31
31
|
import type { SourceIterationContext } from './step-source-iteration.js';
|
|
32
32
|
import type { OverlayEntitiesContext } from './step-overlay-entities.js';
|
|
33
|
-
import type { PropertySetContext } from './step-property-
|
|
33
|
+
import type { PropertySetContext } from './step-property-set-readers.js';
|
|
34
34
|
/**
|
|
35
35
|
* The state `step-source-iteration.ts` cannot read off the pass (#2475 2d).
|
|
36
36
|
*
|
|
@@ -52,12 +52,10 @@ export declare function buildSourceIterationContext(dataStore: IfcDataStore, mut
|
|
|
52
52
|
/**
|
|
53
53
|
* The state `step-overlay-entities.ts` cannot read off the pass (#2475
|
|
54
54
|
* step 2e). `applyOverlayEntityOverrides` is the free function
|
|
55
|
-
* `step-attribute-
|
|
56
|
-
* `
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
* readers {@link buildSourceIterationContext} already injects into the other
|
|
60
|
-
* output pass.
|
|
55
|
+
* `step-overlay-attribute-overrides.ts` exports; `isGeometryEntity` and
|
|
56
|
+
* `relationshipWithheldWarning` are the same shared readers
|
|
57
|
+
* {@link buildSourceIterationContext} already injects into the other output
|
|
58
|
+
* pass.
|
|
61
59
|
*/
|
|
62
60
|
export declare function buildOverlayEntitiesContext(mutationView: MutablePropertyView | null): OverlayEntitiesContext;
|
|
63
61
|
//# sourceMappingURL=step-export-contexts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-export-contexts.d.ts","sourceRoot":"","sources":["../src/step-export-contexts.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"step-export-contexts.d.ts","sourceRoot":"","sources":["../src/step-export-contexts.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAK/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEzE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,YAAY,EACvB,YAAY,EAAE,mBAAmB,GAAG,IAAI,EACxC,kBAAkB,EAAE,MAAM,kBAAkB,GAC3C,sBAAsB,CASxB;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,mBAAmB,GAAG,IAAI,GACvC,sBAAsB,CAOxB"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
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
|
-
import { applySourceLineMutations
|
|
4
|
+
import { applySourceLineMutations } from './step-attribute-mutations.js';
|
|
5
|
+
import { applyOverlayEntityOverrides } from './step-overlay-attribute-overrides.js';
|
|
5
6
|
import { relationshipWithheldWarning } from './step-export-types.js';
|
|
6
7
|
import { isGeometryEntity } from './step-geometry-types.js';
|
|
7
8
|
/**
|
|
@@ -33,12 +34,10 @@ export function buildSourceIterationContext(dataStore, mutationView, propertySet
|
|
|
33
34
|
/**
|
|
34
35
|
* The state `step-overlay-entities.ts` cannot read off the pass (#2475
|
|
35
36
|
* step 2e). `applyOverlayEntityOverrides` is the free function
|
|
36
|
-
* `step-attribute-
|
|
37
|
-
* `
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* readers {@link buildSourceIterationContext} already injects into the other
|
|
41
|
-
* output pass.
|
|
37
|
+
* `step-overlay-attribute-overrides.ts` exports; `isGeometryEntity` and
|
|
38
|
+
* `relationshipWithheldWarning` are the same shared readers
|
|
39
|
+
* {@link buildSourceIterationContext} already injects into the other output
|
|
40
|
+
* pass.
|
|
42
41
|
*/
|
|
43
42
|
export function buildOverlayEntitiesContext(mutationView) {
|
|
44
43
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-export-contexts.js","sourceRoot":"","sources":["../src/step-export-contexts.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAiC/D,OAAO,EAAE,wBAAwB,EAAE,
|
|
1
|
+
{"version":3,"file":"step-export-contexts.js","sourceRoot":"","sources":["../src/step-export-contexts.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAiC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAK5D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,2BAA2B,CACzC,SAAuB,EACvB,YAAwC,EACxC,kBAA4C;IAE5C,OAAO;QACL,SAAS;QACT,wBAAwB,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,CAC3H,wBAAwB,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC;QACxI,gBAAgB;QAChB,kBAAkB;QAClB,2BAA2B;KAC5B,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CACzC,YAAwC;IAExC,OAAO;QACL,YAAY;QACZ,2BAA2B;QAC3B,gBAAgB;QAChB,2BAA2B;KAC5B,CAAC;AACJ,CAAC"}
|
package/dist/step-exporter.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export declare class StepExporter {
|
|
|
25
25
|
/**
|
|
26
26
|
* The owner-history memos the property-set and quantity-set generators read.
|
|
27
27
|
*
|
|
28
|
-
* Owned here and handed to `step-property-
|
|
28
|
+
* Owned here and handed to `step-property-set-readers.ts` BY REFERENCE rather than
|
|
29
29
|
* stored on its context: the reset below is an `export()`-level statement,
|
|
30
30
|
* and the comment there is where "per export, not per exporter" is argued.
|
|
31
31
|
* Moving the storage into a per-export context would make that reset
|
|
@@ -62,14 +62,14 @@ export declare class StepExporter {
|
|
|
62
62
|
*
|
|
63
63
|
* `allocateExpressId` hands out ids from THIS exporter's `nextExpressId`,
|
|
64
64
|
* which the property-set and quantity-set generators in
|
|
65
|
-
* `step-property-
|
|
65
|
+
* `step-property-set-generators.ts` increment at six further sites through the same
|
|
66
66
|
* callback — hoisting the counter onto the pass would change what it
|
|
67
67
|
* computes, not merely where it is named, so both phases get a callback
|
|
68
68
|
* instead (#2475 step 2a).
|
|
69
69
|
*/
|
|
70
70
|
private georefContext;
|
|
71
71
|
/**
|
|
72
|
-
* The state
|
|
72
|
+
* The state the property-set phase cannot read off the pass (#2475 2b/2c).
|
|
73
73
|
*
|
|
74
74
|
* `allocateExpressId` is the same callback `georefContext` hands out, over
|
|
75
75
|
* the same counter, so the ids the two phases allocate stay in one sequence.
|
package/dist/step-exporter.js
CHANGED
|
@@ -7,7 +7,7 @@ import { getCompleteEntityIndex, getMaxExpressId } from './entity-iteration.js';
|
|
|
7
7
|
import { createSourceRefReader } from './source-ref-bounds.js';
|
|
8
8
|
import { writeSourceEntityLines } from './step-source-iteration.js';
|
|
9
9
|
import { writeOverlayCreatedEntities } from './step-overlay-entities.js';
|
|
10
|
-
import { generatePropertyAndQuantitySetEntities
|
|
10
|
+
import { generatePropertyAndQuantitySetEntities } from './step-property-sets.js';
|
|
11
11
|
import { collectModifications } from './step-collection.js';
|
|
12
12
|
import { assembleExportResult } from './step-header.js';
|
|
13
13
|
import { applySourceLineMutations } from './step-attribute-mutations.js';
|
|
@@ -26,7 +26,7 @@ export class StepExporter {
|
|
|
26
26
|
/**
|
|
27
27
|
* The owner-history memos the property-set and quantity-set generators read.
|
|
28
28
|
*
|
|
29
|
-
* Owned here and handed to `step-property-
|
|
29
|
+
* Owned here and handed to `step-property-set-readers.ts` BY REFERENCE rather than
|
|
30
30
|
* stored on its context: the reset below is an `export()`-level statement,
|
|
31
31
|
* and the comment there is where "per export, not per exporter" is argued.
|
|
32
32
|
* Moving the storage into a per-export context would make that reset
|
|
@@ -205,7 +205,7 @@ export class StepExporter {
|
|
|
205
205
|
*
|
|
206
206
|
* `allocateExpressId` hands out ids from THIS exporter's `nextExpressId`,
|
|
207
207
|
* which the property-set and quantity-set generators in
|
|
208
|
-
* `step-property-
|
|
208
|
+
* `step-property-set-generators.ts` increment at six further sites through the same
|
|
209
209
|
* callback — hoisting the counter onto the pass would change what it
|
|
210
210
|
* computes, not merely where it is named, so both phases get a callback
|
|
211
211
|
* instead (#2475 step 2a).
|
|
@@ -219,7 +219,7 @@ export class StepExporter {
|
|
|
219
219
|
};
|
|
220
220
|
}
|
|
221
221
|
/**
|
|
222
|
-
* The state
|
|
222
|
+
* The state the property-set phase cannot read off the pass (#2475 2b/2c).
|
|
223
223
|
*
|
|
224
224
|
* `allocateExpressId` is the same callback `georefContext` hands out, over
|
|
225
225
|
* the same counter, so the ids the two phases allocate stay in one sequence.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-exporter.js","sourceRoot":"","sources":["../src/step-exporter.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAU/D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAyB,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,
|
|
1
|
+
{"version":3,"file":"step-exporter.js","sourceRoot":"","sources":["../src/step-exporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The entity types a STEP export treats as geometry.
|
|
3
|
-
*
|
|
4
|
-
* Split out of `StepExporter` for #2475. It was a private method only by
|
|
5
|
-
* habit: it reads nothing off the instance, so every consumer already
|
|
6
|
-
* received it as an injected callback rather than calling it through an
|
|
7
|
-
* exporter. Moving it changes no call site -- the three inside
|
|
8
|
-
* `step-exporter.ts` stop wrapping it in an arrow, and that is all.
|
|
9
|
-
*
|
|
10
|
-
* The set is the definition, not a cache of one. `includegeometry-header-count.test.ts`
|
|
11
|
-
* and `retype-geometry-boundary.test.ts` pin what belongs in it, and
|
|
12
|
-
* `reference-collector.ts` documents the one place a type in this set is
|
|
13
|
-
* still reachable when geometry is excluded.
|
|
14
|
-
*/
|
|
15
|
-
/**
|
|
16
|
-
* Check if an entity type is a geometry-related type
|
|
17
|
-
*/
|
|
1
|
+
/** Check if an entity type is a geometry-related type. */
|
|
18
2
|
export declare function isGeometryEntity(type: string): boolean;
|
|
19
3
|
//# sourceMappingURL=step-geometry-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-geometry-types.d.ts","sourceRoot":"","sources":["../src/step-geometry-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"step-geometry-types.d.ts","sourceRoot":"","sources":["../src/step-geometry-types.ts"],"names":[],"mappings":"AAuEA,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD"}
|
|
@@ -16,42 +16,58 @@
|
|
|
16
16
|
* still reachable when geometry is excluded.
|
|
17
17
|
*/
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* The set itself, at module scope rather than rebuilt per call.
|
|
20
|
+
*
|
|
21
|
+
* `isGeometryEntity` runs once per entity, through `isGeometryExcluded`, the
|
|
22
|
+
* source-iteration skip and `step-overlay-entities.ts` — so constructing this
|
|
23
|
+
* inside the function allocated a 31-string `Set` per entity on any export
|
|
24
|
+
* that excludes geometry. It was written that way as a private method and
|
|
25
|
+
* moved here verbatim; being a free function is what makes hoisting it
|
|
26
|
+
* trivial and obviously safe.
|
|
27
|
+
*
|
|
28
|
+
* Named PRIMITIVE deliberately. `@ifc-lite/parser` exports a `GEOMETRY_TYPES`
|
|
29
|
+
* of its own holding BUILDING ELEMENTS — `IFCWALL`, `IFCDOOR`, `IFCCOVERING`
|
|
30
|
+
* — which is close to the opposite of this set's contents: representation
|
|
31
|
+
* primitives like `IFCCARTESIANPOINT` and `IFCEXTRUDEDAREASOLID`. The two
|
|
32
|
+
* never collide as imports, since this one is module-private, but they
|
|
33
|
+
* collide for anyone grepping the symbol, and "the geometry types" is exactly
|
|
34
|
+
* the phrase that would make a reader reach for the wrong one.
|
|
20
35
|
*/
|
|
36
|
+
const GEOMETRY_PRIMITIVE_TYPES = new Set([
|
|
37
|
+
'IFCCARTESIANPOINT',
|
|
38
|
+
'IFCDIRECTION',
|
|
39
|
+
'IFCAXIS2PLACEMENT2D',
|
|
40
|
+
'IFCAXIS2PLACEMENT3D',
|
|
41
|
+
'IFCLOCALPLACEMENT',
|
|
42
|
+
'IFCSHAPEREPRESENTATION',
|
|
43
|
+
'IFCPRODUCTDEFINITIONSHAPE',
|
|
44
|
+
'IFCGEOMETRICREPRESENTATIONCONTEXT',
|
|
45
|
+
'IFCGEOMETRICREPRESENTATIONSUBCONTEXT',
|
|
46
|
+
'IFCEXTRUDEDAREASOLID',
|
|
47
|
+
'IFCFACETEDBREP',
|
|
48
|
+
'IFCPOLYLOOP',
|
|
49
|
+
'IFCFACE',
|
|
50
|
+
'IFCFACEOUTERBOUND',
|
|
51
|
+
'IFCCLOSEDSHELL',
|
|
52
|
+
'IFCRECTANGLEPROFILEDEF',
|
|
53
|
+
'IFCCIRCLEPROFILEDEF',
|
|
54
|
+
'IFCARBITRARYCLOSEDPROFILEDEF',
|
|
55
|
+
'IFCPOLYLINE',
|
|
56
|
+
'IFCTRIMMEDCURVE',
|
|
57
|
+
'IFCBSPLINECURVE',
|
|
58
|
+
'IFCBSPLINESURFACE',
|
|
59
|
+
'IFCTRIANGULATEDFACESET',
|
|
60
|
+
'IFCPOLYGONALFACE',
|
|
61
|
+
'IFCINDEXEDPOLYGONALFACE',
|
|
62
|
+
'IFCPOLYGONALFACESET',
|
|
63
|
+
'IFCSTYLEDITEM',
|
|
64
|
+
'IFCPRESENTATIONSTYLEASSIGNMENT',
|
|
65
|
+
'IFCSURFACESTYLE',
|
|
66
|
+
'IFCSURFACESTYLERENDERING',
|
|
67
|
+
'IFCCOLOURRGB',
|
|
68
|
+
]);
|
|
69
|
+
/** Check if an entity type is a geometry-related type. */
|
|
21
70
|
export function isGeometryEntity(type) {
|
|
22
|
-
|
|
23
|
-
'IFCCARTESIANPOINT',
|
|
24
|
-
'IFCDIRECTION',
|
|
25
|
-
'IFCAXIS2PLACEMENT2D',
|
|
26
|
-
'IFCAXIS2PLACEMENT3D',
|
|
27
|
-
'IFCLOCALPLACEMENT',
|
|
28
|
-
'IFCSHAPEREPRESENTATION',
|
|
29
|
-
'IFCPRODUCTDEFINITIONSHAPE',
|
|
30
|
-
'IFCGEOMETRICREPRESENTATIONCONTEXT',
|
|
31
|
-
'IFCGEOMETRICREPRESENTATIONSUBCONTEXT',
|
|
32
|
-
'IFCEXTRUDEDAREASOLID',
|
|
33
|
-
'IFCFACETEDBREP',
|
|
34
|
-
'IFCPOLYLOOP',
|
|
35
|
-
'IFCFACE',
|
|
36
|
-
'IFCFACEOUTERBOUND',
|
|
37
|
-
'IFCCLOSEDSHELL',
|
|
38
|
-
'IFCRECTANGLEPROFILEDEF',
|
|
39
|
-
'IFCCIRCLEPROFILEDEF',
|
|
40
|
-
'IFCARBITRARYCLOSEDPROFILEDEF',
|
|
41
|
-
'IFCPOLYLINE',
|
|
42
|
-
'IFCTRIMMEDCURVE',
|
|
43
|
-
'IFCBSPLINECURVE',
|
|
44
|
-
'IFCBSPLINESURFACE',
|
|
45
|
-
'IFCTRIANGULATEDFACESET',
|
|
46
|
-
'IFCPOLYGONALFACE',
|
|
47
|
-
'IFCINDEXEDPOLYGONALFACE',
|
|
48
|
-
'IFCPOLYGONALFACESET',
|
|
49
|
-
'IFCSTYLEDITEM',
|
|
50
|
-
'IFCPRESENTATIONSTYLEASSIGNMENT',
|
|
51
|
-
'IFCSURFACESTYLE',
|
|
52
|
-
'IFCSURFACESTYLERENDERING',
|
|
53
|
-
'IFCCOLOURRGB',
|
|
54
|
-
]);
|
|
55
|
-
return geometryTypes.has(type);
|
|
71
|
+
return GEOMETRY_PRIMITIVE_TYPES.has(type);
|
|
56
72
|
}
|
|
57
73
|
//# sourceMappingURL=step-geometry-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-geometry-types.js","sourceRoot":"","sources":["../src/step-geometry-types.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;GAaG;AAEH
|
|
1
|
+
{"version":3,"file":"step-geometry-types.js","sourceRoot":"","sources":["../src/step-geometry-types.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IAC5D,mBAAmB;IACnB,cAAc;IACd,qBAAqB;IACrB,qBAAqB;IACrB,mBAAmB;IACnB,wBAAwB;IACxB,2BAA2B;IAC3B,mCAAmC;IACnC,sCAAsC;IACtC,sBAAsB;IACtB,gBAAgB;IAChB,aAAa;IACb,SAAS;IACT,mBAAmB;IACnB,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;IACrB,8BAA8B;IAC9B,aAAa;IACb,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;IACnB,wBAAwB;IACxB,kBAAkB;IAClB,yBAAyB;IACzB,qBAAqB;IACrB,eAAe;IACf,gCAAgC;IAChC,iBAAiB;IACjB,0BAA0B;IAC1B,cAAc;CACf,CAAC,CAAC;AAEH,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -18,7 +18,6 @@
|
|
|
18
18
|
* assembly loop some 330 lines later is where those lines become bytes.
|
|
19
19
|
*/
|
|
20
20
|
import type { IfcDataStore, EntityExtractor } from '@ifc-lite/parser';
|
|
21
|
-
import type { EffectiveEntityIndex } from './effective-index.js';
|
|
22
21
|
import type { ExportPass, StepExportOptions } from './step-exporter.js';
|
|
23
22
|
/**
|
|
24
23
|
* The exporter state this phase cannot read off the pass.
|
|
@@ -46,13 +45,4 @@ export interface GeorefContext extends GeorefLookupContext {
|
|
|
46
45
|
* gate; reaching here means georeferencing edits were both requested and enabled.
|
|
47
46
|
*/
|
|
48
47
|
export declare function applyGeoreferencingMutations(pass: ExportPass, georefMutations: NonNullable<StepExportOptions['georefMutations']>, ctx: GeorefContext): void;
|
|
49
|
-
export declare function resolveMapUnitReference(unitName: string, newGeorefLines: string[], effective: EffectiveEntityIndex, ctx: GeorefContext): number;
|
|
50
|
-
export declare function normalizeMapUnitName(unitName: string): string;
|
|
51
|
-
/**
|
|
52
|
-
* `effective` filters the candidates the same way the georef reads above do:
|
|
53
|
-
* returning a tombstoned unit id hands the caller a `#id` for a line the
|
|
54
|
-
* export never writes. Returning null instead makes `resolveMapUnitReference`
|
|
55
|
-
* synthesise a fresh unit, which is the outcome a deleted unit deserves.
|
|
56
|
-
*/
|
|
57
|
-
export declare function findLengthUnitReference(preferredUnitName: string, effective: EffectiveEntityIndex, ctx: GeorefLookupContext): number | null;
|
|
58
48
|
//# sourceMappingURL=step-georeferencing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-georeferencing.d.ts","sourceRoot":"","sources":["../src/step-georeferencing.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"step-georeferencing.d.ts","sourceRoot":"","sources":["../src/step-georeferencing.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGtE,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAkCxE;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACxD,oDAAoD;IACpD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,MAAM,CAAC;IACzC;;yDAEqD;IACrD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,UAAU,EAChB,eAAe,EAAE,WAAW,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,EAClE,GAAG,EAAE,aAAa,GACjB,IAAI,CAsKN"}
|