@ifc-lite/create 2.9.2 → 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.
Files changed (129) hide show
  1. package/dist/ifc-creator-alignment-referents.d.ts +35 -0
  2. package/dist/ifc-creator-alignment-referents.d.ts.map +1 -0
  3. package/dist/ifc-creator-alignment-referents.js +89 -0
  4. package/dist/ifc-creator-alignment-referents.js.map +1 -0
  5. package/dist/ifc-creator-alignment-vertical.d.ts +40 -0
  6. package/dist/ifc-creator-alignment-vertical.d.ts.map +1 -0
  7. package/dist/ifc-creator-alignment-vertical.js +182 -0
  8. package/dist/ifc-creator-alignment-vertical.js.map +1 -0
  9. package/dist/ifc-creator-alignment.d.ts +15 -0
  10. package/dist/ifc-creator-alignment.d.ts.map +1 -1
  11. package/dist/ifc-creator-alignment.js +27 -28
  12. package/dist/ifc-creator-alignment.js.map +1 -1
  13. package/dist/ifc-creator-math.d.ts +20 -0
  14. package/dist/ifc-creator-math.d.ts.map +1 -1
  15. package/dist/ifc-creator-math.js +62 -3
  16. package/dist/ifc-creator-math.js.map +1 -1
  17. package/dist/ifc-creator.d.ts.map +1 -1
  18. package/dist/ifc-creator.js +3 -7
  19. package/dist/ifc-creator.js.map +1 -1
  20. package/dist/in-store/_emit-helpers.d.ts +2 -1
  21. package/dist/in-store/_emit-helpers.d.ts.map +1 -1
  22. package/dist/in-store/_emit-helpers.js +7 -7
  23. package/dist/in-store/_emit-helpers.js.map +1 -1
  24. package/dist/in-store/anchor.d.ts +25 -0
  25. package/dist/in-store/anchor.d.ts.map +1 -1
  26. package/dist/in-store/column.d.ts +8 -0
  27. package/dist/in-store/column.d.ts.map +1 -1
  28. package/dist/in-store/column.js +16 -9
  29. package/dist/in-store/column.js.map +1 -1
  30. package/dist/in-store/door.d.ts +10 -4
  31. package/dist/in-store/door.d.ts.map +1 -1
  32. package/dist/in-store/door.js +23 -17
  33. package/dist/in-store/door.js.map +1 -1
  34. package/dist/in-store/element-type.d.ts +40 -0
  35. package/dist/in-store/element-type.d.ts.map +1 -0
  36. package/dist/in-store/element-type.js +60 -0
  37. package/dist/in-store/element-type.js.map +1 -0
  38. package/dist/in-store/extract-walls.d.ts.map +1 -1
  39. package/dist/in-store/extract-walls.js +17 -15
  40. package/dist/in-store/extract-walls.js.map +1 -1
  41. package/dist/in-store/hosted-fill.d.ts +48 -0
  42. package/dist/in-store/hosted-fill.d.ts.map +1 -0
  43. package/dist/in-store/hosted-fill.js +58 -0
  44. package/dist/in-store/hosted-fill.js.map +1 -0
  45. package/dist/in-store/material.d.ts +62 -0
  46. package/dist/in-store/material.d.ts.map +1 -0
  47. package/dist/in-store/material.js +107 -0
  48. package/dist/in-store/material.js.map +1 -0
  49. package/dist/in-store/opening.d.ts +45 -0
  50. package/dist/in-store/opening.d.ts.map +1 -0
  51. package/dist/in-store/opening.js +104 -0
  52. package/dist/in-store/opening.js.map +1 -0
  53. package/dist/in-store/placement-frame.d.ts.map +1 -1
  54. package/dist/in-store/placement-frame.js +19 -4
  55. package/dist/in-store/placement-frame.js.map +1 -1
  56. package/dist/in-store/relate.d.ts +32 -0
  57. package/dist/in-store/relate.d.ts.map +1 -0
  58. package/dist/in-store/relate.js +39 -0
  59. package/dist/in-store/relate.js.map +1 -0
  60. package/dist/in-store/resolve-anchor.d.ts +21 -1
  61. package/dist/in-store/resolve-anchor.d.ts.map +1 -1
  62. package/dist/in-store/resolve-anchor.js +6 -2
  63. package/dist/in-store/resolve-anchor.js.map +1 -1
  64. package/dist/in-store/resolve-host.d.ts +5 -0
  65. package/dist/in-store/resolve-host.d.ts.map +1 -0
  66. package/dist/in-store/resolve-host.js +249 -0
  67. package/dist/in-store/resolve-host.js.map +1 -0
  68. package/dist/in-store/resolve-relations.d.ts +23 -0
  69. package/dist/in-store/resolve-relations.d.ts.map +1 -0
  70. package/dist/in-store/resolve-relations.js +57 -0
  71. package/dist/in-store/resolve-relations.js.map +1 -0
  72. package/dist/in-store/resolve-source.d.ts.map +1 -1
  73. package/dist/in-store/resolve-source.js +20 -4
  74. package/dist/in-store/resolve-source.js.map +1 -1
  75. package/dist/in-store/schema-attributes.d.ts +28 -0
  76. package/dist/in-store/schema-attributes.d.ts.map +1 -0
  77. package/dist/in-store/schema-attributes.js +95 -0
  78. package/dist/in-store/schema-attributes.js.map +1 -0
  79. package/dist/in-store/spatial-zone.d.ts.map +1 -1
  80. package/dist/in-store/spatial-zone.js +5 -5
  81. package/dist/in-store/spatial-zone.js.map +1 -1
  82. package/dist/in-store/wall.d.ts.map +1 -1
  83. package/dist/in-store/wall.js +4 -14
  84. package/dist/in-store/wall.js.map +1 -1
  85. package/dist/in-store/window.d.ts +7 -0
  86. package/dist/in-store/window.d.ts.map +1 -1
  87. package/dist/in-store/window.js +24 -17
  88. package/dist/in-store/window.js.map +1 -1
  89. package/dist/index.d.ts +12 -2
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +6 -0
  92. package/dist/index.js.map +1 -1
  93. package/dist/landxml/cant-superelevation.d.ts +28 -0
  94. package/dist/landxml/cant-superelevation.d.ts.map +1 -0
  95. package/dist/landxml/cant-superelevation.js +31 -0
  96. package/dist/landxml/cant-superelevation.js.map +1 -0
  97. package/dist/landxml/landxml-to-ifc.d.ts +8 -2
  98. package/dist/landxml/landxml-to-ifc.d.ts.map +1 -1
  99. package/dist/landxml/landxml-to-ifc.js +42 -4
  100. package/dist/landxml/landxml-to-ifc.js.map +1 -1
  101. package/dist/landxml/profile-geometry.d.ts +50 -0
  102. package/dist/landxml/profile-geometry.d.ts.map +1 -0
  103. package/dist/landxml/profile-geometry.js +221 -0
  104. package/dist/landxml/profile-geometry.js.map +1 -0
  105. package/dist/landxml/profile-mapping.d.ts +36 -0
  106. package/dist/landxml/profile-mapping.d.ts.map +1 -0
  107. package/dist/landxml/profile-mapping.js +181 -0
  108. package/dist/landxml/profile-mapping.js.map +1 -0
  109. package/dist/landxml/profile-record.d.ts +46 -0
  110. package/dist/landxml/profile-record.d.ts.map +1 -0
  111. package/dist/landxml/profile-record.js +38 -0
  112. package/dist/landxml/profile-record.js.map +1 -0
  113. package/dist/landxml/refusals.d.ts +5 -1
  114. package/dist/landxml/refusals.d.ts.map +1 -1
  115. package/dist/landxml/refusals.js +36 -8
  116. package/dist/landxml/refusals.js.map +1 -1
  117. package/dist/landxml/result-types.d.ts +49 -0
  118. package/dist/landxml/result-types.d.ts.map +1 -1
  119. package/dist/landxml/station-equations.d.ts +69 -0
  120. package/dist/landxml/station-equations.d.ts.map +1 -0
  121. package/dist/landxml/station-equations.js +140 -0
  122. package/dist/landxml/station-equations.js.map +1 -0
  123. package/dist/landxml/writers.d.ts +7 -1
  124. package/dist/landxml/writers.d.ts.map +1 -1
  125. package/dist/landxml/writers.js +22 -3
  126. package/dist/landxml/writers.js.map +1 -1
  127. package/dist/types.d.ts +13 -9
  128. package/dist/types.d.ts.map +1 -1
  129. package/package.json +8 -7
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spatial-zone.d.ts","sourceRoot":"","sources":["../../src/in-store/spatial-zone.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAkC,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjF;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf;;gFAE4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACrC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG,sBAAsB,GAAG,GAAG,sBAAsB,EAAE,CAAC;AAInF,MAAM,WAAW,wBAAwB;IACvC,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B;;;;OAIG;IACH,eAAe,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC,4EAA4E;IAC5E,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC;;iDAE6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;0BAGsB;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,qEAAqE;IACrE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2EAA2E;IAC3E,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AA2CD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,OAAO,CAE9E;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,wBAAwB,GAC/B,sBAAsB,CAiIxB"}
1
+ {"version":3,"file":"spatial-zone.d.ts","sourceRoot":"","sources":["../../src/in-store/spatial-zone.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAkC,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjF;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf;;gFAE4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACrC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG,sBAAsB,GAAG,GAAG,sBAAsB,EAAE,CAAC;AAInF,MAAM,WAAW,wBAAwB;IACvC,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B;;;;OAIG;IACH,eAAe,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC,4EAA4E;IAC5E,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC;;iDAE6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;0BAGsB;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,qEAAqE;IACrE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2EAA2E;IAC3E,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AA2CD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,OAAO,CAE9E;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,wBAAwB,GAC/B,sBAAsB,CAmIxB"}
@@ -34,6 +34,7 @@ import { generateIfcGuid } from '@ifc-lite/encoding';
34
34
  import { IfcSpatialZoneTypeEnum } from '@ifc-lite/parser';
35
35
  import { toNativeLength, toNativePoint3 } from './anchor.js';
36
36
  import { emitPolygonProfile, ownerHistoryRef } from './_emit-helpers.js';
37
+ import { completePlacementAxes } from '../ifc-creator-math.js';
37
38
  const SPATIAL_ZONE_TYPES = new Set(Object.values(IfcSpatialZoneTypeEnum));
38
39
  /**
39
40
  * Check one zone, and report whether its shape is a polygon.
@@ -122,13 +123,12 @@ export function addSpatialZonesToStore(editor, anchor, params) {
122
123
  // rather than rotated into the profile.
123
124
  const originPt = editor.addEntity('IfcCartesianPoint', [position]).expressId;
124
125
  const rotation = usePolygon ? 0 : (zone.RotationZ ?? 0);
125
- const refDirectionId = rotation === 0
126
- ? null
127
- : editor.addEntity('IfcDirection', [[Math.cos(rotation), Math.sin(rotation), 0]]).expressId;
126
+ // Axis and RefDirection are written both or neither (#5469).
127
+ const axes = completePlacementAxes(undefined, rotation === 0 ? undefined : [Math.cos(rotation), Math.sin(rotation), 0]);
128
128
  const axisId = editor.addEntity('IfcAxis2Placement3D', [
129
129
  `#${originPt}`,
130
- null,
131
- refDirectionId === null ? null : `#${refDirectionId}`,
130
+ axes ? `#${editor.addEntity('IfcDirection', [axes.Axis]).expressId}` : null,
131
+ axes ? `#${editor.addEntity('IfcDirection', [axes.RefDirection]).expressId}` : null,
132
132
  ]).expressId;
133
133
  const placementId = editor.addEntity('IfcLocalPlacement', [null, `#${axisId}`]).expressId;
134
134
  // Profile: a rectangle for a box, the polygon for a prism. The prism's
@@ -1 +1 @@
1
- {"version":3,"file":"spatial-zone.js","sourceRoot":"","sources":["../../src/in-store/spatial-zone.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spatial-zone.js","sourceRoot":"","sources":["../../src/in-store/spatial-zone.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wall.d.ts","sourceRoot":"","sources":["../../src/in-store/wall.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAkC,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjF,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,kEAAkE;IAClE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,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,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,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,cAAc,CAC5B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,iBAAiB,GACxB,eAAe,CA4HjB"}
1
+ {"version":3,"file":"wall.d.ts","sourceRoot":"","sources":["../../src/in-store/wall.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAkC,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjF,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,kEAAkE;IAClE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,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,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,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,cAAc,CAC5B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,iBAAiB,GACxB,eAAe,CAkHjB"}
@@ -18,7 +18,7 @@
18
18
  import { generateIfcGuid } from '@ifc-lite/encoding';
19
19
  import { vecNorm, assertFinitePoint3 } from '../ifc-creator-math.js';
20
20
  import { toNativeLength, toNativePoint3 } from './anchor.js';
21
- import { assertPositiveFinite, ownerHistoryRef, productGuid } from './_emit-helpers.js';
21
+ import { assertPositiveFinite, emitLocalPlacement, ownerHistoryRef, productGuid } from './_emit-helpers.js';
22
22
  export function addWallToStore(editor, anchor, params) {
23
23
  const { ownerHistoryId, bodyContextId, storeyId, storeyPlacementId } = anchor;
24
24
  assertPositiveFinite([params.Thickness, params.Height], 'addWallToStore: Thickness and Height must be positive');
@@ -52,19 +52,9 @@ export function addWallToStore(editor, anchor, params) {
52
52
  throw new Error('addWallToStore: Start and End must lie on the same storey plane (Z must match)');
53
53
  }
54
54
  const dir = vecNorm([dx, dy, 0]);
55
- // Placement at Start with local X = wall direction. Z stays default
56
- // (up); STEP's IfcAxis2Placement3D fills the missing axis from there.
57
- const wallOriginPt = editor.addEntity('IfcCartesianPoint', [params.Start]).expressId;
58
- const refDirVec = editor.addEntity('IfcDirection', [dir]).expressId;
59
- const wallAxis = editor.addEntity('IfcAxis2Placement3D', [
60
- `#${wallOriginPt}`,
61
- null,
62
- `#${refDirVec}`,
63
- ]).expressId;
64
- const placementId = editor.addEntity('IfcLocalPlacement', [
65
- `#${storeyPlacementId}`,
66
- `#${wallAxis}`,
67
- ]).expressId;
55
+ // Placement at Start with local X = wall direction and local Z up. The
56
+ // Axis is written explicitly: IFC forbids a RefDirection without it (#5469).
57
+ const placementId = emitLocalPlacement(editor, storeyPlacementId, params.Start, undefined, dir);
68
58
  // Rectangle profile centred at (wallLen/2, 0) so the swept solid
69
59
  // spans 0..wallLen along local X and -thickness/2..+thickness/2 on Y.
70
60
  const profileOriginPt = editor.addEntity('IfcCartesianPoint', [[wallLen / 2, 0]]).expressId;
@@ -1 +1 @@
1
- {"version":3,"file":"wall.js","sourceRoot":"","sources":["../../src/in-store/wall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wall.js","sourceRoot":"","sources":["../../src/in-store/wall.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+CnB"}
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"}
@@ -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(params.Height, params.Width);
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":"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"}
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
@@ -28,6 +28,9 @@ export { TRANSVERSE_MERCATOR_BOUNDS, checkCoordinateOrder, type CrsPlausibilityB
28
28
  export { alignmentMappingOf, alignmentRefusalMessage, collectRefusals, isMappableSurface, refusalReason, } from './landxml/refusals.js';
29
29
  export { ALIGNMENT_POSITION_TOLERANCE_M, cogoPointResolver, isAlignmentRecord, mapAlignments, type AlignmentMapping, type HorizontalSegment, type HorizontalSegmentType, type MappedAlignment, type PointResolver, type RefusedAlignment, } from './landxml/alignment-mapping.js';
30
30
  export type { AlignmentParams, AlignmentResult } from './ifc-creator-alignment.js';
31
+ export type { AlignmentVerticalParams } from './ifc-creator-alignment-vertical.js';
32
+ export type { VerticalSegment, VerticalSegmentType } from './landxml/profile-geometry.js';
33
+ export type { StationEquationParams } from './ifc-creator-alignment-referents.js';
31
34
  export type * from './landxml/source-types.js';
32
35
  export type * from './landxml/result-types.js';
33
36
  export { addColumnToStore, type ColumnInStoreParams, type ColumnBuildResult } from './in-store/column.js';
@@ -36,6 +39,12 @@ export { addSlabToStore, type SlabInStoreParams, type SlabRectangleParams, type
36
39
  export { addBeamToStore, type BeamInStoreParams, type BeamBuildResult } from './in-store/beam.js';
37
40
  export { addDoorToStore, type DoorInStoreParams, type DoorBuildResult } from './in-store/door.js';
38
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';
39
48
  export { addSpaceToStore, type SpaceInStoreParams, type SpaceRectangleParams, type SpacePolygonParams, type SpaceBuildResult } from './in-store/space.js';
40
49
  export { addSpatialZonesToStore, spatialZonesSupported, type SpatialZoneInput, type SpatialZoneInStoreParams, type SpatialZoneBuildResult, type SpatialZoneType, } from './in-store/spatial-zone.js';
41
50
  export { applyStylesInStore, collectLeafRepresentationItems, type ApplyStyleOptions, type ApplyStyleResult, type StyleBatch, type SurfaceStyleColor, } from './in-store/apply-style.js';
@@ -45,8 +54,9 @@ export { addMemberToStore, type MemberInStoreParams, type MemberBuildResult } fr
45
54
  export { addCostScheduleToStore, addCostItemToStore, addCostValueToStore, addCostQuantityToStore, nestCostItemsInStore, assignCostItemsToScheduleInStore, assignObjectsToCostItemInStore, attachCostValuesToItemInStore, type CostAnchor, type ExistingRelatedList, } from './in-store/cost.js';
46
55
  export { removeCostEntityInStore, type CostRemovalReferrers } from './in-store/cost-removal.js';
47
56
  export { resolveSpatialAnchor } from './in-store/resolve-anchor.js';
57
+ export { resolveHostAnchor } from './in-store/resolve-host.js';
48
58
  export { toNativeLength, fromNativeLength } from './in-store/anchor.js';
49
- export type { SpatialAnchor } from './in-store/anchor.js';
59
+ export type { SpatialAnchor, HostAnchor, HostBounds, HostKind } from './in-store/anchor.js';
50
60
  export { duplicateInStore, type SourceAttributes, type DuplicateInStoreOptions, type DuplicateBuildResult, type Vec3 as DuplicateVec3, } from './in-store/duplicate.js';
51
61
  export { resolveDuplicateSource } from './in-store/resolve-source.js';
52
62
  export { detectEnclosedAreas, type Vec2 as AutoSpaceVec2, type Segment as AutoSpaceSegment, type DetectedSpace, type DetectOptions as AutoSpaceDetectOptions, } from './in-store/auto-space-detect.js';
@@ -61,6 +71,6 @@ export { addStructuralLoadGroupToStore, type StructuralLoadGroupInStoreParams, t
61
71
  export { addStructuralPointActionToStore, addStructuralLinearActionToStore, type StructuralPointActionInStoreParams, type StructuralPointActionBuildResult, type StructuralLinearActionInStoreParams, type StructuralLinearActionBuildResult, type StructuralGlobalOrLocal, } from './in-store/structural-action.js';
62
72
  export { connectStructuralMemberToConnectionInStore, connectStructuralActivityToItemInStore, assignToStructuralGroupInStore, } from './in-store/structural-relationships.js';
63
73
  export { addDrawingMarkupToStore, addMeasureMarkupToStore, addPolygonAreaMarkupToStore, addTextMarkupToStore, addCloudMarkupToStore, DRAWING_MARKUP_OBJECTTYPE, DRAWING_MARKUP_PSET_NAME, DRAWING_MARKUP_QSET_NAME, type DrawingMarkupObjectType, type MarkupAnchor, type MarkupPoint2D, type MeasureMarkupParams, type MeasureMarkupResult, type PolygonAreaMarkupParams, type PolygonAreaMarkupResult, type TextMarkupParams, type TextMarkupResult, type CloudMarkupParams, type CloudMarkupResult, type DrawingMarkupBatchInput, type DrawingMarkupBatchResult, } from './in-store/drawing-markup.js';
64
- export type { Point3D, Point2D, Placement3D, RectangleProfile, ArbitraryProfile, CircleProfile, CircleHollowProfile, IShapeProfile, LShapeProfile, TShapeProfile, UShapeProfile, CShapeProfile, RectangleHollowProfile, ProfileDef, RectangularOpening, GenericElementParams, AxisElementParams, ElementAttributes, WallParams, SlabParams, ColumnParams, BeamParams, StairParams, RoofParams, GableRoofParams, WallDoorParams, WallWindowParams, DoorParams, WindowParams, RampParams, RailingParams, PlateParams, MemberParams, FootingParams, PileParams, SpaceParams, CurtainWallParams, FurnishingParams, ProxyParams, PropertyType, PropertyDef, PropertySetDef, QuantityKind, QuantityDef, QuantitySetDef, MaterialLayerDef, MaterialDef, ProjectParams, SiteParams, BuildingParams, StoreyParams, IfcWorkScheduleParams, IfcWorkPlanParams, IfcTaskParams, IfcRelSequenceParams, IfcWorkCalendarParams, IfcWorkTimeParams, IfcRecurrencePatternParams, IfcTimePeriodParams, IfcWorkScheduleType, IfcTaskPredefinedType, IfcTaskDurationType, IfcRelSequenceType, IfcWorkCalendarType, IfcRecurrenceType, WorkScheduleParams, WorkPlanParams, TaskParams, SequenceParams, WorkCalendarParams, WorkTimeParams, RecurrencePatternParams, TimePeriodParams, WorkScheduleType, TaskPredefinedType, TaskDurationType, SequenceType, WorkCalendarType, RecurrenceType, CreatedEntity, CreateResult, } from './types.js';
74
+ export type { Point3D, Point2D, Placement3D, RectangleProfile, ArbitraryProfile, CircleProfile, CircleHollowProfile, IShapeProfile, LShapeProfile, TShapeProfile, UShapeProfile, CShapeProfile, RectangleHollowProfile, ProfileDef, RectangularOpening, GenericElementParams, AxisElementParams, ElementAttributes, WallParams, SlabParams, ColumnParams, BeamParams, StairParams, RoofParams, GableRoofParams, WallDoorParams, WallWindowParams, DoorParams, WindowParams, RampParams, RailingParams, PlateParams, MemberParams, FootingParams, PileParams, SpaceParams, CurtainWallParams, FurnishingParams, ProxyParams, PropertyType, PropertyMeasureType, PropertyDef, PropertySetDef, QuantityKind, QuantityDef, QuantitySetDef, MaterialLayerDef, MaterialDef, ProjectParams, SiteParams, BuildingParams, StoreyParams, IfcWorkScheduleParams, IfcWorkPlanParams, IfcTaskParams, IfcRelSequenceParams, IfcWorkCalendarParams, IfcWorkTimeParams, IfcRecurrencePatternParams, IfcTimePeriodParams, IfcWorkScheduleType, IfcTaskPredefinedType, IfcTaskDurationType, IfcRelSequenceType, IfcWorkCalendarType, IfcRecurrenceType, WorkScheduleParams, WorkPlanParams, TaskParams, SequenceParams, WorkCalendarParams, WorkTimeParams, RecurrencePatternParams, TimePeriodParams, WorkScheduleType, TaskPredefinedType, TaskDurationType, SequenceType, WorkCalendarType, RecurrenceType, CreatedEntity, CreateResult, } from './types.js';
65
75
  export type { CostArithmeticOperator, CostItemParams, CostItemPredefinedType, CostMeasureType, CostQuantityKind, CostQuantityParams, CostScheduleParams, CostSchedulePredefinedType, CostSIUnitType, CostTypedValue, CostValueParams, SIUnitParams, } from './types-cost.js';
66
76
  //# sourceMappingURL=index.d.ts.map
@@ -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.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;AAIhG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACgC,gBAAgB,EAC3D,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,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,CA+HxG"}
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"}