@ifc-lite/parser 1.1.7 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +373 -0
- package/README.md +1 -1
- package/dist/classification-extractor.js +3 -3
- package/dist/classification-extractor.js.map +1 -1
- package/dist/columnar-parser.d.ts +86 -2
- package/dist/columnar-parser.d.ts.map +1 -1
- package/dist/columnar-parser.js +440 -173
- package/dist/columnar-parser.js.map +1 -1
- package/dist/entity-extractor.d.ts.map +1 -1
- package/dist/entity-extractor.js +23 -11
- package/dist/entity-extractor.js.map +1 -1
- package/dist/generated/entities.d.ts +3 -2
- package/dist/generated/entities.d.ts.map +1 -1
- package/dist/generated/entities.js +6 -3
- package/dist/generated/entities.js.map +1 -1
- package/dist/generated/enums.d.ts.map +1 -1
- package/dist/generated/enums.js +0 -3
- package/dist/generated/enums.js.map +1 -1
- package/dist/generated/index.d.ts +4 -2
- package/dist/generated/index.d.ts.map +1 -1
- package/dist/generated/index.js +4 -2
- package/dist/generated/index.js.map +1 -1
- package/dist/generated/schema-registry.d.ts.map +1 -1
- package/dist/generated/schema-registry.js +8 -3
- package/dist/generated/schema-registry.js.map +1 -1
- package/dist/generated/selects.d.ts +3 -0
- package/dist/generated/selects.d.ts.map +1 -1
- package/dist/generated/selects.js +6 -3
- package/dist/generated/selects.js.map +1 -1
- package/dist/generated/serializers.d.ts +71 -0
- package/dist/generated/serializers.d.ts.map +1 -0
- package/dist/generated/serializers.js +236 -0
- package/dist/generated/serializers.js.map +1 -0
- package/dist/generated/test-compile.d.ts +1 -6
- package/dist/generated/test-compile.d.ts.map +1 -1
- package/dist/generated/test-compile.js +30 -25
- package/dist/generated/test-compile.js.map +1 -1
- package/dist/generated/type-ids.d.ts +815 -0
- package/dist/generated/type-ids.d.ts.map +1 -0
- package/dist/generated/type-ids.js +1669 -0
- package/dist/generated/type-ids.js.map +1 -0
- package/dist/generated/types.d.ts +9 -542
- package/dist/generated/types.d.ts.map +1 -1
- package/dist/generated/types.js +6 -497
- package/dist/generated/types.js.map +1 -1
- package/dist/georef-extractor.js +2 -2
- package/dist/georef-extractor.js.map +1 -1
- package/dist/index.d.ts +38 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +233 -41
- package/dist/index.js.map +1 -1
- package/dist/material-extractor.js +8 -8
- package/dist/material-extractor.js.map +1 -1
- package/dist/parser.worker.d.ts +2 -0
- package/dist/parser.worker.d.ts.map +1 -0
- package/dist/parser.worker.js +43 -0
- package/dist/parser.worker.js.map +1 -0
- package/dist/property-extractor.d.ts +5 -1
- package/dist/property-extractor.d.ts.map +1 -1
- package/dist/property-extractor.js +22 -1
- package/dist/property-extractor.js.map +1 -1
- package/dist/quantity-extractor.d.ts +5 -1
- package/dist/quantity-extractor.d.ts.map +1 -1
- package/dist/quantity-extractor.js +29 -1
- package/dist/quantity-extractor.js.map +1 -1
- package/dist/relationship-extractor.d.ts +5 -1
- package/dist/relationship-extractor.d.ts.map +1 -1
- package/dist/relationship-extractor.js +27 -2
- package/dist/relationship-extractor.js.map +1 -1
- package/dist/spatial-hierarchy-builder.d.ts +4 -3
- package/dist/spatial-hierarchy-builder.d.ts.map +1 -1
- package/dist/spatial-hierarchy-builder.js +46 -34
- package/dist/spatial-hierarchy-builder.js.map +1 -1
- package/dist/style-extractor.d.ts +1 -0
- package/dist/style-extractor.d.ts.map +1 -1
- package/dist/style-extractor.js +18 -0
- package/dist/style-extractor.js.map +1 -1
- package/dist/tokenizer.d.ts +11 -0
- package/dist/tokenizer.d.ts.map +1 -1
- package/dist/tokenizer.js +150 -10
- package/dist/tokenizer.js.map +1 -1
- package/dist/unit-extractor.d.ts +22 -0
- package/dist/unit-extractor.d.ts.map +1 -0
- package/dist/unit-extractor.js +205 -0
- package/dist/unit-extractor.js.map +1 -0
- package/dist/worker-parser.d.ts +28 -0
- package/dist/worker-parser.d.ts.map +1 -0
- package/dist/worker-parser.js +81 -0
- package/dist/worker-parser.js.map +1 -0
- package/package.json +9 -8
- package/dist/examples/comprehensive-extraction.d.ts +0 -76
- package/dist/examples/comprehensive-extraction.d.ts.map +0 -1
- package/dist/examples/comprehensive-extraction.js +0 -228
- package/dist/examples/comprehensive-extraction.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"property-extractor.js","sourceRoot":"","sources":["../src/property-extractor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"property-extractor.js","sourceRoot":"","sources":["../src/property-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,11 @@ export declare class QuantityExtractor {
|
|
|
22
22
|
private debug;
|
|
23
23
|
constructor(entities: Map<number, IfcEntity>, debug?: boolean);
|
|
24
24
|
/**
|
|
25
|
-
* Extract all IfcElementQuantity sets from entities
|
|
25
|
+
* Extract all IfcElementQuantity sets from entities (async version with yields)
|
|
26
|
+
*/
|
|
27
|
+
extractQuantitySetsAsync(): Promise<Map<number, QuantitySet>>;
|
|
28
|
+
/**
|
|
29
|
+
* Extract all IfcElementQuantity sets from entities (sync version for backward compatibility)
|
|
26
30
|
*/
|
|
27
31
|
extractQuantitySets(): Map<number, QuantitySet>;
|
|
28
32
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quantity-extractor.d.ts","sourceRoot":"","sources":["../src/quantity-extractor.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAY3F,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,KAAK,CAAU;gBAEX,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,GAAE,OAAe;IAKpE;;OAEG;IACH,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAgC/C;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kBAAkB;IAuD1B;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IAmDvB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAUhB;;OAEG;IACH,uBAAuB,IAAI,MAAM;IAUjC;;OAEG;IACH,qBAAqB,IAAI,MAAM;CAUhC"}
|
|
1
|
+
{"version":3,"file":"quantity-extractor.d.ts","sourceRoot":"","sources":["../src/quantity-extractor.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAY3F,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,KAAK,CAAU;gBAEX,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,GAAE,OAAe;IAKpE;;OAEG;IACG,wBAAwB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IA+BnE;;OAEG;IACH,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAgC/C;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kBAAkB;IAuD1B;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IAmDvB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAUhB;;OAEG;IACH,uBAAuB,IAAI,MAAM;IAUjC;;OAEG;IACH,qBAAqB,IAAI,MAAM;CAUhC"}
|
|
@@ -18,7 +18,35 @@ export class QuantityExtractor {
|
|
|
18
18
|
this.debug = debug;
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
|
-
* Extract all IfcElementQuantity sets from entities
|
|
21
|
+
* Extract all IfcElementQuantity sets from entities (async version with yields)
|
|
22
|
+
*/
|
|
23
|
+
async extractQuantitySetsAsync() {
|
|
24
|
+
const quantitySets = new Map();
|
|
25
|
+
let elementQuantityCount = 0;
|
|
26
|
+
let quantityValueCount = 0;
|
|
27
|
+
let processed = 0;
|
|
28
|
+
for (const [id, entity] of this.entities) {
|
|
29
|
+
const typeUpper = entity.type.toUpperCase();
|
|
30
|
+
if (typeUpper === 'IFCELEMENTQUANTITY') {
|
|
31
|
+
elementQuantityCount++;
|
|
32
|
+
const qset = this.extractQuantitySet(entity);
|
|
33
|
+
if (qset) {
|
|
34
|
+
quantitySets.set(id, qset);
|
|
35
|
+
quantityValueCount += qset.quantities.length;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
processed++;
|
|
39
|
+
// Yield to event loop every 2000 entities to prevent blocking
|
|
40
|
+
if (processed % 2000 === 0) {
|
|
41
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
console.log(`[QuantityExtractor] Found ${elementQuantityCount} IfcElementQuantity entities`);
|
|
45
|
+
console.log(`[QuantityExtractor] Extracted ${quantitySets.size} quantity sets with ${quantityValueCount} total quantities`);
|
|
46
|
+
return quantitySets;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Extract all IfcElementQuantity sets from entities (sync version for backward compatibility)
|
|
22
50
|
*/
|
|
23
51
|
extractQuantitySets() {
|
|
24
52
|
const quantitySets = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quantity-extractor.js","sourceRoot":"","sources":["../src/quantity-extractor.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AA0B/D,2CAA2C;AAC3C,MAAM,iBAAiB,GAAsC;IAC3D,mBAAmB,EAAE,QAAQ;IAC7B,iBAAiB,EAAE,MAAM;IACzB,mBAAmB,EAAE,QAAQ;IAC7B,kBAAkB,EAAE,OAAO;IAC3B,mBAAmB,EAAE,QAAQ;IAC7B,iBAAiB,EAAE,MAAM;CAC1B,CAAC;AAEF,MAAM,OAAO,iBAAiB;IACpB,QAAQ,CAAyB;IACjC,KAAK,CAAU;IAEvB,YAAY,QAAgC,EAAE,QAAiB,KAAK;QAClE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;QACpD,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAC7B,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAE3B,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAE5C,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;gBACvC,oBAAoB,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAC7C,IAAI,IAAI,EAAE,CAAC;oBACT,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAC3B,kBAAkB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;oBAE7C,IAAI,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;wBACzC,OAAO,CAAC,GAAG,CAAC,8CAA8C,EAAE,GAAG,EAAE;4BAC/D,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;4BAClC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;yBAC1B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,6BAA6B,oBAAoB,8BAA8B,CAAC,CAAC;QAC7F,OAAO,CAAC,GAAG,CAAC,iCAAiC,YAAY,CAAC,IAAI,uBAAuB,kBAAkB,mBAAmB,CAAC,CAAC;QAE5H,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;;;;;;;OAUG;IACK,kBAAkB,CAAC,MAAiB;QAC1C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;YAEhC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,2CAA2C,MAAM,CAAC,SAAS,iCAAiC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC3H,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAErC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,2CAA2C,MAAM,CAAC,SAAS,cAAc,CAAC,CAAC;gBAC1F,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;YACjE,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,UAAU,GAAoB,EAAE,CAAC;YAEvC,qEAAqE;YACrE,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBAClC,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;oBACtC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;wBACjC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAChD,IAAI,WAAW,EAAE,CAAC;4BAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;4BACnD,IAAI,QAAQ,EAAE,CAAC;gCACb,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BAC5B,CAAC;wBACH,CAAC;6BAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;4BACtB,OAAO,CAAC,IAAI,CAAC,4CAA4C,QAAQ,YAAY,CAAC,CAAC;wBACjF,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO;gBACL,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,IAAI;gBACJ,QAAQ,EAAE,QAAQ,IAAI,SAAS;gBAC/B,mBAAmB;gBACnB,UAAU;aACX,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,sDAAsD,MAAM,CAAC,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC;YAC/F,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,eAAe,CAAC,MAAiB;QACvC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,YAAY,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAElD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,iCAAiC;gBACjC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;YAEhC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,iCAAiC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;gBACvH,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,cAAc,CAAC,CAAC;gBACtF,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,6CAA6C;YAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,yBAAyB,EAAE,KAAK,CAAC,CAAC;gBACxG,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,2CAA2C;YAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAEpF,OAAO;gBACL,IAAI;gBACJ,IAAI,EAAE,YAAY;gBAClB,KAAK;gBACL,OAAO;aACR,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,mDAAmD,MAAM,CAAC,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5F,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,KAAU;QACzB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,uBAAuB;QACrB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,oBAAoB,EAAE,CAAC;gBACvD,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjC,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"quantity-extractor.js","sourceRoot":"","sources":["../src/quantity-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,11 @@ export declare class RelationshipExtractor {
|
|
|
6
6
|
private entities;
|
|
7
7
|
constructor(entities: Map<number, IfcEntity>);
|
|
8
8
|
/**
|
|
9
|
-
* Extract all relationships
|
|
9
|
+
* Extract all relationships (async version with yields for large files)
|
|
10
|
+
*/
|
|
11
|
+
extractRelationshipsAsync(): Promise<Relationship[]>;
|
|
12
|
+
/**
|
|
13
|
+
* Extract all relationships (sync version for backward compatibility)
|
|
10
14
|
*/
|
|
11
15
|
extractRelationships(): Relationship[];
|
|
12
16
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationship-extractor.d.ts","sourceRoot":"","sources":["../src/relationship-extractor.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1D,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAyB;gBAE7B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;IAI5C;;OAEG;IACH,oBAAoB,IAAI,YAAY,EAAE;
|
|
1
|
+
{"version":3,"file":"relationship-extractor.d.ts","sourceRoot":"","sources":["../src/relationship-extractor.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1D,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAyB;gBAE7B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;IAI5C;;OAEG;IACG,yBAAyB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IA6B1D;;OAEG;IACH,oBAAoB,IAAI,YAAY,EAAE;IAsBtC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAwD3B,OAAO,CAAC,iBAAiB;CAM1B"}
|
|
@@ -7,11 +7,36 @@ export class RelationshipExtractor {
|
|
|
7
7
|
this.entities = entities;
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
|
-
* Extract all relationships
|
|
10
|
+
* Extract all relationships (async version with yields for large files)
|
|
11
|
+
*/
|
|
12
|
+
async extractRelationshipsAsync() {
|
|
13
|
+
const relationships = [];
|
|
14
|
+
const typeCounts = new Map();
|
|
15
|
+
let processed = 0;
|
|
16
|
+
for (const [, entity] of this.entities) {
|
|
17
|
+
const typeUpper = entity.type.toUpperCase();
|
|
18
|
+
if (typeUpper.startsWith('IFCREL')) {
|
|
19
|
+
typeCounts.set(typeUpper, (typeCounts.get(typeUpper) || 0) + 1);
|
|
20
|
+
}
|
|
21
|
+
const rel = this.extractRelationship(entity);
|
|
22
|
+
if (rel) {
|
|
23
|
+
relationships.push(rel);
|
|
24
|
+
}
|
|
25
|
+
processed++;
|
|
26
|
+
// Yield to event loop every 2000 entities to prevent blocking
|
|
27
|
+
if (processed % 2000 === 0) {
|
|
28
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
console.log('[RelationshipExtractor] Relationship type counts:', Object.fromEntries(typeCounts));
|
|
32
|
+
console.log('[RelationshipExtractor] Successfully extracted:', relationships.length);
|
|
33
|
+
return relationships;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Extract all relationships (sync version for backward compatibility)
|
|
11
37
|
*/
|
|
12
38
|
extractRelationships() {
|
|
13
39
|
const relationships = [];
|
|
14
|
-
// Debug: count relationship types found
|
|
15
40
|
const typeCounts = new Map();
|
|
16
41
|
for (const [, entity] of this.entities) {
|
|
17
42
|
const typeUpper = entity.type.toUpperCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationship-extractor.js","sourceRoot":"","sources":["../src/relationship-extractor.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAQ/D,MAAM,OAAO,qBAAqB;IACxB,QAAQ,CAAyB;IAEzC,YAAY,QAAgC;QAC1C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"relationship-extractor.js","sourceRoot":"","sources":["../src/relationship-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,15 +6,16 @@ import type { EntityRef } from './types.js';
|
|
|
6
6
|
export declare class SpatialHierarchyBuilder {
|
|
7
7
|
/**
|
|
8
8
|
* Build spatial hierarchy from entities and relationships
|
|
9
|
+
*
|
|
10
|
+
* @param lengthUnitScale - Scale factor to convert IFC length values to meters (e.g., 0.001 for millimeters)
|
|
9
11
|
*/
|
|
10
12
|
build(entities: EntityTable, relationships: RelationshipGraph, strings: StringTable, source: Uint8Array, entityIndex: {
|
|
11
13
|
byId: Map<number, EntityRef>;
|
|
12
|
-
}): SpatialHierarchy;
|
|
14
|
+
}, lengthUnitScale?: number): SpatialHierarchy;
|
|
13
15
|
private buildNode;
|
|
14
|
-
private getTypeEnum;
|
|
15
16
|
/**
|
|
16
17
|
* Extract elevation from IfcBuildingStorey entity
|
|
17
|
-
* Elevation is
|
|
18
|
+
* Elevation is at attribute index 9 in IFC4 (after GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType)
|
|
18
19
|
*/
|
|
19
20
|
private extractElevation;
|
|
20
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spatial-hierarchy-builder.d.ts","sourceRoot":"","sources":["../src/spatial-hierarchy-builder.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAe,MAAM,gBAAgB,CAAC;AAEjH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,qBAAa,uBAAuB;IAClC
|
|
1
|
+
{"version":3,"file":"spatial-hierarchy-builder.d.ts","sourceRoot":"","sources":["../src/spatial-hierarchy-builder.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAe,MAAM,gBAAgB,CAAC;AAEjH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,qBAAa,uBAAuB;IAClC;;;;OAIG;IACH,KAAK,CACH,QAAQ,EAAE,WAAW,EACrB,aAAa,EAAE,iBAAiB,EAChC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE;QAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;KAAE,EAC7C,eAAe,GAAE,MAAY,GAC5B,gBAAgB;IAuInB,OAAO,CAAC,SAAS;IAgGjB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CAiDzB"}
|
|
@@ -6,14 +6,23 @@ import { EntityExtractor } from './entity-extractor.js';
|
|
|
6
6
|
export class SpatialHierarchyBuilder {
|
|
7
7
|
/**
|
|
8
8
|
* Build spatial hierarchy from entities and relationships
|
|
9
|
+
*
|
|
10
|
+
* @param lengthUnitScale - Scale factor to convert IFC length values to meters (e.g., 0.001 for millimeters)
|
|
9
11
|
*/
|
|
10
|
-
build(entities, relationships, strings, source, entityIndex) {
|
|
12
|
+
build(entities, relationships, strings, source, entityIndex, lengthUnitScale = 1.0) {
|
|
11
13
|
const byStorey = new Map();
|
|
12
14
|
const byBuilding = new Map();
|
|
13
15
|
const bySite = new Map();
|
|
14
16
|
const bySpace = new Map();
|
|
15
17
|
const storeyElevations = new Map();
|
|
18
|
+
const storeyHeights = new Map();
|
|
16
19
|
const elementToStorey = new Map();
|
|
20
|
+
// PRE-BUILD INDEX MAP: O(n) once, then O(1) lookups
|
|
21
|
+
// This eliminates O(n²) when getTypeEnum is called for every spatial node
|
|
22
|
+
const entityTypeMap = new Map();
|
|
23
|
+
for (let i = 0; i < entities.count; i++) {
|
|
24
|
+
entityTypeMap.set(entities.expressId[i], entities.typeEnum[i]);
|
|
25
|
+
}
|
|
17
26
|
// Find IfcProject (should be only one)
|
|
18
27
|
const projectIds = entities.getByType(IfcTypeEnum.IfcProject);
|
|
19
28
|
if (projectIds.length === 0) {
|
|
@@ -22,13 +31,14 @@ export class SpatialHierarchyBuilder {
|
|
|
22
31
|
}
|
|
23
32
|
const projectId = projectIds[0];
|
|
24
33
|
// Build project node
|
|
25
|
-
const projectNode = this.buildNode(projectId, entities, relationships, strings, source, entityIndex, byStorey, byBuilding, bySite, bySpace, storeyElevations, elementToStorey);
|
|
34
|
+
const projectNode = this.buildNode(projectId, entities, relationships, strings, source, entityIndex, byStorey, byBuilding, bySite, bySpace, storeyElevations, elementToStorey, entityTypeMap, lengthUnitScale);
|
|
26
35
|
// Build reverse lookup map: elementId -> storeyId
|
|
27
36
|
for (const [storeyId, elementIds] of byStorey) {
|
|
28
37
|
for (const elementId of elementIds) {
|
|
29
38
|
elementToStorey.set(elementId, storeyId);
|
|
30
39
|
}
|
|
31
40
|
}
|
|
41
|
+
// Note: storeyHeights remains empty for client path - uses on-demand property extraction
|
|
32
42
|
// Validation: log warnings if maps are empty
|
|
33
43
|
if (byStorey.size === 0) {
|
|
34
44
|
console.warn('[SpatialHierarchyBuilder] No storeys found in spatial hierarchy');
|
|
@@ -43,6 +53,7 @@ export class SpatialHierarchyBuilder {
|
|
|
43
53
|
bySite,
|
|
44
54
|
bySpace,
|
|
45
55
|
storeyElevations,
|
|
56
|
+
storeyHeights,
|
|
46
57
|
elementToStorey,
|
|
47
58
|
getStoreyElements(storeyId) {
|
|
48
59
|
return byStorey.get(storeyId) ?? [];
|
|
@@ -98,14 +109,16 @@ export class SpatialHierarchyBuilder {
|
|
|
98
109
|
};
|
|
99
110
|
return hierarchy;
|
|
100
111
|
}
|
|
101
|
-
buildNode(expressId, entities, relationships, strings, source, entityIndex, byStorey, byBuilding, bySite, bySpace, storeyElevations, elementToStorey) {
|
|
102
|
-
const typeEnum =
|
|
112
|
+
buildNode(expressId, entities, relationships, strings, source, entityIndex, byStorey, byBuilding, bySite, bySpace, storeyElevations, elementToStorey, entityTypeMap, lengthUnitScale) {
|
|
113
|
+
const typeEnum = entityTypeMap.get(expressId) ?? IfcTypeEnum.Unknown;
|
|
103
114
|
const name = entities.getName(expressId);
|
|
104
|
-
// Extract elevation for storeys
|
|
115
|
+
// Extract elevation for storeys (apply unit scale to convert to meters)
|
|
105
116
|
let elevation;
|
|
106
117
|
if (typeEnum === IfcTypeEnum.IfcBuildingStorey) {
|
|
107
|
-
|
|
108
|
-
if (
|
|
118
|
+
const rawElevation = this.extractElevation(expressId, source, entityIndex);
|
|
119
|
+
if (rawElevation !== undefined) {
|
|
120
|
+
// Apply unit scale to convert to meters
|
|
121
|
+
elevation = rawElevation * lengthUnitScale;
|
|
109
122
|
storeyElevations.set(expressId, elevation);
|
|
110
123
|
}
|
|
111
124
|
}
|
|
@@ -117,12 +130,12 @@ export class SpatialHierarchyBuilder {
|
|
|
117
130
|
// Filter to only spatial structure types
|
|
118
131
|
const childNodes = [];
|
|
119
132
|
for (const childId of aggregatedChildren) {
|
|
120
|
-
const childType =
|
|
133
|
+
const childType = entityTypeMap.get(childId) ?? IfcTypeEnum.Unknown;
|
|
121
134
|
if (childType === IfcTypeEnum.IfcSite ||
|
|
122
135
|
childType === IfcTypeEnum.IfcBuilding ||
|
|
123
136
|
childType === IfcTypeEnum.IfcBuildingStorey ||
|
|
124
137
|
childType === IfcTypeEnum.IfcSpace) {
|
|
125
|
-
const childNode = this.buildNode(childId, entities, relationships, strings, source, entityIndex, byStorey, byBuilding, bySite, bySpace, storeyElevations, elementToStorey);
|
|
138
|
+
const childNode = this.buildNode(childId, entities, relationships, strings, source, entityIndex, byStorey, byBuilding, bySite, bySpace, storeyElevations, elementToStorey, entityTypeMap, lengthUnitScale);
|
|
126
139
|
childNodes.push(childNode);
|
|
127
140
|
}
|
|
128
141
|
}
|
|
@@ -148,18 +161,9 @@ export class SpatialHierarchyBuilder {
|
|
|
148
161
|
elements: containedElements,
|
|
149
162
|
};
|
|
150
163
|
}
|
|
151
|
-
getTypeEnum(expressId, entities) {
|
|
152
|
-
// Linear search through expressId array
|
|
153
|
-
for (let i = 0; i < entities.count; i++) {
|
|
154
|
-
if (entities.expressId[i] === expressId) {
|
|
155
|
-
return entities.typeEnum[i];
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
return IfcTypeEnum.Unknown;
|
|
159
|
-
}
|
|
160
164
|
/**
|
|
161
165
|
* Extract elevation from IfcBuildingStorey entity
|
|
162
|
-
* Elevation is
|
|
166
|
+
* Elevation is at attribute index 9 in IFC4 (after GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType)
|
|
163
167
|
*/
|
|
164
168
|
extractElevation(expressId, source, entityIndex) {
|
|
165
169
|
const ref = entityIndex.byId.get(expressId);
|
|
@@ -170,25 +174,33 @@ export class SpatialHierarchyBuilder {
|
|
|
170
174
|
const entity = extractor.extractEntity(ref);
|
|
171
175
|
if (!entity)
|
|
172
176
|
return undefined;
|
|
173
|
-
// IfcBuildingStorey elevation is typically at index 8
|
|
174
|
-
// But it might vary, so try common indices
|
|
175
177
|
const attrs = entity.attributes || [];
|
|
176
|
-
//
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
178
|
+
// Helper to extract number from raw value or typed value like ['IFCLENGTHMEASURE', 3.0]
|
|
179
|
+
const extractNumber = (val) => {
|
|
180
|
+
if (typeof val === 'number')
|
|
181
|
+
return val;
|
|
182
|
+
if (Array.isArray(val) && val.length === 2 && typeof val[1] === 'number') {
|
|
183
|
+
return val[1]; // Typed value: ['IFCLENGTHMEASURE', 3.0]
|
|
184
|
+
}
|
|
185
|
+
return undefined;
|
|
186
|
+
};
|
|
187
|
+
// Try index 9 first (correct index for IfcBuildingStorey.Elevation in IFC4)
|
|
188
|
+
if (attrs.length > 9) {
|
|
189
|
+
const elev = extractNumber(attrs[9]);
|
|
190
|
+
if (elev !== undefined)
|
|
191
|
+
return elev;
|
|
183
192
|
}
|
|
184
|
-
// Try index
|
|
185
|
-
if (attrs.length >
|
|
186
|
-
|
|
193
|
+
// Try index 8 (in case of schema variations)
|
|
194
|
+
if (attrs.length > 8) {
|
|
195
|
+
const elev = extractNumber(attrs[8]);
|
|
196
|
+
if (elev !== undefined)
|
|
197
|
+
return elev;
|
|
187
198
|
}
|
|
188
|
-
//
|
|
199
|
+
// Fallback: search for first numeric value that looks like an elevation
|
|
189
200
|
for (let i = 0; i < attrs.length; i++) {
|
|
190
|
-
|
|
191
|
-
|
|
201
|
+
const elev = extractNumber(attrs[i]);
|
|
202
|
+
if (elev !== undefined && Math.abs(elev) < 10000) {
|
|
203
|
+
return elev;
|
|
192
204
|
}
|
|
193
205
|
}
|
|
194
206
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spatial-hierarchy-builder.js","sourceRoot":"","sources":["../src/spatial-hierarchy-builder.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAO/D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,OAAO,uBAAuB;IAClC
|
|
1
|
+
{"version":3,"file":"spatial-hierarchy-builder.js","sourceRoot":"","sources":["../src/spatial-hierarchy-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style-extractor.d.ts","sourceRoot":"","sources":["../src/style-extractor.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,WAAW,WAAW;IAExB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAG5C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IAGrB,iBAAiB,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACtG,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAG3B,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;CAC1C;AAED,MAAM,WAAW,YAAY;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,WAAW,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,QAAQ,CAAyB;gBAE7B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,WAAW;IAMvE;;OAEG;IACH,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAyBzC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAyBrC;;OAEG;IACH,OAAO,CAAC,kCAAkC;IAsB1C;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAgCvC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAwCpC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAqBlC;;OAEG;IACH,OAAO,CAAC,eAAe;IAuBvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAgBhC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAahC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyD3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAOzB
|
|
1
|
+
{"version":3,"file":"style-extractor.d.ts","sourceRoot":"","sources":["../src/style-extractor.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,WAAW,WAAW;IAExB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAG5C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IAGrB,iBAAiB,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACtG,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAG3B,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;CAC1C;AAED,MAAM,WAAW,YAAY;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,WAAW,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,QAAQ,CAAyB;gBAE7B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,WAAW;IAMvE;;OAEG;IACH,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAyBzC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAyBrC;;OAEG;IACH,OAAO,CAAC,kCAAkC;IAsB1C;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAgCvC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAwCpC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAqBlC;;OAEG;IACH,OAAO,CAAC,eAAe;IAuBvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAgBhC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAahC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyD3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;;OAGG;IACH,OAAO,CAAC,eAAe;CA4B1B"}
|
package/dist/style-extractor.js
CHANGED
|
@@ -311,6 +311,7 @@ export class StyleExtractor {
|
|
|
311
311
|
}
|
|
312
312
|
/**
|
|
313
313
|
* Get numeric value from entity attribute
|
|
314
|
+
* Also handles TypedValue wrappers like [typeName, numericValue]
|
|
314
315
|
*/
|
|
315
316
|
getNumericValue(entity, index) {
|
|
316
317
|
const value = this.getAttributeValue(entity, index);
|
|
@@ -321,6 +322,23 @@ export class StyleExtractor {
|
|
|
321
322
|
const parsed = parseFloat(value);
|
|
322
323
|
return isNaN(parsed) ? null : parsed;
|
|
323
324
|
}
|
|
325
|
+
// Handle TypedValue wrappers: [typeName, numericValue]
|
|
326
|
+
// e.g., ["IFCNORMALISEDRATIOMEASURE", 0.5]
|
|
327
|
+
if (Array.isArray(value) && value.length >= 2) {
|
|
328
|
+
if (typeof value[0] === 'string' && typeof value[1] === 'number') {
|
|
329
|
+
return value[1];
|
|
330
|
+
}
|
|
331
|
+
// Nested case: recursively try to extract numeric from second element
|
|
332
|
+
if (typeof value[0] === 'string') {
|
|
333
|
+
if (typeof value[1] === 'number') {
|
|
334
|
+
return value[1];
|
|
335
|
+
}
|
|
336
|
+
if (typeof value[1] === 'string') {
|
|
337
|
+
const parsed = parseFloat(value[1]);
|
|
338
|
+
return isNaN(parsed) ? null : parsed;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
324
342
|
return null;
|
|
325
343
|
}
|
|
326
344
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style-extractor.js","sourceRoot":"","sources":["../src/style-extractor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"style-extractor.js","sourceRoot":"","sources":["../src/style-extractor.ts"],"names":[],"mappings":"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"}
|
package/dist/tokenizer.d.ts
CHANGED
|
@@ -18,6 +18,17 @@ export declare class StepTokenizer {
|
|
|
18
18
|
length: number;
|
|
19
19
|
line: number;
|
|
20
20
|
}>;
|
|
21
|
+
/**
|
|
22
|
+
* FAST scan - skips to semicolon instead of matching parentheses
|
|
23
|
+
* ~5-10x faster for large files, yields length=0 (calculate on-demand)
|
|
24
|
+
*/
|
|
25
|
+
scanEntitiesFast(): Generator<{
|
|
26
|
+
expressId: number;
|
|
27
|
+
type: string;
|
|
28
|
+
offset: number;
|
|
29
|
+
length: number;
|
|
30
|
+
line: number;
|
|
31
|
+
}>;
|
|
21
32
|
private readExpressId;
|
|
22
33
|
private readTypeName;
|
|
23
34
|
private skipWhitespace;
|
package/dist/tokenizer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../src/tokenizer.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,UAAU,CAAa;gBAEnB,MAAM,EAAE,UAAU;IAI9B;;;OAGG;IACF,YAAY,IAAI,SAAS,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAmE7G,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,YAAY;IA+BpB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../src/tokenizer.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,UAAU,CAAa;gBAEnB,MAAM,EAAE,UAAU;IAI9B;;;OAGG;IACF,YAAY,IAAI,SAAS,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAmE7G;;;OAGG;IACF,gBAAgB,IAAI,SAAS,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IA4HjH,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,YAAY;IA+BpB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,gBAAgB;CA6CzB"}
|