@ifc-lite/create 3.1.0 → 3.2.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/ifc-creator-math.d.ts +5 -7
- package/dist/ifc-creator-math.d.ts.map +1 -1
- package/dist/ifc-creator-math.js +8 -15
- package/dist/ifc-creator-math.js.map +1 -1
- package/dist/in-store/anchor.d.ts +25 -0
- package/dist/in-store/anchor.d.ts.map +1 -1
- package/dist/in-store/column.d.ts +8 -0
- package/dist/in-store/column.d.ts.map +1 -1
- package/dist/in-store/column.js +16 -9
- package/dist/in-store/column.js.map +1 -1
- package/dist/in-store/door.d.ts +10 -4
- package/dist/in-store/door.d.ts.map +1 -1
- package/dist/in-store/door.js +23 -17
- package/dist/in-store/door.js.map +1 -1
- package/dist/in-store/element-type.d.ts +40 -0
- package/dist/in-store/element-type.d.ts.map +1 -0
- package/dist/in-store/element-type.js +60 -0
- package/dist/in-store/element-type.js.map +1 -0
- package/dist/in-store/extract-walls.d.ts.map +1 -1
- package/dist/in-store/extract-walls.js +8 -14
- package/dist/in-store/extract-walls.js.map +1 -1
- package/dist/in-store/hosted-fill.d.ts +48 -0
- package/dist/in-store/hosted-fill.d.ts.map +1 -0
- package/dist/in-store/hosted-fill.js +58 -0
- package/dist/in-store/hosted-fill.js.map +1 -0
- package/dist/in-store/material.d.ts +62 -0
- package/dist/in-store/material.d.ts.map +1 -0
- package/dist/in-store/material.js +107 -0
- package/dist/in-store/material.js.map +1 -0
- package/dist/in-store/opening.d.ts +45 -0
- package/dist/in-store/opening.d.ts.map +1 -0
- package/dist/in-store/opening.js +104 -0
- package/dist/in-store/opening.js.map +1 -0
- package/dist/in-store/placement-frame.d.ts.map +1 -1
- package/dist/in-store/placement-frame.js +19 -4
- package/dist/in-store/placement-frame.js.map +1 -1
- package/dist/in-store/relate.d.ts +32 -0
- package/dist/in-store/relate.d.ts.map +1 -0
- package/dist/in-store/relate.js +39 -0
- package/dist/in-store/relate.js.map +1 -0
- package/dist/in-store/resolve-anchor.d.ts +21 -1
- package/dist/in-store/resolve-anchor.d.ts.map +1 -1
- package/dist/in-store/resolve-anchor.js +6 -2
- package/dist/in-store/resolve-anchor.js.map +1 -1
- package/dist/in-store/resolve-host.d.ts +5 -0
- package/dist/in-store/resolve-host.d.ts.map +1 -0
- package/dist/in-store/resolve-host.js +249 -0
- package/dist/in-store/resolve-host.js.map +1 -0
- package/dist/in-store/resolve-relations.d.ts +23 -0
- package/dist/in-store/resolve-relations.d.ts.map +1 -0
- package/dist/in-store/resolve-relations.js +57 -0
- package/dist/in-store/resolve-relations.js.map +1 -0
- package/dist/in-store/resolve-source.d.ts.map +1 -1
- package/dist/in-store/resolve-source.js +20 -4
- package/dist/in-store/resolve-source.js.map +1 -1
- package/dist/in-store/schema-attributes.d.ts +28 -0
- package/dist/in-store/schema-attributes.d.ts.map +1 -0
- package/dist/in-store/schema-attributes.js +95 -0
- package/dist/in-store/schema-attributes.js.map +1 -0
- package/dist/in-store/window.d.ts +7 -0
- package/dist/in-store/window.d.ts.map +1 -1
- package/dist/in-store/window.js +24 -17
- package/dist/in-store/window.js.map +1 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/landxml/cant-superelevation.d.ts +28 -0
- package/dist/landxml/cant-superelevation.d.ts.map +1 -0
- package/dist/landxml/cant-superelevation.js +31 -0
- package/dist/landxml/cant-superelevation.js.map +1 -0
- package/dist/landxml/landxml-to-ifc.d.ts +8 -2
- package/dist/landxml/landxml-to-ifc.d.ts.map +1 -1
- package/dist/landxml/landxml-to-ifc.js +34 -2
- package/dist/landxml/landxml-to-ifc.js.map +1 -1
- package/dist/landxml/refusals.d.ts.map +1 -1
- package/dist/landxml/refusals.js +8 -3
- package/dist/landxml/refusals.js.map +1 -1
- package/dist/landxml/result-types.d.ts +44 -0
- package/dist/landxml/result-types.d.ts.map +1 -1
- package/dist/landxml/writers.d.ts +4 -0
- package/dist/landxml/writers.d.ts.map +1 -1
- package/dist/landxml/writers.js +4 -2
- package/dist/landxml/writers.js.map +1 -1
- package/package.json +8 -7
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* Lives in @ifc-lite/create alongside the in-store builders so the
|
|
12
12
|
* backend layer can call it without needing parser internals.
|
|
13
13
|
*/
|
|
14
|
-
import { EntityExtractor } from '@ifc-lite/parser';
|
|
14
|
+
import { EntityExtractor, effectiveStoreyId, resolveEffectiveRelationshipOverlay } from '@ifc-lite/parser';
|
|
15
15
|
import { iterateEffectiveEntityIds } from '@ifc-lite/mutations';
|
|
16
16
|
import { resolvedTypeName } from '@ifc-lite/data';
|
|
17
17
|
import { asRef, createStyleEntityReader, refList } from './style-entity-reader.js';
|
|
@@ -128,9 +128,25 @@ export function resolveDuplicateSource(store, sourceExpressId, editor) {
|
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
-
//
|
|
132
|
-
//
|
|
133
|
-
const
|
|
131
|
+
// The duplicate must inherit the storey that saving this session would
|
|
132
|
+
// produce, including edited/deleted containment and aggregate ancestors.
|
|
133
|
+
const view = editor?.getMutationView();
|
|
134
|
+
const createdTypes = new Map(view?.getNewEntities().map((e) => [e.expressId, e.type]) ?? []);
|
|
135
|
+
const spatialContext = view?.hasPendingChanges() ? {
|
|
136
|
+
relationships: resolveEffectiveRelationshipOverlay(store, {
|
|
137
|
+
createdEntities: () => view.getNewEntities(),
|
|
138
|
+
mutatedEntityIds: () => view.getEffectiveChanges().map((change) => change.entityId),
|
|
139
|
+
namedAttributes: (id) => view.getAttributeMutationsForEntity(id)
|
|
140
|
+
.map(({ name, value }) => [name, value]),
|
|
141
|
+
positionalAttributes: (id) => view.getPositionalMutationsForEntity(id) ?? [],
|
|
142
|
+
entityType: (id) => view.getEntityTypeMutation(id)?.newType,
|
|
143
|
+
isDeleted: (id) => view.isDeleted(id),
|
|
144
|
+
}),
|
|
145
|
+
isDeleted: (id) => view.isDeleted(id),
|
|
146
|
+
typeName: (id) => view.getEntityTypeMutation(id)?.newType
|
|
147
|
+
?? createdTypes.get(id) ?? store.entities.getTypeName(id),
|
|
148
|
+
} : null;
|
|
149
|
+
const storeyId = effectiveStoreyId(store, sourceExpressId, spatialContext) ?? null;
|
|
134
150
|
// Association rels that reference the source — replayed against
|
|
135
151
|
// the duplicate by `duplicateInStore` so the exported STEP carries
|
|
136
152
|
// the same psets / qsets / material / classifications / documents
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-source.js","sourceRoot":"","sources":["../../src/in-store/resolve-source.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;GASG;AAEH,OAAO,EAAE,eAAe,EAAqB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve-source.js","sourceRoot":"","sources":["../../src/in-store/resolve-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lay out an entity's STEP attributes from the bundled schema registry of the
|
|
3
|
+
* target schema, by EXPRESS attribute name. The type-object and material
|
|
4
|
+
* builders use it because their layouts differ between IFC2X3, IFC4 and
|
|
5
|
+
* IFC4X3 (`IfcMaterial.Category`, `IfcMaterialLayer.Priority`,
|
|
6
|
+
* `IfcMaterialLayerSetUsage.ReferenceExtent`, `IfcDoorType` only from IFC4 on,
|
|
7
|
+
* ...). Reading the layout from the registry keeps every schema right at once,
|
|
8
|
+
* instead of hand-maintaining one attribute order per schema per class.
|
|
9
|
+
*
|
|
10
|
+
* Values: a string on an ENUMERATION attribute is validated against that
|
|
11
|
+
* enumeration and written as `.VALUE.`; a number on a REAL-based attribute is
|
|
12
|
+
* written as a STEP REAL; a boolean on a BOOLEAN/LOGICAL attribute becomes
|
|
13
|
+
* `.T.`/`.F.`; `undefined`/`null` become `$`, which is refused for a mandatory
|
|
14
|
+
* attribute unless it is an enumeration, which defaults to `NOTDEFINED` when
|
|
15
|
+
* the enumeration has that value.
|
|
16
|
+
*/
|
|
17
|
+
import { type SchemaRegistry } from '@ifc-lite/parser';
|
|
18
|
+
import type { SpatialAnchorSchema } from './anchor.js';
|
|
19
|
+
export declare function schemaRegistry(schema: SpatialAnchorSchema | undefined, op: string): SchemaRegistry;
|
|
20
|
+
/** The schema's canonical spelling of `type`, or null when the class does not exist in it. */
|
|
21
|
+
export declare function canonicalEntity(registry: SchemaRegistry, type: string): string | null;
|
|
22
|
+
/**
|
|
23
|
+
* Whether `type` is an `expected` in the schema: the class itself or one of its
|
|
24
|
+
* subtypes, or (transitively) a member of the `expected` SELECT.
|
|
25
|
+
*/
|
|
26
|
+
export declare function conformsTo(registry: SchemaRegistry, type: string, expected: string): boolean;
|
|
27
|
+
export declare function schemaAttributes(registry: SchemaRegistry, type: string, values: Readonly<Record<string, unknown>>, op: string): unknown[];
|
|
28
|
+
//# sourceMappingURL=schema-attributes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-attributes.d.ts","sourceRoot":"","sources":["../../src/in-store/schema-attributes.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAA+B,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAIvD,wBAAgB,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,cAAc,CAIlG;AAED,8FAA8F;AAC9F,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGrF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAO5F;AASD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACzC,EAAE,EAAE,MAAM,GACT,OAAO,EAAE,CAsCX"}
|
|
@@ -0,0 +1,95 @@
|
|
|
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
|
+
/**
|
|
5
|
+
* Lay out an entity's STEP attributes from the bundled schema registry of the
|
|
6
|
+
* target schema, by EXPRESS attribute name. The type-object and material
|
|
7
|
+
* builders use it because their layouts differ between IFC2X3, IFC4 and
|
|
8
|
+
* IFC4X3 (`IfcMaterial.Category`, `IfcMaterialLayer.Priority`,
|
|
9
|
+
* `IfcMaterialLayerSetUsage.ReferenceExtent`, `IfcDoorType` only from IFC4 on,
|
|
10
|
+
* ...). Reading the layout from the registry keeps every schema right at once,
|
|
11
|
+
* instead of hand-maintaining one attribute order per schema per class.
|
|
12
|
+
*
|
|
13
|
+
* Values: a string on an ENUMERATION attribute is validated against that
|
|
14
|
+
* enumeration and written as `.VALUE.`; a number on a REAL-based attribute is
|
|
15
|
+
* written as a STEP REAL; a boolean on a BOOLEAN/LOGICAL attribute becomes
|
|
16
|
+
* `.T.`/`.F.`; `undefined`/`null` become `$`, which is refused for a mandatory
|
|
17
|
+
* attribute unless it is an enumeration, which defaults to `NOTDEFINED` when
|
|
18
|
+
* the enumeration has that value.
|
|
19
|
+
*/
|
|
20
|
+
import { getSchemaRegistryForVersion } from '@ifc-lite/parser';
|
|
21
|
+
export function schemaRegistry(schema, op) {
|
|
22
|
+
const version = schema ?? 'IFC4';
|
|
23
|
+
if (version === 'IFC5')
|
|
24
|
+
throw new Error(`${op}: authoring IFC5 models is not supported; use IFC2X3, IFC4 or IFC4X3`);
|
|
25
|
+
return getSchemaRegistryForVersion(version);
|
|
26
|
+
}
|
|
27
|
+
/** The schema's canonical spelling of `type`, or null when the class does not exist in it. */
|
|
28
|
+
export function canonicalEntity(registry, type) {
|
|
29
|
+
const upper = type.toUpperCase();
|
|
30
|
+
return Object.keys(registry.entities).find((name) => name.toUpperCase() === upper) ?? null;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Whether `type` is an `expected` in the schema: the class itself or one of its
|
|
34
|
+
* subtypes, or (transitively) a member of the `expected` SELECT.
|
|
35
|
+
*/
|
|
36
|
+
export function conformsTo(registry, type, expected) {
|
|
37
|
+
const name = canonicalEntity(registry, type);
|
|
38
|
+
if (!name)
|
|
39
|
+
return false;
|
|
40
|
+
const chain = registry.entities[name].inheritanceChain ?? [name];
|
|
41
|
+
const matches = (target, depth) => chain.includes(target) || (depth < 8 && (registry.selects[target] ?? []).some((member) => matches(member, depth + 1)));
|
|
42
|
+
return matches(expected, 0);
|
|
43
|
+
}
|
|
44
|
+
/** Follow defined types down to the underlying primitive (`IfcLengthMeasure` -> `REAL`). */
|
|
45
|
+
function underlying(registry, type) {
|
|
46
|
+
let current = type;
|
|
47
|
+
for (let hops = 0; hops < 8 && registry.types[current]; hops++)
|
|
48
|
+
current = registry.types[current];
|
|
49
|
+
return current.toUpperCase();
|
|
50
|
+
}
|
|
51
|
+
export function schemaAttributes(registry, type, values, op) {
|
|
52
|
+
const entity = registry.entities[type];
|
|
53
|
+
if (!entity)
|
|
54
|
+
throw new Error(`${op}: ${type} does not exist in ${registry.name}`);
|
|
55
|
+
const known = new Set((entity.allAttributes ?? []).map((a) => a.name));
|
|
56
|
+
for (const name of Object.keys(values)) {
|
|
57
|
+
if (values[name] !== undefined && !known.has(name)) {
|
|
58
|
+
throw new Error(`${op}: ${type} has no attribute ${name} in ${registry.name}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return (entity.allAttributes ?? []).map((attribute) => {
|
|
62
|
+
const value = values[attribute.name];
|
|
63
|
+
const enumValues = registry.enums[attribute.type];
|
|
64
|
+
if (enumValues) {
|
|
65
|
+
const token = value ?? (attribute.optional || !enumValues.includes('NOTDEFINED') ? null : 'NOTDEFINED');
|
|
66
|
+
if (token === null) {
|
|
67
|
+
if (!attribute.optional)
|
|
68
|
+
throw new Error(`${op}: ${type}.${attribute.name} is mandatory`);
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
if (typeof token !== 'string' || !enumValues.includes(token)) {
|
|
72
|
+
throw new Error(`${op}: ${type}.${attribute.name} must be one of ${enumValues.join(', ')}; got ${String(token)}`);
|
|
73
|
+
}
|
|
74
|
+
return `.${token}.`;
|
|
75
|
+
}
|
|
76
|
+
if (value === undefined || value === null) {
|
|
77
|
+
if (!attribute.optional)
|
|
78
|
+
throw new Error(`${op}: ${type}.${attribute.name} is mandatory`);
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
const primitive = underlying(registry, attribute.type);
|
|
82
|
+
if (typeof value === 'boolean') {
|
|
83
|
+
if (primitive !== 'BOOLEAN' && primitive !== 'LOGICAL')
|
|
84
|
+
throw new Error(`${op}: ${type}.${attribute.name} is not a boolean`);
|
|
85
|
+
return value ? '.T.' : '.F.';
|
|
86
|
+
}
|
|
87
|
+
if (typeof value === 'number') {
|
|
88
|
+
if (!Number.isFinite(value))
|
|
89
|
+
throw new Error(`${op}: ${type}.${attribute.name} must be finite`);
|
|
90
|
+
return primitive === 'REAL' || primitive === 'NUMBER' ? { real: value } : value;
|
|
91
|
+
}
|
|
92
|
+
return value;
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=schema-attributes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-attributes.js","sourceRoot":"","sources":["../../src/in-store/schema-attributes.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,4 +35,11 @@ export interface WindowBuildResult {
|
|
|
35
35
|
relContainedId: number;
|
|
36
36
|
}
|
|
37
37
|
export declare function addWindowToStore(editor: StoreEditor, anchor: SpatialAnchor, params: WindowInStoreParams): WindowBuildResult;
|
|
38
|
+
/**
|
|
39
|
+
* IfcWindow's attributes after the IfcElement header: OverallHeight and
|
|
40
|
+
* OverallWidth in every schema, then PredefinedType / PartitioningType /
|
|
41
|
+
* UserDefinedPartitioningType from IFC4 on. Shared by the hosted window
|
|
42
|
+
* builder. `Height`/`Width` must already be in the native length unit.
|
|
43
|
+
*/
|
|
44
|
+
export declare function windowAttributeTail(schema: SpatialAnchor['schema'], params: Pick<WindowInStoreParams, 'Height' | 'Width' | 'PredefinedType' | 'PartitioningType' | 'UserDefinedPartitioningType'>): unknown[];
|
|
38
45
|
//# sourceMappingURL=window.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../src/in-store/window.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAkC,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AA8BjF,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,cAAc,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,YAAY,CAAC;IACpF,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kFAAkF;IAClF,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,mBAAmB,GAC1B,iBAAiB,CA+
|
|
1
|
+
{"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../src/in-store/window.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAkC,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AA8BjF,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,cAAc,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,YAAY,CAAC;IACpF,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kFAAkF;IAClF,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,mBAAmB,GAC1B,iBAAiB,CA+BnB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,EAC/B,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,OAAO,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,6BAA6B,CAAC,GAC5H,OAAO,EAAE,CAeX"}
|
package/dist/in-store/window.js
CHANGED
|
@@ -41,26 +41,33 @@ export function addWindowToStore(editor, anchor, params) {
|
|
|
41
41
|
const profileId = emitRectangleProfile(editor, params.Width, thickness);
|
|
42
42
|
const solidId = emitExtrudedSolid(editor, profileId, params.Height);
|
|
43
43
|
const { shapeRepId, productShapeId } = emitBodyRepresentation(editor, anchor.bodyContextId, solidId);
|
|
44
|
-
const isIFC2X3 = (anchor.schema ?? 'IFC4') === 'IFC2X3';
|
|
45
44
|
const attrs = ifcElementHeader(anchor.ownerHistoryId, placementId, productShapeId, params, 'Window', anchor.guidRandom);
|
|
46
|
-
attrs.push(
|
|
47
|
-
if (!isIFC2X3) {
|
|
48
|
-
// Free-form values that aren't part of IfcWindowTypePartitioningEnum
|
|
49
|
-
// are normalised to .USERDEFINED. + UserDefinedPartitioningType so
|
|
50
|
-
// they round-trip through STEP without producing invalid `.<value>.`
|
|
51
|
-
// enum tokens.
|
|
52
|
-
const requested = params.PartitioningType ?? 'NOTDEFINED';
|
|
53
|
-
const isKnownEnum = WINDOW_PARTITIONING_ENUM.has(requested);
|
|
54
|
-
const partitioningType = isKnownEnum ? requested : 'USERDEFINED';
|
|
55
|
-
const userDefined = partitioningType === 'USERDEFINED'
|
|
56
|
-
? (isKnownEnum ? params.UserDefinedPartitioningType ?? null : requested)
|
|
57
|
-
: null;
|
|
58
|
-
attrs.push(`.${params.PredefinedType ?? 'NOTDEFINED'}.`);
|
|
59
|
-
attrs.push(`.${partitioningType}.`);
|
|
60
|
-
attrs.push(userDefined);
|
|
61
|
-
}
|
|
45
|
+
attrs.push(...windowAttributeTail(anchor.schema, params));
|
|
62
46
|
const windowId = editor.addEntity('IfcWindow', attrs).expressId;
|
|
63
47
|
const relContainedId = emitRelContainedInSpatialStructure(editor, anchor.ownerHistoryId, windowId, anchor.storeyId, anchor.guidRandom);
|
|
64
48
|
return { windowId, placementId, profileId, solidId, shapeRepId, productShapeId, relContainedId };
|
|
65
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* IfcWindow's attributes after the IfcElement header: OverallHeight and
|
|
52
|
+
* OverallWidth in every schema, then PredefinedType / PartitioningType /
|
|
53
|
+
* UserDefinedPartitioningType from IFC4 on. Shared by the hosted window
|
|
54
|
+
* builder. `Height`/`Width` must already be in the native length unit.
|
|
55
|
+
*/
|
|
56
|
+
export function windowAttributeTail(schema, params) {
|
|
57
|
+
const tail = [params.Height, params.Width];
|
|
58
|
+
if ((schema ?? 'IFC4') === 'IFC2X3')
|
|
59
|
+
return tail;
|
|
60
|
+
// Free-form values that aren't part of IfcWindowTypePartitioningEnum
|
|
61
|
+
// are normalised to .USERDEFINED. + UserDefinedPartitioningType so
|
|
62
|
+
// they round-trip through STEP without producing invalid `.<value>.`
|
|
63
|
+
// enum tokens.
|
|
64
|
+
const requested = params.PartitioningType ?? 'NOTDEFINED';
|
|
65
|
+
const isKnownEnum = WINDOW_PARTITIONING_ENUM.has(requested);
|
|
66
|
+
const partitioningType = isKnownEnum ? requested : 'USERDEFINED';
|
|
67
|
+
const userDefined = partitioningType === 'USERDEFINED'
|
|
68
|
+
? (isKnownEnum ? params.UserDefinedPartitioningType ?? null : requested)
|
|
69
|
+
: null;
|
|
70
|
+
tail.push(`.${params.PredefinedType ?? 'NOTDEFINED'}.`, `.${partitioningType}.`, userDefined);
|
|
71
|
+
return tail;
|
|
72
|
+
}
|
|
66
73
|
//# sourceMappingURL=window.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window.js","sourceRoot":"","sources":["../../src/in-store/window.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAS/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAsB,MAAM,aAAa,CAAC;AACjF,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,kCAAkC,EAClC,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B;;;;GAIG;AACH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IACvC,cAAc;IACd,uBAAuB;IACvB,yBAAyB;IACzB,uBAAuB;IACvB,qBAAqB;IACrB,kBAAkB;IAClB,mBAAmB;IACnB,oBAAoB;IACpB,yBAAyB;IACzB,aAAa;IACb,YAAY;CACb,CAAC,CAAC;AAiCH,MAAM,UAAU,gBAAgB,CAC9B,MAAmB,EACnB,MAAqB,EACrB,MAA2B;IAE3B,kBAAkB,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,kBAAkB,CAAC,CAAC;IACtE,oBAAoB,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,qDAAqD,CAAC,CAAC;IAC3G,oBAAoB,CAClB,CAAC,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,EAC/B,mDAAmD,CACpD,CAAC;IACF,yEAAyE;IACzE,sEAAsE;IACtE,wDAAwD;IACxD,MAAM,GAAG;QACP,GAAG,MAAM;QACT,QAAQ,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;QACjD,KAAK,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;QAC3C,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QAC7C,cAAc,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC;KACtE,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,cAAwB,CAAC;IAElD,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1F,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACpE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAErG,MAAM,
|
|
1
|
+
{"version":3,"file":"window.js","sourceRoot":"","sources":["../../src/in-store/window.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -39,6 +39,12 @@ export { addSlabToStore, type SlabInStoreParams, type SlabRectangleParams, type
|
|
|
39
39
|
export { addBeamToStore, type BeamInStoreParams, type BeamBuildResult } from './in-store/beam.js';
|
|
40
40
|
export { addDoorToStore, type DoorInStoreParams, type DoorBuildResult } from './in-store/door.js';
|
|
41
41
|
export { addWindowToStore, type WindowInStoreParams, type WindowBuildResult } from './in-store/window.js';
|
|
42
|
+
export { addOpeningToStore, type OpeningInStoreParams, type WallOpeningInStoreParams, type SlabOpeningInStoreParams, type OpeningBuildResult, } from './in-store/opening.js';
|
|
43
|
+
export { addHostedDoorToStore, addHostedWindowToStore, type HostedDoorInStoreParams, type HostedWindowInStoreParams, type HostedFillBuildResult, } from './in-store/hosted-fill.js';
|
|
44
|
+
export { addElementTypeToStore, assignTypeInStore, type AuthoringAnchor, type ElementTypeInStoreParams, type ElementTypeBuildResult, } from './in-store/element-type.js';
|
|
45
|
+
export { addMaterialToStore, addMaterialLayerSetToStore, addMaterialLayerSetUsageToStore, assignMaterialInStore, type MaterialInStoreParams, type MaterialLayerInStoreParams, type MaterialLayerSetInStoreParams, type MaterialLayerSetBuildResult, type MaterialLayerSetUsageInStoreParams, } from './in-store/material.js';
|
|
46
|
+
export type { OneToManyResult } from './in-store/relate.js';
|
|
47
|
+
export { resolveAuthoringAnchor, readRelatedLists, liveEntityType, liveEntityConforms } from './in-store/resolve-relations.js';
|
|
42
48
|
export { addSpaceToStore, type SpaceInStoreParams, type SpaceRectangleParams, type SpacePolygonParams, type SpaceBuildResult } from './in-store/space.js';
|
|
43
49
|
export { addSpatialZonesToStore, spatialZonesSupported, type SpatialZoneInput, type SpatialZoneInStoreParams, type SpatialZoneBuildResult, type SpatialZoneType, } from './in-store/spatial-zone.js';
|
|
44
50
|
export { applyStylesInStore, collectLeafRepresentationItems, type ApplyStyleOptions, type ApplyStyleResult, type StyleBatch, type SurfaceStyleColor, } from './in-store/apply-style.js';
|
|
@@ -48,8 +54,9 @@ export { addMemberToStore, type MemberInStoreParams, type MemberBuildResult } fr
|
|
|
48
54
|
export { addCostScheduleToStore, addCostItemToStore, addCostValueToStore, addCostQuantityToStore, nestCostItemsInStore, assignCostItemsToScheduleInStore, assignObjectsToCostItemInStore, attachCostValuesToItemInStore, type CostAnchor, type ExistingRelatedList, } from './in-store/cost.js';
|
|
49
55
|
export { removeCostEntityInStore, type CostRemovalReferrers } from './in-store/cost-removal.js';
|
|
50
56
|
export { resolveSpatialAnchor } from './in-store/resolve-anchor.js';
|
|
57
|
+
export { resolveHostAnchor } from './in-store/resolve-host.js';
|
|
51
58
|
export { toNativeLength, fromNativeLength } from './in-store/anchor.js';
|
|
52
|
-
export type { SpatialAnchor } from './in-store/anchor.js';
|
|
59
|
+
export type { SpatialAnchor, HostAnchor, HostBounds, HostKind } from './in-store/anchor.js';
|
|
53
60
|
export { duplicateInStore, type SourceAttributes, type DuplicateInStoreOptions, type DuplicateBuildResult, type Vec3 as DuplicateVec3, } from './in-store/duplicate.js';
|
|
54
61
|
export { resolveDuplicateSource } from './in-store/resolve-source.js';
|
|
55
62
|
export { detectEnclosedAreas, type Vec2 as AutoSpaceVec2, type Segment as AutoSpaceSegment, type DetectedSpace, type DetectOptions as AutoSpaceDetectOptions, } from './in-store/auto-space-detect.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -38,6 +38,11 @@ export { addSlabToStore } from './in-store/slab.js';
|
|
|
38
38
|
export { addBeamToStore } from './in-store/beam.js';
|
|
39
39
|
export { addDoorToStore } from './in-store/door.js';
|
|
40
40
|
export { addWindowToStore } from './in-store/window.js';
|
|
41
|
+
export { addOpeningToStore, } from './in-store/opening.js';
|
|
42
|
+
export { addHostedDoorToStore, addHostedWindowToStore, } from './in-store/hosted-fill.js';
|
|
43
|
+
export { addElementTypeToStore, assignTypeInStore, } from './in-store/element-type.js';
|
|
44
|
+
export { addMaterialToStore, addMaterialLayerSetToStore, addMaterialLayerSetUsageToStore, assignMaterialInStore, } from './in-store/material.js';
|
|
45
|
+
export { resolveAuthoringAnchor, readRelatedLists, liveEntityType, liveEntityConforms } from './in-store/resolve-relations.js';
|
|
41
46
|
export { addSpaceToStore } from './in-store/space.js';
|
|
42
47
|
export { addSpatialZonesToStore, spatialZonesSupported, } from './in-store/spatial-zone.js';
|
|
43
48
|
export { applyStylesInStore, collectLeafRepresentationItems, } from './in-store/apply-style.js';
|
|
@@ -47,6 +52,7 @@ export { addMemberToStore } from './in-store/member.js';
|
|
|
47
52
|
export { addCostScheduleToStore, addCostItemToStore, addCostValueToStore, addCostQuantityToStore, nestCostItemsInStore, assignCostItemsToScheduleInStore, assignObjectsToCostItemInStore, attachCostValuesToItemInStore, } from './in-store/cost.js';
|
|
48
53
|
export { removeCostEntityInStore } from './in-store/cost-removal.js';
|
|
49
54
|
export { resolveSpatialAnchor } from './in-store/resolve-anchor.js';
|
|
55
|
+
export { resolveHostAnchor } from './in-store/resolve-host.js';
|
|
50
56
|
export { toNativeLength, fromNativeLength } from './in-store/anchor.js';
|
|
51
57
|
export { duplicateInStore, } from './in-store/duplicate.js';
|
|
52
58
|
export { resolveDuplicateSource } from './in-store/resolve-source.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Why rail cant and road superelevation are refused, and on which alignments
|
|
3
|
+
* (mapping spec §13).
|
|
4
|
+
*
|
|
5
|
+
* Both are refused on purpose, for reasons that are about IFC 4.3 ADD2 and the
|
|
6
|
+
* source format rather than about missing code, so the refusal says which:
|
|
7
|
+
*
|
|
8
|
+
* - cant has an IFC home (`IfcAlignmentCant`), but IFC permits it only beside
|
|
9
|
+
* a vertical layout and requires an `IfcSegmentedReferenceCurve` for it that
|
|
10
|
+
* no engine this repo does not control can yet regenerate (§13.2);
|
|
11
|
+
* - superelevation has an IFC home too (`IfcReferent` `.SUPERELEVATIONEVENT.`
|
|
12
|
+
* with `Pset_Superelevation`), but it needs values LandXML does not carry
|
|
13
|
+
* (§13.4).
|
|
14
|
+
*
|
|
15
|
+
* The records stay opaque (`source-types.ts`): only the alignment's name and
|
|
16
|
+
* how many records it carries are read, so a refusal cannot quietly become a
|
|
17
|
+
* partial export.
|
|
18
|
+
*/
|
|
19
|
+
import type { LandXmlIfcAlignment } from './source-types.js';
|
|
20
|
+
/** §13.2, in the operator's terms. */
|
|
21
|
+
export declare const CANT_REFUSAL_REASON: string;
|
|
22
|
+
/** §13.4, in the operator's terms. */
|
|
23
|
+
export declare const SUPERELEVATION_REFUSAL_REASON: string;
|
|
24
|
+
/** Every alignment that carries cant, named with its station count. */
|
|
25
|
+
export declare function cantRefusalMessage(alignments: readonly LandXmlIfcAlignment[]): string;
|
|
26
|
+
/** Every alignment that carries superelevation, named with its block count. */
|
|
27
|
+
export declare function superelevationRefusalMessage(alignments: readonly LandXmlIfcAlignment[]): string;
|
|
28
|
+
//# sourceMappingURL=cant-superelevation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cant-superelevation.d.ts","sourceRoot":"","sources":["../../src/landxml/cant-superelevation.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,sCAAsC;AACtC,eAAO,MAAM,mBAAmB,QAK+C,CAAC;AAEhF,sCAAsC;AACtC,eAAO,MAAM,6BAA6B,QAIgB,CAAC;AAI3D,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,SAAS,mBAAmB,EAAE,GAAG,MAAM,CAMrF;AAED,+EAA+E;AAC/E,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,SAAS,mBAAmB,EAAE,GAAG,MAAM,CAO/F"}
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
/** §13.2, in the operator's terms. */
|
|
5
|
+
export const CANT_REFUSAL_REASON = 'IFC 4.3 carries rail cant as an IfcAlignmentCant, which it permits only together with a vertical layout '
|
|
6
|
+
+ '(cant heights are measured from it), and whose geometry must be an IfcSegmentedReferenceCurve on that '
|
|
7
|
+
+ "layout's IfcGradientCurve; that geometry cannot yet be checked by an independent engine, and LandXML "
|
|
8
|
+
+ "gives the track gauge, not the rail-head distance IFC needs, so the alignment is written with its "
|
|
9
|
+
+ 'horizontal (and, where profiled, vertical) layout only (mapping spec §13)';
|
|
10
|
+
/** §13.4, in the operator's terms. */
|
|
11
|
+
export const SUPERELEVATION_REFUSAL_REASON = 'IFC 4.3 carries road superelevation as IfcReferent .SUPERELEVATIONEVENT. with Pset_Superelevation, which '
|
|
12
|
+
+ 'needs a cross slope and a side at every event; LandXML gives the event stations and one FullSuperelev rate, '
|
|
13
|
+
+ 'but not the normal-crown slope at the runout events, nor the side, nor an unambiguous scale for the rate, '
|
|
14
|
+
+ 'so writing it would invent values (mapping spec §13)';
|
|
15
|
+
const plural = (count, word) => `${count} ${word}${count === 1 ? '' : 's'}`;
|
|
16
|
+
/** Every alignment that carries cant, named with its station count. */
|
|
17
|
+
export function cantRefusalMessage(alignments) {
|
|
18
|
+
const carrying = alignments.filter((alignment) => alignment.cant || (alignment.cantStations?.length ?? 0) > 0);
|
|
19
|
+
const named = carrying.map((alignment) => `'${alignment.name || alignment.sourceId}': ${plural(alignment.cantStations?.length ?? 0, 'CantStation')}`);
|
|
20
|
+
return `${plural(carrying.length, 'cant record')} will not be included (${named.join('; ')}): `
|
|
21
|
+
+ `${CANT_REFUSAL_REASON}.`;
|
|
22
|
+
}
|
|
23
|
+
/** Every alignment that carries superelevation, named with its block count. */
|
|
24
|
+
export function superelevationRefusalMessage(alignments) {
|
|
25
|
+
const carrying = alignments.filter((alignment) => (alignment.superelevations?.length ?? 0) > 0);
|
|
26
|
+
const total = carrying.reduce((n, alignment) => n + (alignment.superelevations?.length ?? 0), 0);
|
|
27
|
+
const named = carrying.map((alignment) => `'${alignment.name || alignment.sourceId}': ${plural(alignment.superelevations?.length ?? 0, 'Superelevation block')}`);
|
|
28
|
+
return `${plural(total, 'superelevation record')} will not be included (${named.join('; ')}): `
|
|
29
|
+
+ `${SUPERELEVATION_REFUSAL_REASON}.`;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=cant-superelevation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cant-superelevation.js","sourceRoot":"","sources":["../../src/landxml/cant-superelevation.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAuB/D,sCAAsC;AACtC,MAAM,CAAC,MAAM,mBAAmB,GAC9B,0GAA0G;MACxG,wGAAwG;MACxG,uGAAuG;MACvG,oGAAoG;MACpG,2EAA2E,CAAC;AAEhF,sCAAsC;AACtC,MAAM,CAAC,MAAM,6BAA6B,GACxC,2GAA2G;MACzG,8GAA8G;MAC9G,4GAA4G;MAC5G,sDAAsD,CAAC;AAE3D,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,IAAY,EAAU,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAEpG,uEAAuE;AACvE,MAAM,UAAU,kBAAkB,CAAC,UAA0C;IAC3E,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/G,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACvC,IAAI,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,QAAQ,MAAM,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;IAC9G,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,0BAA0B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;UAC3F,GAAG,mBAAmB,GAAG,CAAC;AAChC,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,4BAA4B,CAAC,UAA0C;IACrF,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChG,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjG,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACvC,IAAI,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,QAAQ,MAAM,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,EAAE,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAC1H,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,uBAAuB,CAAC,0BAA0B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;UAC3F,GAAG,6BAA6B,GAAG,CAAC;AAC1C,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type CrsPlausibilityBounds } from './coordinate-plausibility.js';
|
|
2
2
|
import type { LandXmlIfcSource } from './source-types.js';
|
|
3
|
-
import type { LandXmlIfcResult } from './result-types.js';
|
|
3
|
+
import type { LandXmlIfcImagery, LandXmlIfcResult } from './result-types.js';
|
|
4
4
|
/** The mapping-document version this converter implements. */
|
|
5
|
-
export declare const LANDXML_IFC_MAPPING_VERSION = "1.
|
|
5
|
+
export declare const LANDXML_IFC_MAPPING_VERSION = "1.4";
|
|
6
6
|
export interface LandXmlIfcOptions {
|
|
7
7
|
/** Recorded as provenance (§7); never used to decide anything. */
|
|
8
8
|
sourceFileName?: string;
|
|
@@ -27,6 +27,12 @@ export interface LandXmlIfcOptions {
|
|
|
27
27
|
* (§2.2 item 2). Recorded as provenance, exactly like the units override.
|
|
28
28
|
*/
|
|
29
29
|
swapNorthingEasting?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Imagery the caller will texture on the TIN (§15.5), recorded as
|
|
32
|
+
* provenance in `LandXML_Conversion`. The texture is not written here: the
|
|
33
|
+
* appearance workspace's planner writes it on `surfaceElements`.
|
|
34
|
+
*/
|
|
35
|
+
imagery?: LandXmlIfcImagery;
|
|
30
36
|
/** Fixed epoch-ms, for byte-deterministic output. */
|
|
31
37
|
timestampMs?: number;
|
|
32
38
|
Author?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"landxml-to-ifc.d.ts","sourceRoot":"","sources":["../../src/landxml/landxml-to-ifc.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAwB,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAMhG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"landxml-to-ifc.d.ts","sourceRoot":"","sources":["../../src/landxml/landxml-to-ifc.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAwB,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAMhG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACU,iBAAiB,EAAwB,gBAAgB,EAC9E,MAAM,mBAAmB,CAAC;AAE3B,8DAA8D;AAC9D,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,GAAG,CAAC,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,2EAA2E;QAC3E,MAAM,CAAC,EAAE,qBAAqB,CAAC;KAChC,CAAC;IACF;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,GAAE,iBAAsB,GAAG,gBAAgB,CAsIxG"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
/**
|
|
5
5
|
* LandXML → IFC4X3, v1.
|
|
6
6
|
*
|
|
7
|
-
* Implements `docs/architecture/landxml-to-ifc-mapping.md` v1.
|
|
7
|
+
* Implements `docs/architecture/landxml-to-ifc-mapping.md` (v1.4). That document
|
|
8
8
|
* is the contract; anything not written there is not in v1, and a change to the
|
|
9
9
|
* mapping is a change to that document first.
|
|
10
10
|
*
|
|
@@ -31,7 +31,7 @@ import { mapProfiles } from './profile-mapping.js';
|
|
|
31
31
|
import { stationEquationsOf } from './station-equations.js';
|
|
32
32
|
import { writeAlignments, writeSurfaces, writeSurveyPoints } from './writers.js';
|
|
33
33
|
/** The mapping-document version this converter implements. */
|
|
34
|
-
export const LANDXML_IFC_MAPPING_VERSION = '1.
|
|
34
|
+
export const LANDXML_IFC_MAPPING_VERSION = '1.4';
|
|
35
35
|
/** Deterministic GlobalId from a LandXML source id (§4.3, §10). */
|
|
36
36
|
export function landXmlGlobalId(sourceId) {
|
|
37
37
|
return uuidToIfcGuid(uuidFromSeed(sourceId));
|
|
@@ -146,12 +146,14 @@ export function landXmlToIfc(source, options = {}) {
|
|
|
146
146
|
assumedLinearUnit: units.assumed ? units.linearUnit : null,
|
|
147
147
|
coordinateOrderSwapped: swap,
|
|
148
148
|
refusedFamilies: refusals.map((refusal) => refusal.family),
|
|
149
|
+
...(options.imagery ? { imagery: options.imagery } : {}),
|
|
149
150
|
};
|
|
150
151
|
writeProvenance(terrain, provenance, coverage);
|
|
151
152
|
return {
|
|
152
153
|
status: 'exported',
|
|
153
154
|
content: creator.toIfc().content,
|
|
154
155
|
coverage,
|
|
156
|
+
surfaceElements: surfaceResult.elements,
|
|
155
157
|
provenance,
|
|
156
158
|
refusals,
|
|
157
159
|
warnings,
|
|
@@ -194,10 +196,40 @@ function writeProvenance(terrain, provenance, coverage) {
|
|
|
194
196
|
{ Name: 'ExportedSurveyPoints', Value: String(coverage.surveyPoints) },
|
|
195
197
|
{ Name: 'ExportedAlignments', Value: String(coverage.alignments ?? 0) },
|
|
196
198
|
{ Name: 'ExportedProfiles', Value: String(coverage.profiles ?? 0) },
|
|
199
|
+
...imageryProperties(provenance.imagery),
|
|
197
200
|
];
|
|
198
201
|
terrain.addPropertySet(terrain.siteId, {
|
|
199
202
|
Name: 'LandXML_Conversion',
|
|
200
203
|
Properties: properties,
|
|
201
204
|
});
|
|
202
205
|
}
|
|
206
|
+
/** A number as provenance text: full precision, never an exponent. */
|
|
207
|
+
function plain(value) {
|
|
208
|
+
return Number.isInteger(value) ? String(value) : String(Number(value.toPrecision(15)));
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* §15.5 — the imagery rows of `LandXML_Conversion`, written only when imagery
|
|
212
|
+
* is exported. The projection is spelled out so a reader can recompute every
|
|
213
|
+
* UV from the file alone: `u = (P − O)·U / W`, `v = (P − O)·V / H`.
|
|
214
|
+
*/
|
|
215
|
+
function imageryProperties(imagery) {
|
|
216
|
+
if (!imagery)
|
|
217
|
+
return [];
|
|
218
|
+
const { projection: p } = imagery;
|
|
219
|
+
const pair = (value) => `(${plain(value[0])}, ${plain(value[1])})`;
|
|
220
|
+
return [
|
|
221
|
+
{ Name: 'ImagerySourceFileName', Value: imagery.sourceFileName },
|
|
222
|
+
{ Name: 'ImagerySourceHash', Value: imagery.sourceHash },
|
|
223
|
+
{ Name: 'ImageryPlacement', Value: imagery.placement },
|
|
224
|
+
{ Name: 'ImageryCrs', Value: imagery.crs },
|
|
225
|
+
{
|
|
226
|
+
Name: 'ImageryProjection',
|
|
227
|
+
Value: `planar in ${p.crs}: O ${pair(p.origin)}, U ${pair(p.axisU)}, V ${pair(p.axisV)}, `
|
|
228
|
+
+ `W ${plain(p.extent[0])}, H ${plain(p.extent[1])}`,
|
|
229
|
+
},
|
|
230
|
+
{ Name: 'ImageryCoveredFraction', Value: plain(imagery.coveredFraction) },
|
|
231
|
+
...(imagery.shippedFileName ? [{ Name: 'ImageryShippedFileName', Value: imagery.shippedFileName }] : []),
|
|
232
|
+
...(imagery.shippedHash ? [{ Name: 'ImageryShippedHash', Value: imagery.shippedHash }] : []),
|
|
233
|
+
];
|
|
234
|
+
}
|
|
203
235
|
//# sourceMappingURL=landxml-to-ifc.js.map
|