@ifc-lite/create 5.1.0 → 5.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/in-store/duplicate.d.ts +8 -0
- package/dist/in-store/duplicate.d.ts.map +1 -1
- package/dist/in-store/duplicate.js +8 -1
- package/dist/in-store/duplicate.js.map +1 -1
- package/dist/in-store/edit/metadata-clone.d.ts +1 -1
- package/dist/in-store/edit/metadata-clone.d.ts.map +1 -1
- package/dist/in-store/edit/metadata-clone.js +36 -1
- package/dist/in-store/edit/metadata-clone.js.map +1 -1
- package/dist/in-store/element-transform-frames.d.ts +0 -13
- package/dist/in-store/element-transform-frames.d.ts.map +1 -1
- package/dist/in-store/element-transform-frames.js +23 -12
- package/dist/in-store/element-transform-frames.js.map +1 -1
- package/dist/in-store/group-graph.d.ts.map +1 -1
- package/dist/in-store/group-graph.js +5 -11
- package/dist/in-store/group-graph.js.map +1 -1
- package/dist/in-store/host-geometry-frame.d.ts.map +1 -1
- package/dist/in-store/host-geometry-frame.js +35 -31
- package/dist/in-store/host-geometry-frame.js.map +1 -1
- package/dist/in-store/placement-frame.d.ts +1 -18
- package/dist/in-store/placement-frame.d.ts.map +1 -1
- package/dist/in-store/placement-frame.js +58 -46
- package/dist/in-store/placement-frame.js.map +1 -1
- package/dist/in-store/resolve-source.d.ts.map +1 -1
- package/dist/in-store/resolve-source.js +10 -3
- package/dist/in-store/resolve-source.js.map +1 -1
- package/dist/in-store/storey-plan-frame.js +1 -1
- package/dist/in-store/storey-plan-frame.js.map +1 -1
- package/dist/landxml/profile-geometry.d.ts +10 -0
- package/dist/landxml/profile-geometry.d.ts.map +1 -1
- package/dist/landxml/profile-geometry.js +16 -1
- package/dist/landxml/profile-geometry.js.map +1 -1
- package/package.json +7 -7
|
@@ -55,6 +55,14 @@ export interface SourceAssociation {
|
|
|
55
55
|
* - `IfcRelAssociatesDocument.RelatingDocument`
|
|
56
56
|
*/
|
|
57
57
|
relatingExpressId: number;
|
|
58
|
+
/**
|
|
59
|
+
* Every definition when `RelatingPropertyDefinition` is an
|
|
60
|
+
* `IfcPropertySetDefinitionSet` (`(#a,#b)` or the typed
|
|
61
|
+
* `IFCPROPERTYSETDEFINITIONSET((#a,#b))`), first member first. Omitted for a
|
|
62
|
+
* single reference. The replayed rel writes `#N` for one member and
|
|
63
|
+
* `(#a,#b)` for several.
|
|
64
|
+
*/
|
|
65
|
+
relatingExpressIds?: readonly number[];
|
|
58
66
|
}
|
|
59
67
|
export interface SourceAttributes {
|
|
60
68
|
/** Source entity type (e.g. `'IfcWall'`, `'IfcColumn'`). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duplicate.d.ts","sourceRoot":"","sources":["../../src/in-store/duplicate.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,uCAAuC;AACvC,MAAM,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,6DAA6D;IAC7D,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,oEAAoE;IACpE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;;;;OAOG;IACH,iBAAiB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"duplicate.d.ts","sourceRoot":"","sources":["../../src/in-store/duplicate.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,uCAAuC;AACvC,MAAM,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,6DAA6D;IAC7D,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,oEAAoE;IACpE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;;;;OAOG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAUD,MAAM,WAAW,gBAAgB;IAC/B,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,uFAAuF;IACvF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oJAAoJ;IACpJ,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,oHAAoH;IACpH,cAAc,EAAE,IAAI,CAAC;IACrB,iGAAiG;IACjG,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;;OAKG;IACH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gKAAgK;IAChK,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,sFAAsF;IACtF,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,qJAAqJ;IACrJ,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,uBAAuB;IACtC,wFAAwF;IACxF,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,iGAAiG;IACjG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,UAAU,CAAC,EAAE,YAAY,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iIAAiI;IACjI,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;;;OAKG;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,uBAA4B,GACpC,oBAAoB,CA8GtB"}
|
|
@@ -22,6 +22,13 @@
|
|
|
22
22
|
* already-extracted source attributes and does the bookkeeping.
|
|
23
23
|
*/
|
|
24
24
|
import { generateIfcGuid } from '@ifc-lite/encoding';
|
|
25
|
+
/** `#N` for one relating entity, `['#a','#b']` for an IfcPropertySetDefinitionSet. */
|
|
26
|
+
function relatingReference(assoc) {
|
|
27
|
+
const ids = assoc.relatingExpressIds && assoc.relatingExpressIds.length > 0
|
|
28
|
+
? assoc.relatingExpressIds
|
|
29
|
+
: [assoc.relatingExpressId];
|
|
30
|
+
return ids.length === 1 ? `#${ids[0]}` : ids.map((id) => `#${id}`);
|
|
31
|
+
}
|
|
25
32
|
/**
|
|
26
33
|
* Emit a duplicate of the source product into the editor overlay.
|
|
27
34
|
* Returns the new expressIds. Throws if the source attributes don't
|
|
@@ -112,7 +119,7 @@ export function duplicateInStore(editor, source, options = {}) {
|
|
|
112
119
|
assoc.name, // Name (parsed; may be null)
|
|
113
120
|
assoc.description, // Description
|
|
114
121
|
[`#${duplicate.expressId}`], // RelatedObjects
|
|
115
|
-
|
|
122
|
+
relatingReference(assoc), // Relating*
|
|
116
123
|
]);
|
|
117
124
|
associationRelIds.push(rel.expressId);
|
|
118
125
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duplicate.js","sourceRoot":"","sources":["../../src/in-store/duplicate.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,eAAe,EAAqB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"duplicate.js","sourceRoot":"","sources":["../../src/in-store/duplicate.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,eAAe,EAAqB,MAAM,oBAAoB,CAAC;AAiDxE,sFAAsF;AACtF,SAAS,iBAAiB,CAAC,KAAwB;IACjD,MAAM,GAAG,GAAG,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;QACzE,CAAC,CAAC,KAAK,CAAC,kBAAkB;QAC1B,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC9B,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACrE,CAAC;AA0ED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAmB,EACnB,MAAwB,EACxB,UAAmC,EAAE;IAErC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,gCAAgC,MAAM,CAAC,UAAU,CAAC,MAAM,wCAAwC,CACjG,CAAC;IACJ,CAAC;IAED,gEAAgE;IAChE,qEAAqE;IACrE,wEAAwE;IACxE,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC;IACrC,MAAM,QAAQ,GAAG,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC;QAC1E,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG;QACpD,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IACrB,MAAM,MAAM,GAAS,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACjD,MAAM,WAAW,GAAS;QACxB,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KAC/C,CAAC;IAEF,mDAAmD;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE;QAClD,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;KACjD,CAAC,CAAC;IAEH,kEAAkE;IAClE,8DAA8D;IAC9D,mEAAmE;IACnE,gEAAgE;IAChE,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,qBAAqB,EAAE;QAC5D,IAAI,KAAK,CAAC,SAAS,EAAE;QACrB,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,eAAe;KACvB,CAAC,CAAC;IAEH,kEAAkE;IAClE,6CAA6C;IAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE;QACtD,MAAM,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI;QACzE,IAAI,aAAa,CAAC,SAAS,EAAE;KAC9B,CAAC,CAAC;IAEH,gEAAgE;IAChE,oEAAoE;IACpE,8BAA8B;IAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,aAAa,GAAsB,OAAO,CAAC,IAAI,KAAK,SAAS;QACjE,CAAC,CAAC,OAAO,CAAC,IAAI;QACd,CAAC,CAAC,CAAC,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YACtD,CAAC,CAAC,GAAG,UAAU,SAAS;YACxB,CAAC,CAAC,UAAU,CAAC,CAAC;IAEpB,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IACzC,MAAM,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAkC,WAAW;IAC7F,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,cAAc,KAAK,IAAI;QACxC,CAAC,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE;QAC7B,CAAC,CAAC,IAAI,CAAC,CAAuD,wDAAwD;IACxH,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAsC,OAAO;IACvE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC,CAAS,kBAAkB;IACjE,uEAAuE;IACvE,sEAAsE;IAEtE,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAExD,mEAAmE;IACnE,mEAAmE;IACnE,qBAAqB;IACrB,IAAI,cAAc,GAAkB,IAAI,CAAC;IACzC,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,mCAAmC,EAAE;YAChE,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,EAA6B,WAAW;YAC3E,MAAM,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,eAAe;YACpF,IAAI,EAA0D,OAAO;YACrE,IAAI,EAA0D,cAAc;YAC5E,CAAC,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC,EAAmC,kBAAkB;YAChF,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAyC,oBAAoB;SACnF,CAAC,CAAC;QACH,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC;IACjC,CAAC;IAED,+DAA+D;IAC/D,mEAAmE;IACnE,6DAA6D;IAC7D,kEAAkE;IAClE,gEAAgE;IAChE,2CAA2C;IAC3C,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC1C,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,EAAiC,WAAW;gBAC/E,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,EAAG,eAAe;gBACnF,KAAK,CAAC,IAAI,EAA0D,6BAA6B;gBACjG,KAAK,CAAC,WAAW,EAAmD,cAAc;gBAClF,CAAC,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC,EAAyC,iBAAiB;gBACrF,iBAAiB,CAAC,KAAK,CAAC,EAA4C,YAAY;aACjF,CAAC,CAAC;YACH,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,SAAS,CAAC,SAAS;QAC1B,cAAc,EAAE,SAAS,CAAC,SAAS;QACnC,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,kBAAkB,EAAE,aAAa,CAAC,SAAS;QAC3C,cAAc;QACd,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
* useful telemetry. Returns 0 silently when the source has no
|
|
31
31
|
* relationships — that's a valid case.
|
|
32
32
|
*/
|
|
33
|
-
import type
|
|
33
|
+
import { type IfcDataStore } from '@ifc-lite/parser';
|
|
34
34
|
import { type MutablePropertyView, type StoreEditor } from '@ifc-lite/mutations';
|
|
35
35
|
export interface CloneMetadataResult {
|
|
36
36
|
/** Number of relationships that gained at least one target. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-clone.d.ts","sourceRoot":"","sources":["../../../src/in-store/edit/metadata-clone.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"metadata-clone.d.ts","sourceRoot":"","sources":["../../../src/in-store/edit/metadata-clone.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAqD,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAiBpI,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AASD,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,YAAY,EACvB,IAAI,EAAE,mBAAmB,EACzB,MAAM,EAAE,WAAW,EACnB,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,EAAE,GACzB,mBAAmB,CAuErB"}
|
|
@@ -1,6 +1,39 @@
|
|
|
1
1
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
2
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
/**
|
|
5
|
+
* Carry an element's Pset / Qto / classification / material / type
|
|
6
|
+
* relationships from a source IfcProduct onto one or more target
|
|
7
|
+
* products. Used when an authoring operation produces siblings of
|
|
8
|
+
* a source entity (split, duplicate, etc.) — both halves of a split
|
|
9
|
+
* wall should keep the source's FireRating, etc.
|
|
10
|
+
*
|
|
11
|
+
* Strategy: append the target id(s) to each relationship's
|
|
12
|
+
* `RelatedObjects` list rather than cloning the relationship entity
|
|
13
|
+
* itself. Cheaper, less overlay growth, and the IFC schema allows
|
|
14
|
+
* many objects to share a single rel. Downstream tooling (IDS, Pset
|
|
15
|
+
* dumps, exports) reads each rel's RelatedObjects list, so the
|
|
16
|
+
* targets become first-class members.
|
|
17
|
+
*
|
|
18
|
+
* The relationships we touch:
|
|
19
|
+
*
|
|
20
|
+
* IfcRelDefinesByProperties — Psets / Qtos (the big one)
|
|
21
|
+
* IfcRelDefinesByType — occurrence → type binding
|
|
22
|
+
* IfcRelAssociatesClassification
|
|
23
|
+
* IfcRelAssociatesMaterial
|
|
24
|
+
* IfcRelContainedInSpatialStructure — storey containment
|
|
25
|
+
* IfcRelAggregates / IfcRelNests — element assemblies
|
|
26
|
+
*
|
|
27
|
+
* Containment is handled separately by callers that already use
|
|
28
|
+
* `addWallToStore` / `addSlabToStore` etc. (those builders emit a
|
|
29
|
+
* fresh `IfcRelContainedInSpatialStructure` for the new entity), so
|
|
30
|
+
* this helper deliberately skips it.
|
|
31
|
+
*
|
|
32
|
+
* Returns the number of relationships touched so callers can log
|
|
33
|
+
* useful telemetry. Returns 0 silently when the source has no
|
|
34
|
+
* relationships — that's a valid case.
|
|
35
|
+
*/
|
|
36
|
+
import { propertyDefinitionRefsOfValue } from '@ifc-lite/parser';
|
|
4
37
|
import { iterateEffectiveEntityIds } from '@ifc-lite/mutations';
|
|
5
38
|
import { readAttributes } from './placement-core.js';
|
|
6
39
|
import { asRef, refList } from '../style-entity-reader.js';
|
|
@@ -70,7 +103,9 @@ export function cloneElementMetadata(dataStore, view, editor, sourceExpressId, t
|
|
|
70
103
|
continue;
|
|
71
104
|
// Skip targets that are already in the list — avoids duplicates
|
|
72
105
|
// when this is called twice for the same operation (idempotent).
|
|
73
|
-
|
|
106
|
+
// A set of definitions (#7681) has no one name to compare, so it is shared whole.
|
|
107
|
+
const definitions = type === 'IFCRELDEFINESBYPROPERTIES' ? propertyDefinitionRefsOfValue(attrs[5], asRef) : [];
|
|
108
|
+
const definitionId = definitions.length === 1 ? definitions[0] : null;
|
|
74
109
|
const definitionType = definitionId === null ? null : editor.getEntityType(definitionId)?.toUpperCase();
|
|
75
110
|
const namedSet = definitionType === 'IFCPROPERTYSET' || definitionType === 'IFCELEMENTQUANTITY';
|
|
76
111
|
const readName = namedSet && definitionId !== null ? readAttributes(dataStore, view, editor, definitionId)?.[2] : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-clone.js","sourceRoot":"","sources":["../../../src/in-store/edit/metadata-clone.ts"],"names":[],"mappings":"AAAA;;+DAE+D;
|
|
1
|
+
{"version":3,"file":"metadata-clone.js","sourceRoot":"","sources":["../../../src/in-store/edit/metadata-clone.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Plan frames of product placements, expressed in their storey's frame
|
|
3
|
-
* (charter #6232, C2 move / rotate).
|
|
4
|
-
*
|
|
5
|
-
* `translateEntity` adds a delta in the placement's PARENT frame and
|
|
6
|
-
* `rotateEntity` turns its RefDirection there. A move or turn is picked in the
|
|
7
|
-
* storey's frame (the workplane), so each moved element needs its parent
|
|
8
|
-
* placement's frame in the storey frame — the identity for the common
|
|
9
|
-
* element-under-storey shape, the host's frame for an opening, a composed
|
|
10
|
-
* chain for an assembly part — and its own origin there, to turn it about a
|
|
11
|
-
* pivot. Reads honour the session's overlay (created entities, positional
|
|
12
|
-
* edits), through the canonical current `readPlacementAttributes`.
|
|
13
|
-
*/
|
|
14
1
|
import type { IfcDataStore } from '@ifc-lite/parser';
|
|
15
2
|
import type { MutablePropertyView } from '@ifc-lite/mutations';
|
|
16
3
|
type Vec2 = [number, number];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element-transform-frames.d.ts","sourceRoot":"","sources":["../../src/in-store/element-transform-frames.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"element-transform-frames.d.ts","sourceRoot":"","sources":["../../src/in-store/element-transform-frames.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI/D,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7B,uGAAuG;AACvG,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,IAAI,CAAC;IACb,mBAAmB;IACnB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,eAAO,MAAM,cAAc,EAAE,SAA4C,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;CACpC;AAMD,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGtF;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGxF;AASD,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAOpF;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAkBtF;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,CAE3E;AAED,yDAAyD;AACzD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAEvE;AAED,gDAAgD;AAChD,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAEzE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAG/E;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAclH;AAED,6FAA6F;AAC7F,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAEpF"}
|
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
2
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
/**
|
|
5
|
+
* Plan frames of product placements, expressed in their storey's frame
|
|
6
|
+
* (charter #6232, C2 move / rotate).
|
|
7
|
+
*
|
|
8
|
+
* `translateEntity` adds a delta in the placement's PARENT frame and
|
|
9
|
+
* `rotateEntity` turns its RefDirection there. A move or turn is picked in the
|
|
10
|
+
* storey's frame (the workplane), so each moved element needs its parent
|
|
11
|
+
* placement's frame in the storey frame — the identity for the common
|
|
12
|
+
* element-under-storey shape, the host's frame for an opening, a composed
|
|
13
|
+
* chain for an assembly part — and its own origin there, to turn it about a
|
|
14
|
+
* pivot. Reads honour the session's overlay (created entities, positional
|
|
15
|
+
* edits), through the canonical current `readPlacementAttributes`.
|
|
16
|
+
*/
|
|
17
|
+
import { walkPlacementChain } from '@ifc-lite/data';
|
|
4
18
|
import { asCoordinateTriple, asDirectionRatios, asExpressIdRef, readPlacementAttributes } from './edit/placement-core.js';
|
|
5
19
|
import { getModelLengthUnitScale } from './edit/length-unit-scale.js';
|
|
6
20
|
export const IDENTITY_FRAME = { origin: [0, 0], axis: [1, 0] };
|
|
@@ -84,12 +98,15 @@ export function applyFrame(frame, p) {
|
|
|
84
98
|
* cycle) or a link cannot be read.
|
|
85
99
|
*/
|
|
86
100
|
export function frameInStorey(r, placementId, storeyPlacementId) {
|
|
101
|
+
const walked = walkPlacementChain(placementId, (id) => parentPlacementOf(r, id), {
|
|
102
|
+
stopAt: (id) => id === storeyPlacementId,
|
|
103
|
+
});
|
|
104
|
+
// A root or a cycle before the storey's placement: no frame in the storey.
|
|
105
|
+
if (walked.end !== 'stopped')
|
|
106
|
+
return null;
|
|
87
107
|
let frame = IDENTITY_FRAME;
|
|
88
|
-
|
|
89
|
-
for (
|
|
90
|
-
if (id === null || seen.has(id))
|
|
91
|
-
return null;
|
|
92
|
-
seen.add(id);
|
|
108
|
+
// Every hop strictly below the storey's own placement, which is the last id.
|
|
109
|
+
for (const id of walked.ids.slice(0, -1)) {
|
|
93
110
|
const own = uprightFrame(r, id);
|
|
94
111
|
if (!own)
|
|
95
112
|
return null;
|
|
@@ -99,12 +116,6 @@ export function frameInStorey(r, placementId, storeyPlacementId) {
|
|
|
99
116
|
}
|
|
100
117
|
/** Every placement above `placementId` (its parent first), stopping at a root or a cycle. */
|
|
101
118
|
export function placementAncestors(r, placementId) {
|
|
102
|
-
|
|
103
|
-
const seen = new Set([placementId]);
|
|
104
|
-
for (let id = parentPlacementOf(r, placementId); id !== null && !seen.has(id); id = parentPlacementOf(r, id)) {
|
|
105
|
-
out.push(id);
|
|
106
|
-
seen.add(id);
|
|
107
|
-
}
|
|
108
|
-
return out;
|
|
119
|
+
return walkPlacementChain(placementId, (id) => parentPlacementOf(r, id)).ids.slice(1);
|
|
109
120
|
}
|
|
110
121
|
//# sourceMappingURL=element-transform-frames.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element-transform-frames.js","sourceRoot":"","sources":["../../src/in-store/element-transform-frames.ts"],"names":[],"mappings":"AAAA;;+DAE+D;
|
|
1
|
+
{"version":3,"file":"element-transform-frames.js","sourceRoot":"","sources":["../../src/in-store/element-transform-frames.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group-graph.d.ts","sourceRoot":"","sources":["../../src/in-store/group-graph.ts"],"names":[],"mappings":"AAKA,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAkC,KAAK,wBAAwB,EAAE,KAAK,qBAAqB,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIhJ,uFAAuF;AACvF,eAAO,MAAM,kBAAkB;;;;;;CAAyI,CAAC;AACzK,MAAM,MAAM,gBAAgB,GAAG;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,OAAO,kBAAkB,GAAG,MAAM;CAAE,CAAC;AAE3F,MAAM,WAAW,iBAAiB;IAAG,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AAC1E,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,iBAAiB,CAAC;IAChC,cAAc,EAAE,iBAAiB,EAAE,CAAC;CACrC;AACD,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,uBAAuB,EAAE,CAAC;CACxC;AAED,uFAAuF;AACvF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"group-graph.d.ts","sourceRoot":"","sources":["../../src/in-store/group-graph.ts"],"names":[],"mappings":"AAKA,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAkC,KAAK,wBAAwB,EAAE,KAAK,qBAAqB,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIhJ,uFAAuF;AACvF,eAAO,MAAM,kBAAkB;;;;;;CAAyI,CAAC;AACzK,MAAM,MAAM,gBAAgB,GAAG;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,OAAO,kBAAkB,GAAG,MAAM;CAAE,CAAC;AAE3F,MAAM,WAAW,iBAAiB;IAAG,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AAC1E,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,iBAAiB,CAAC;IAChC,cAAc,EAAE,iBAAiB,EAAE,CAAC;CACrC;AACD,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,uBAAuB,EAAE,CAAC;CACxC;AAED,uFAAuF;AACvF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CA0B5D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,GAAE,MAAoC,GAAG,IAAI,CASzI;AAED,qBAAa,UAAU;IAOT,QAAQ,CAAC,KAAK,EAAE,YAAY;IAAE,QAAQ,CAAC,IAAI,EAAE,mBAAmB;IAC1E,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPzB,QAAQ,CAAC,WAAW,EAAE,wBAAwB,CAAC;IAC/C,QAAQ,CAAC,QAAQ,qCAA4C;IAC7D,QAAQ,CAAC,QAAQ,2BAAkC;IACnD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+B;IAErD,+FAA+F;gBAC1E,KAAK,EAAE,YAAY,EAAW,IAAI,EAAE,mBAAmB,EACzD,MAAM,GAAE,gBAAqC;IAkDhE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAStD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIjC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,aAAa;CAkCnD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAMzD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
2
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
-
import { isValidIfcGuid } from '@ifc-lite/encoding';
|
|
4
|
+
import { isValidIfcGuid, stepStringLiteralEnd } from '@ifc-lite/encoding';
|
|
5
5
|
import { effectiveCreatedRecord, effectiveSourceRecord } from '@ifc-lite/export';
|
|
6
6
|
import { iterateEffectiveEntityIds } from '@ifc-lite/mutations';
|
|
7
7
|
import { createSchemaEntityNameSnapshot } from '@ifc-lite/parser';
|
|
@@ -22,16 +22,10 @@ export function groupRecordReferences(text) {
|
|
|
22
22
|
continue;
|
|
23
23
|
}
|
|
24
24
|
if (text[i] === "'") {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
throw new Error('Group graph has an unterminated record');
|
|
30
|
-
if (text[end + 1] !== "'")
|
|
31
|
-
break;
|
|
32
|
-
end++;
|
|
33
|
-
} while (true);
|
|
34
|
-
i = end;
|
|
25
|
+
const end = stepStringLiteralEnd(text, i); // `''` and PAGE-operand apostrophes stay inside (#7589)
|
|
26
|
+
if (end < 0)
|
|
27
|
+
throw new Error('Group graph has an unterminated record');
|
|
28
|
+
i = end - 1;
|
|
35
29
|
continue;
|
|
36
30
|
}
|
|
37
31
|
if (text[i] === '(')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group-graph.js","sourceRoot":"","sources":["../../src/in-store/group-graph.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"group-graph.js","sourceRoot":"","sources":["../../src/in-store/group-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-geometry-frame.d.ts","sourceRoot":"","sources":["../../src/in-store/host-geometry-frame.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;2EAC2E;AAC3E,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,SAAS,OAAO,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;CAC7E;AAED,MAAM,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC5C,MAAM,MAAM,MAAM,GAAG;IAAE,CAAC,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAE5D,yEAAyE;AACzE,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAInD;AAED,wBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAEjD;AAED;uEACuE;AACvE,wBAAgB,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,GAAE,CAAC,GAAG,CAAK,GAAG,IAAI,GAAG,IAAI,CAMtE;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,SAAsB,EAAE,SAAS,GAAE,CAAC,GAAG,CAAK,GAAG,IAAI,GAAG,IAAI,CAIjI;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAGzC;AAED,oFAAoF;AACpF,wBAAgB,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,GAAG;IAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,IAAI,CAStH;AAED;8EAC8E;AAC9E,wBAAgB,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAiBhF;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAMnD;AAMD,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAO7E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAK9C;AAED;6EAC6E;AAC7E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"host-geometry-frame.d.ts","sourceRoot":"","sources":["../../src/in-store/host-geometry-frame.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;2EAC2E;AAC3E,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,SAAS,OAAO,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;CAC7E;AAED,MAAM,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC5C,MAAM,MAAM,MAAM,GAAG;IAAE,CAAC,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAE5D,yEAAyE;AACzE,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAInD;AAED,wBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAEjD;AAED;uEACuE;AACvE,wBAAgB,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,GAAE,CAAC,GAAG,CAAK,GAAG,IAAI,GAAG,IAAI,CAMtE;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,SAAsB,EAAE,SAAS,GAAE,CAAC,GAAG,CAAK,GAAG,IAAI,GAAG,IAAI,CAIjI;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAGzC;AAED,oFAAoF;AACpF,wBAAgB,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,GAAG;IAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,IAAI,CAStH;AAED;8EAC8E;AAC9E,wBAAgB,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAiBhF;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAMnD;AAMD,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAO7E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAK9C;AAED;6EAC6E;AAC7E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CA4B/H;AAED;;wEAEwE;AACxE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2BzH;AAED,uEAAuE;AACvE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAc5F"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
4
|
/** Package-private body frame reads: defaults belong only to omitted optional
|
|
5
5
|
* attributes, never to an explicit unreadable reference (#6232 / #6539). */
|
|
6
|
-
import { firstProjAxis } from '@ifc-lite/data';
|
|
6
|
+
import { firstProjAxis, walkPlacementChain } from '@ifc-lite/data';
|
|
7
7
|
/** Source extractors use numbers; overlay references use #id strings. */
|
|
8
8
|
export function refId(value) {
|
|
9
9
|
if (typeof value === 'number' && Number.isInteger(value) && value > 0)
|
|
@@ -108,13 +108,23 @@ export function inverseFrame(f) {
|
|
|
108
108
|
/** Full 3D local-placement chain, including the opening's rotated frame.
|
|
109
109
|
* Missing references, cycles and excessive acyclic chains are unreadable. */
|
|
110
110
|
export function placementInAncestor(reader, placementId, ancestorId) {
|
|
111
|
+
// #7328: an explicit unreadable parent is not an omitted world root.
|
|
112
|
+
let unreadableParent = false;
|
|
113
|
+
const walked = walkPlacementChain(placementId, (id) => {
|
|
114
|
+
const parent = reader.entity(id)?.attributes[0];
|
|
115
|
+
if (parent !== null && parent !== undefined && refId(parent) === null)
|
|
116
|
+
unreadableParent = true;
|
|
117
|
+
return refId(parent);
|
|
118
|
+
}, { stopAt: (id) => id === ancestorId });
|
|
119
|
+
// Reaching the root is only the answer when the root IS the requested
|
|
120
|
+
// ancestor; a cycle never reaches either.
|
|
121
|
+
if (walked.end === 'cycle' || unreadableParent)
|
|
122
|
+
return null;
|
|
123
|
+
if ((walked.end === 'stopped') === (ancestorId === null))
|
|
124
|
+
return null;
|
|
111
125
|
let frame = IDENTITY_FRAME3;
|
|
112
|
-
|
|
113
|
-
const
|
|
114
|
-
while (id !== null && id !== ancestorId) {
|
|
115
|
-
if (visited.size >= 10_000 || visited.has(id))
|
|
116
|
-
return null;
|
|
117
|
-
visited.add(id);
|
|
126
|
+
// Every hop strictly below the ancestor (all of them when it is the root).
|
|
127
|
+
for (const id of walked.end === 'stopped' ? walked.ids.slice(0, -1) : walked.ids) {
|
|
118
128
|
const placement = reader.entity(id);
|
|
119
129
|
const axisId = placement ? refId(placement.attributes[1]) : null;
|
|
120
130
|
if (placement?.type.toUpperCase() !== 'IFCLOCALPLACEMENT' || axisId === null)
|
|
@@ -125,13 +135,8 @@ export function placementInAncestor(reader, placementId, ancestorId) {
|
|
|
125
135
|
frame = composeFrame(own, frame);
|
|
126
136
|
if (!finiteFrame(frame))
|
|
127
137
|
return null;
|
|
128
|
-
const parent = placement.attributes[0];
|
|
129
|
-
// #7328: an explicit unreadable parent is not an omitted world root.
|
|
130
|
-
if (parent !== null && parent !== undefined && refId(parent) === null)
|
|
131
|
-
return null;
|
|
132
|
-
id = refId(parent);
|
|
133
138
|
}
|
|
134
|
-
return
|
|
139
|
+
return frame;
|
|
135
140
|
}
|
|
136
141
|
/** Express one local placement in another's full 3D frame. Only the branches
|
|
137
142
|
* below their common ancestor need readable frames; the shared ancestor
|
|
@@ -144,24 +149,23 @@ export function placementRelativeTo(reader, placementId, referenceId) {
|
|
|
144
149
|
const value = entity.attributes[0];
|
|
145
150
|
return value === null || value === undefined ? null : refId(value) ?? undefined;
|
|
146
151
|
};
|
|
147
|
-
const
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
if (
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
const
|
|
156
|
-
const
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
if (id === undefined || (id === null && !referenceReachesRoot))
|
|
152
|
+
const unreadable = new Set();
|
|
153
|
+
const parentOrRoot = (id) => {
|
|
154
|
+
const parentId = parent(id);
|
|
155
|
+
if (parentId === undefined)
|
|
156
|
+
unreadable.add(id);
|
|
157
|
+
return parentId ?? null;
|
|
158
|
+
};
|
|
159
|
+
const referenceWalk = walkPlacementChain(referenceId, parentOrRoot);
|
|
160
|
+
const referenceChain = new Set(referenceWalk.ids);
|
|
161
|
+
const referenceReachesRoot = referenceWalk.end === 'root' && !unreadable.has(referenceWalk.ids[referenceWalk.ids.length - 1]);
|
|
162
|
+
const toReference = walkPlacementChain(placementId, parentOrRoot, { stopAt: (id) => referenceChain.has(id) });
|
|
163
|
+
const last = toReference.ids[toReference.ids.length - 1];
|
|
164
|
+
if (toReference.end === 'cycle' || (toReference.end === 'root' && unreadable.has(last)))
|
|
165
|
+
return null;
|
|
166
|
+
// The shared ancestor, or null when both chains meet only at the world root.
|
|
167
|
+
const id = toReference.end === 'stopped' ? last : null;
|
|
168
|
+
if (id === null && !referenceReachesRoot)
|
|
165
169
|
return null;
|
|
166
170
|
const own = placementInAncestor(reader, placementId, id);
|
|
167
171
|
const reference = placementInAncestor(reader, referenceId, id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-geometry-frame.js","sourceRoot":"","sources":["../../src/in-store/host-geometry-frame.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"host-geometry-frame.js","sourceRoot":"","sources":["../../src/in-store/host-geometry-frame.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Planar rigid frames read out of an `IfcLocalPlacement` chain, and the algebra
|
|
3
|
-
* for composing, inverting and applying them.
|
|
4
|
-
*
|
|
5
|
-
* Split out of `extract-walls.ts` so the storey frame has ONE implementation.
|
|
6
|
-
* `extract-walls` needs it to express wall axes and existing space footprints
|
|
7
|
-
* storey-locally; `storey-plan-frame.ts` needs the same chain composed all the
|
|
8
|
-
* way to the model's own world frame, so a producer working in that frame can
|
|
9
|
-
* divide the storey out before authoring into a storey-local slot. Two copies
|
|
10
|
-
* of the composition order or of `invertFrame`'s sign convention would put the
|
|
11
|
-
* read side and the write side on coordinates that differ by a rotation, which
|
|
12
|
-
* is exactly the failure the storey-local contract exists to prevent.
|
|
13
|
-
*
|
|
14
|
-
* Every frame here is 2D and in the file's own raw length unit: the Z-up ground
|
|
15
|
-
* plane of the IFC coordinates, unscaled. Callers that speak metres apply the
|
|
16
|
-
* length-unit scale themselves.
|
|
17
|
-
*/
|
|
18
1
|
import { EntityExtractor, type IfcDataStore, type IfcAttributeValue } from '@ifc-lite/parser';
|
|
19
2
|
import type { Vec2 } from './auto-space-detect.js';
|
|
20
3
|
/**
|
|
@@ -80,7 +63,7 @@ export declare function readOwnPlacementFrame(store: IfcDataStore, extractor: En
|
|
|
80
63
|
* coordinates storey-local. `frameInStoreyFrame` treats `null` as "compose
|
|
81
64
|
* nothing" instead — see there.
|
|
82
65
|
*/
|
|
83
|
-
export declare function storeyPlacementChain(store: IfcDataStore, extractor: EntityExtractor, overlay: OverlayWallReader | undefined, storeyId: number
|
|
66
|
+
export declare function storeyPlacementChain(store: IfcDataStore, extractor: EntityExtractor, overlay: OverlayWallReader | undefined, storeyId: number): Map<number, number> | null;
|
|
84
67
|
/**
|
|
85
68
|
* The storey's frame expressed in the frame of the chain entry `hops` steps
|
|
86
69
|
* above its own placement: compose the storey's first `hops` placements, the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"placement-frame.d.ts","sourceRoot":"","sources":["../../src/in-store/placement-frame.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"placement-frame.d.ts","sourceRoot":"","sources":["../../src/in-store/placement-frame.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
2
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
/**
|
|
5
|
+
* Planar rigid frames read out of an `IfcLocalPlacement` chain, and the algebra
|
|
6
|
+
* for composing, inverting and applying them.
|
|
7
|
+
*
|
|
8
|
+
* Split out of `extract-walls.ts` so the storey frame has ONE implementation.
|
|
9
|
+
* `extract-walls` needs it to express wall axes and existing space footprints
|
|
10
|
+
* storey-locally; `storey-plan-frame.ts` needs the same chain composed all the
|
|
11
|
+
* way to the model's own world frame, so a producer working in that frame can
|
|
12
|
+
* divide the storey out before authoring into a storey-local slot. Two copies
|
|
13
|
+
* of the composition order or of `invertFrame`'s sign convention would put the
|
|
14
|
+
* read side and the write side on coordinates that differ by a rotation, which
|
|
15
|
+
* is exactly the failure the storey-local contract exists to prevent.
|
|
16
|
+
*
|
|
17
|
+
* Every frame here is 2D and in the file's own raw length unit: the Z-up ground
|
|
18
|
+
* plane of the IFC coordinates, unscaled. Callers that speak metres apply the
|
|
19
|
+
* length-unit scale themselves.
|
|
20
|
+
*/
|
|
21
|
+
import { walkPlacementChain } from '@ifc-lite/data';
|
|
4
22
|
import { axis3d } from './host-geometry-frame.js';
|
|
5
23
|
export const AXIS_EPS = 1e-6;
|
|
6
24
|
/**
|
|
@@ -41,24 +59,20 @@ export function readOwnPlacementFrame(store, extractor, overlay, placementId) {
|
|
|
41
59
|
* coordinates storey-local. `frameInStoreyFrame` treats `null` as "compose
|
|
42
60
|
* nothing" instead — see there.
|
|
43
61
|
*/
|
|
44
|
-
export function storeyPlacementChain(store, extractor, overlay, storeyId
|
|
45
|
-
const chain = new Map();
|
|
62
|
+
export function storeyPlacementChain(store, extractor, overlay, storeyId) {
|
|
46
63
|
const storey = readEntity(store, extractor, overlay, storeyId);
|
|
47
64
|
if (!storey)
|
|
48
65
|
return null;
|
|
49
|
-
|
|
50
|
-
if (
|
|
66
|
+
const start = numericAttr(storey.attributes[5]); // ObjectPlacement
|
|
67
|
+
if (start === null)
|
|
51
68
|
return null;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
id = numericAttr(placement.attributes[0]); // PlacementRelTo
|
|
60
|
-
}
|
|
61
|
-
return chain;
|
|
69
|
+
const walked = walkPlacementChain(start, (id) => parentPlacementId(store, extractor, overlay, id));
|
|
70
|
+
return new Map(walked.ids.map((id, hops) => [id, hops]));
|
|
71
|
+
}
|
|
72
|
+
/** An `IfcLocalPlacement`'s `PlacementRelTo` id; null for a root or an unreadable link. */
|
|
73
|
+
function parentPlacementId(store, extractor, overlay, id) {
|
|
74
|
+
const placement = readEntity(store, extractor, overlay, id);
|
|
75
|
+
return placement ? numericAttr(placement.attributes[0]) : null; // PlacementRelTo
|
|
62
76
|
}
|
|
63
77
|
/**
|
|
64
78
|
* The storey's frame expressed in the frame of the chain entry `hops` steps
|
|
@@ -156,42 +170,40 @@ export function frameInStoreyFrame(store, extractor, overlay, placementId, store
|
|
|
156
170
|
// than silently moving it by the site and building offsets.
|
|
157
171
|
if (!storeyChain)
|
|
158
172
|
return frame;
|
|
159
|
-
//
|
|
160
|
-
//
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
// Divide them out — the INVERSE of the storey's frame in the shared
|
|
178
|
-
// ancestor, applied to the wall's frame in that same ancestor. Applying
|
|
179
|
-
// the storey frame itself instead would double the offset rather than
|
|
180
|
-
// remove it, so the two directions land on different coordinates and the
|
|
181
|
-
// #3003 fixture pins which one this is.
|
|
182
|
-
const storeyFrame = storeyFrameAboveBy(store, extractor, overlay, storeyChain, hops);
|
|
183
|
-
return storeyFrame ? composeFrames(invertFrame(storeyFrame), frame) : null;
|
|
184
|
-
}
|
|
185
|
-
// A cycle or unreadable parent cannot make a trustworthy partial frame.
|
|
186
|
-
if (visited.has(relToId))
|
|
187
|
-
return null;
|
|
188
|
-
const parent = readOwnPlacementFrame(store, extractor, overlay, relToId);
|
|
173
|
+
// The shared walker terminates on a cycle or self-reference in malformed
|
|
174
|
+
// IFC with a visited set and no depth bound. It stops at the first ancestor
|
|
175
|
+
// on the storey's own chain (or runs out of parents at the root, where the
|
|
176
|
+
// storey's chain also ends).
|
|
177
|
+
const walked = walkPlacementChain(placementId, (id) => parentPlacementId(store, extractor, overlay, id), { stopAt: (id) => id !== placementId && storeyChain.has(id) });
|
|
178
|
+
// A cycle cannot make a trustworthy partial frame.
|
|
179
|
+
if (walked.end === 'cycle')
|
|
180
|
+
return null;
|
|
181
|
+
const joined = walked.end === 'stopped' ? walked.ids[walked.ids.length - 1] : null;
|
|
182
|
+
// `frame` is composed with every parent strictly between the placement and
|
|
183
|
+
// the shared ancestor; it is then expressed in that ancestor's frame, and
|
|
184
|
+
// the storey sits `hops` placements below it: `hops === 0` when the ancestor
|
|
185
|
+
// IS the storey's placement, the common shape, where the frame is already
|
|
186
|
+
// storey-local.
|
|
187
|
+
const between = walked.ids.slice(1, joined === null ? undefined : -1);
|
|
188
|
+
for (const id of between) {
|
|
189
|
+
const parent = readOwnPlacementFrame(store, extractor, overlay, id);
|
|
190
|
+
// An unreadable parent cannot make a trustworthy partial frame.
|
|
189
191
|
if (!parent)
|
|
190
192
|
return null;
|
|
191
193
|
frame = composeFrames(parent, frame);
|
|
192
|
-
visited.add(relToId);
|
|
193
|
-
currentId = relToId;
|
|
194
194
|
}
|
|
195
|
+
const hops = joined === null ? storeyChain.size : storeyChain.get(joined);
|
|
196
|
+
if (hops === 0)
|
|
197
|
+
return frame;
|
|
198
|
+
// #3003: the wall joined the chain ABOVE the storey, so the storey's own
|
|
199
|
+
// hops are in `frame` and every caller reads the result as storey-local.
|
|
200
|
+
// Divide them out — the INVERSE of the storey's frame in the shared
|
|
201
|
+
// ancestor, applied to the wall's frame in that same ancestor. Applying
|
|
202
|
+
// the storey frame itself instead would double the offset rather than
|
|
203
|
+
// remove it, so the two directions land on different coordinates and the
|
|
204
|
+
// #3003 fixture pins which one this is.
|
|
205
|
+
const storeyFrame = storeyFrameAboveBy(store, extractor, overlay, storeyChain, hops);
|
|
206
|
+
return storeyFrame ? composeFrames(invertFrame(storeyFrame), frame) : null;
|
|
195
207
|
}
|
|
196
208
|
/**
|
|
197
209
|
* Apply a placement frame to a storey-local 2D point. The point's X is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"placement-frame.js","sourceRoot":"","sources":["../../src/in-store/placement-frame.ts"],"names":[],"mappings":"AAAA;;+DAE+D;
|
|
1
|
+
{"version":3,"file":"placement-frame.js","sourceRoot":"","sources":["../../src/in-store/placement-frame.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-source.d.ts","sourceRoot":"","sources":["../../src/in-store/resolve-source.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"resolve-source.d.ts","sourceRoot":"","sources":["../../src/in-store/resolve-source.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAEH,OAAO,EAAuG,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC1J,OAAO,EAAqD,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAG1G,OAAO,KAAK,EAAE,gBAAgB,EAA2B,MAAM,gBAAgB,CAAC;AA+BhF;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,MAAM,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,gBAAgB,CA8HlB"}
|
|
@@ -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, effectiveStoreyId, resolveEffectiveRelationshipOverlay } from '@ifc-lite/parser';
|
|
14
|
+
import { EntityExtractor, effectiveStoreyId, propertyDefinitionsInModel, 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';
|
|
@@ -183,11 +183,17 @@ function collectSourceAssociations(store, extractor, sourceId, editor) {
|
|
|
183
183
|
if (!refList(entity.attributes[4]).includes(sourceId))
|
|
184
184
|
continue;
|
|
185
185
|
const ownerHistoryId = asRef(entity.attributes[1]);
|
|
186
|
-
|
|
186
|
+
// RelatingPropertyDefinition is an IfcPropertySetDefinitionSelect: one
|
|
187
|
+
// reference, a bare set or IFCPROPERTYSETDEFINITIONSET((...)) (#7681).
|
|
188
|
+
// Every other Relating* slot is one reference.
|
|
189
|
+
const relatingExpressIds = type.toUpperCase() === 'IFCRELDEFINESBYPROPERTIES'
|
|
190
|
+
? propertyDefinitionsInModel(store, entity.attributes[5], view, asRef)
|
|
191
|
+
: [asRef(entity.attributes[5])].filter((id) => id !== null);
|
|
192
|
+
const relatingExpressId = relatingExpressIds[0];
|
|
187
193
|
// RelatingPropertyDefinition / RelatingType / etc. is required
|
|
188
194
|
// by the schema, so a missing one is a hard skip. OwnerHistory
|
|
189
195
|
// is optional (IFC4) — null is fine and round-trips cleanly.
|
|
190
|
-
if (relatingExpressId ===
|
|
196
|
+
if (relatingExpressId === undefined)
|
|
191
197
|
continue;
|
|
192
198
|
const name = typeof entity.attributes[2] === 'string' ? entity.attributes[2] : null;
|
|
193
199
|
const description = typeof entity.attributes[3] === 'string' ? entity.attributes[3] : null;
|
|
@@ -201,6 +207,7 @@ function collectSourceAssociations(store, extractor, sourceId, editor) {
|
|
|
201
207
|
name,
|
|
202
208
|
description,
|
|
203
209
|
relatingExpressId,
|
|
210
|
+
...(relatingExpressIds.length > 1 ? { relatingExpressIds } : {}),
|
|
204
211
|
});
|
|
205
212
|
}
|
|
206
213
|
return out;
|
|
@@ -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,EAAE,iBAAiB,EAAE,mCAAmC,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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"}
|
|
@@ -69,7 +69,7 @@ export function storeyPlanFrame(store, storeyExpressId, view) {
|
|
|
69
69
|
return null;
|
|
70
70
|
if (numericAttr(storey.attributes[5]) === null)
|
|
71
71
|
return IDENTITY_FRAME; // ObjectPlacement
|
|
72
|
-
const chain = storeyPlacementChain(store, extractor, overlay, storeyExpressId
|
|
72
|
+
const chain = storeyPlacementChain(store, extractor, overlay, storeyExpressId);
|
|
73
73
|
if (!chain || chain.size === 0)
|
|
74
74
|
return null;
|
|
75
75
|
for (const placementId of chain.keys()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storey-plan-frame.js","sourceRoot":"","sources":["../../src/in-store/storey-plan-frame.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,eAAe,EAAqB,MAAM,kBAAkB,CAAC;AAGtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EACL,WAAW,EACX,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAc9B,wEAAwE;AACxE,MAAM,YAAY,GAAG,IAAI,CAAC;AAE1B,4EAA4E;AAC5E,MAAM,cAAc,GAAoB,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAmB,EACnB,eAAuB,EACvB,IAAiC;IAEjC,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,MAAM,OAAO,GAAkC,MAAM,CAAC,CAAC,CAAC;QACtD,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE;YACzC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACjC,6EAA6E;YAC7E,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAAiC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACrG,CAAC;KACF,CAAC,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IACtE,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,mBAAmB,CAAC;QAAE,OAAO,IAAI,CAAC;IACzF,IAAI,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,cAAc,CAAC,CAAC,kBAAkB;IACzF,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"storey-plan-frame.js","sourceRoot":"","sources":["../../src/in-store/storey-plan-frame.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,16 @@ export declare function curveSegments(curve: LandXmlIfcVerticalCurve, pvi: Profi
|
|
|
40
40
|
linearScaleToMeters: number;
|
|
41
41
|
elevationScaleToMeters: number;
|
|
42
42
|
}, label: string): VerticalSegment[];
|
|
43
|
+
/**
|
|
44
|
+
* Policy for a `CircCurve`'s declared length against the arc or horizontal
|
|
45
|
+
* length its radius and grades give (#7754), shared with `rust/landxml`'s
|
|
46
|
+
* `declares_length` and pinned by `circ-curve-length-vectors.json`:
|
|
47
|
+
* `max(1e-6 * S, min(floor, cap * S))` with S the larger length. The floor is
|
|
48
|
+
* 5e-4 source units (a length written to three decimals), here scaled to
|
|
49
|
+
* metres; the cap keeps short curves checked at their own scale.
|
|
50
|
+
*/
|
|
51
|
+
export declare const CIRCULAR_LENGTH_ROUNDING_FLOOR = 0.0005;
|
|
52
|
+
export declare const CIRCULAR_LENGTH_ROUNDING_CAP = 0.0002;
|
|
43
53
|
/**
|
|
44
54
|
* Assemble grades and curves between the PVIs. `curves[i]` holds the
|
|
45
55
|
* segments rounding off PVI `i` (empty for a bare grade break).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-geometry.d.ts","sourceRoot":"","sources":["../../src/landxml/profile-geometry.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GAAG,cAAc,GAAG,aAAa,CAAC;AAEtF,oDAAoD;AACpD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,mHAAmH;IACnH,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,cAAe,SAAQ,KAAK;CAAG;AAE5C,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAEpD;AAKD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAe1G;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQtG;AAcD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,uBAAuB,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EACrF,KAAK,EAAE;IAAE,mBAAmB,EAAE,MAAM,CAAC;IAAC,sBAAsB,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,MAAM,GACpF,eAAe,EAAE,CAqEnB;
|
|
1
|
+
{"version":3,"file":"profile-geometry.d.ts","sourceRoot":"","sources":["../../src/landxml/profile-geometry.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GAAG,cAAc,GAAG,aAAa,CAAC;AAEtF,oDAAoD;AACpD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,mHAAmH;IACnH,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,cAAe,SAAQ,KAAK;CAAG;AAE5C,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAEpD;AAKD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAe1G;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQtG;AAcD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,uBAAuB,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EACrF,KAAK,EAAE;IAAE,mBAAmB,EAAE,MAAM,CAAC;IAAC,sBAAsB,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,MAAM,GACpF,eAAe,EAAE,CAqEnB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,SAAO,CAAC;AACnD,eAAO,MAAM,4BAA4B,SAAO,CAAC;AAgBjD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,aAAa,EAAE,EAAE,MAAM,EAAE,SAAS,eAAe,EAAE,EAAE,GAChG,eAAe,EAAE,CAgCnB;AAED,gFAAgF;AAChF,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,SAAS,eAAe,EAAE,EAAE,QAAQ,EAAE,SAAS,aAAa,EAAE,EAAE,MAAM,EAAE,SAAS,eAAe,EAAE,EAAE,GAC7G,IAAI,CAiCN"}
|
|
@@ -124,7 +124,7 @@ export function curveSegments(curve, pvi, gradeIn, gradeOut, units, label) {
|
|
|
124
124
|
// them. Producers differ on which length they mean (§12.4), so either
|
|
125
125
|
// agreeing is agreement, and neither is a contradiction.
|
|
126
126
|
const declared = positive(curve.length, scale, `${label}'s length`);
|
|
127
|
-
if (
|
|
127
|
+
if (!declaresCircularLength(declared, horizontal, scale) && !declaresCircularLength(declared, arc, scale)) {
|
|
128
128
|
refuseProfile(`${label} declares a length of ${declared.toFixed(3)} m, but its radius and grades give an arc length of `
|
|
129
129
|
+ `${arc.toFixed(3)} m (horizontal length ${horizontal.toFixed(3)} m)`);
|
|
130
130
|
}
|
|
@@ -138,6 +138,21 @@ export function curveSegments(curve, pvi, gradeIn, gradeOut, units, label) {
|
|
|
138
138
|
return refuseProfile(`${label} has an unrecognised vertical curve type`);
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* Policy for a `CircCurve`'s declared length against the arc or horizontal
|
|
143
|
+
* length its radius and grades give (#7754), shared with `rust/landxml`'s
|
|
144
|
+
* `declares_length` and pinned by `circ-curve-length-vectors.json`:
|
|
145
|
+
* `max(1e-6 * S, min(floor, cap * S))` with S the larger length. The floor is
|
|
146
|
+
* 5e-4 source units (a length written to three decimals), here scaled to
|
|
147
|
+
* metres; the cap keeps short curves checked at their own scale.
|
|
148
|
+
*/
|
|
149
|
+
export const CIRCULAR_LENGTH_ROUNDING_FLOOR = 5e-4;
|
|
150
|
+
export const CIRCULAR_LENGTH_ROUNDING_CAP = 2e-4;
|
|
151
|
+
function declaresCircularLength(declared, computed, unitScale) {
|
|
152
|
+
const scale = Math.max(declared, computed);
|
|
153
|
+
const tolerance = Math.max(1e-6 * scale, Math.min(CIRCULAR_LENGTH_ROUNDING_FLOOR * unitScale, CIRCULAR_LENGTH_ROUNDING_CAP * scale));
|
|
154
|
+
return Math.abs(declared - computed) <= tolerance;
|
|
155
|
+
}
|
|
141
156
|
function grade(sourceId, from, to, a, b) {
|
|
142
157
|
const g = (b.height - a.height) / (b.distAlong - a.distAlong);
|
|
143
158
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-geometry.js","sourceRoot":"","sources":["../../src/landxml/profile-geometry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"profile-geometry.js","sourceRoot":"","sources":["../../src/landxml/profile-geometry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/create",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.1",
|
|
4
4
|
"description": "IFC creation from scratch — walls, slabs, beams, columns, stairs, roofs with geometry, properties and quantities",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -13,17 +13,17 @@
|
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@ifc-lite/data": "^6.
|
|
17
|
-
"@ifc-lite/encoding": "^2.
|
|
16
|
+
"@ifc-lite/data": "^6.3.0",
|
|
17
|
+
"@ifc-lite/encoding": "^2.4.0",
|
|
18
18
|
"@ifc-lite/mutations": "^3.2.0",
|
|
19
|
-
"@ifc-lite/parser": "^9.
|
|
20
|
-
"@ifc-lite/export": "^4.
|
|
21
|
-
"@ifc-lite/geometry": "^7.
|
|
19
|
+
"@ifc-lite/parser": "^9.6.0",
|
|
20
|
+
"@ifc-lite/export": "^4.12.0",
|
|
21
|
+
"@ifc-lite/geometry": "^7.9.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"typescript": "^6.0.3",
|
|
25
25
|
"vitest": "^5.0.3",
|
|
26
|
-
"@ifc-lite/wasm": "^10.
|
|
26
|
+
"@ifc-lite/wasm": "^10.5.0"
|
|
27
27
|
},
|
|
28
28
|
"license": "MPL-2.0",
|
|
29
29
|
"author": "Louis True",
|