@ifc-lite/parser 2.0.0 → 2.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.
Files changed (57) hide show
  1. package/dist/attribute-helpers.d.ts +11 -0
  2. package/dist/attribute-helpers.d.ts.map +1 -0
  3. package/dist/attribute-helpers.js +63 -0
  4. package/dist/attribute-helpers.js.map +1 -0
  5. package/dist/classification-extractor.d.ts.map +1 -1
  6. package/dist/classification-extractor.js +1 -32
  7. package/dist/classification-extractor.js.map +1 -1
  8. package/dist/columnar-parser.d.ts +17 -148
  9. package/dist/columnar-parser.d.ts.map +1 -1
  10. package/dist/columnar-parser.js +19 -799
  11. package/dist/columnar-parser.js.map +1 -1
  12. package/dist/compact-entity-index.d.ts +95 -0
  13. package/dist/compact-entity-index.d.ts.map +1 -0
  14. package/dist/compact-entity-index.js +234 -0
  15. package/dist/compact-entity-index.js.map +1 -0
  16. package/dist/entity-extractor.d.ts.map +1 -1
  17. package/dist/entity-extractor.js +4 -1
  18. package/dist/entity-extractor.js.map +1 -1
  19. package/dist/generated/entities.d.ts +9 -0
  20. package/dist/generated/entities.d.ts.map +1 -1
  21. package/dist/generated/entities.js +21 -0
  22. package/dist/generated/entities.js.map +1 -1
  23. package/dist/generated/schema-registry.d.ts.map +1 -1
  24. package/dist/generated/schema-registry.js +12393 -9918
  25. package/dist/generated/schema-registry.js.map +1 -1
  26. package/dist/generated/serializers.d.ts.map +1 -1
  27. package/dist/generated/serializers.js +2 -5
  28. package/dist/generated/serializers.js.map +1 -1
  29. package/dist/georef-extractor.d.ts.map +1 -1
  30. package/dist/georef-extractor.js +1 -29
  31. package/dist/georef-extractor.js.map +1 -1
  32. package/dist/ifc-schema.d.ts +4 -4
  33. package/dist/ifc-schema.d.ts.map +1 -1
  34. package/dist/ifc-schema.js +13 -197
  35. package/dist/ifc-schema.js.map +1 -1
  36. package/dist/index.d.ts +3 -1
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +6 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/material-extractor.d.ts.map +1 -1
  41. package/dist/material-extractor.js +1 -47
  42. package/dist/material-extractor.js.map +1 -1
  43. package/dist/on-demand-extractors.d.ts +188 -0
  44. package/dist/on-demand-extractors.d.ts.map +1 -0
  45. package/dist/on-demand-extractors.js +829 -0
  46. package/dist/on-demand-extractors.js.map +1 -0
  47. package/dist/opfs-source-buffer.d.ts +70 -0
  48. package/dist/opfs-source-buffer.d.ts.map +1 -0
  49. package/dist/opfs-source-buffer.js +166 -0
  50. package/dist/opfs-source-buffer.js.map +1 -0
  51. package/dist/spatial-hierarchy-builder.d.ts +3 -1
  52. package/dist/spatial-hierarchy-builder.d.ts.map +1 -1
  53. package/dist/spatial-hierarchy-builder.js.map +1 -1
  54. package/dist/unit-extractor.d.ts +3 -1
  55. package/dist/unit-extractor.d.ts.map +1 -1
  56. package/dist/unit-extractor.js.map +1 -1
  57. package/package.json +3 -2
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Shared helpers for extracting typed values from IFC entity attributes.
3
+ * Used across material, georef, and classification extractors.
4
+ */
5
+ export declare function getString(value: unknown): string | undefined;
6
+ export declare function getNumber(value: unknown): number | undefined;
7
+ export declare function getBoolean(value: unknown): boolean | undefined;
8
+ export declare function getReference(value: unknown): number | undefined;
9
+ export declare function getReferences(value: unknown): number[] | undefined;
10
+ export declare function getStringList(value: unknown): string[] | undefined;
11
+ //# sourceMappingURL=attribute-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attribute-helpers.d.ts","sourceRoot":"","sources":["../src/attribute-helpers.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAI5D;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAQ5D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAM9D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAQ/D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAKlE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAKlE"}
@@ -0,0 +1,63 @@
1
+ /* This Source Code Form is subject to the terms of the Mozilla Public
2
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
+ /**
5
+ * Shared helpers for extracting typed values from IFC entity attributes.
6
+ * Used across material, georef, and classification extractors.
7
+ */
8
+ export function getString(value) {
9
+ if (value === null || value === undefined)
10
+ return undefined;
11
+ if (typeof value === 'string')
12
+ return value;
13
+ return String(value);
14
+ }
15
+ export function getNumber(value) {
16
+ if (value === null || value === undefined)
17
+ return undefined;
18
+ if (typeof value === 'number')
19
+ return value;
20
+ if (typeof value === 'string') {
21
+ const num = parseFloat(value);
22
+ return isNaN(num) ? undefined : num;
23
+ }
24
+ return undefined;
25
+ }
26
+ export function getBoolean(value) {
27
+ if (value === null || value === undefined)
28
+ return undefined;
29
+ if (typeof value === 'boolean')
30
+ return value;
31
+ if (value === '.T.' || value === 'T' || value === 'true')
32
+ return true;
33
+ if (value === '.F.' || value === 'F' || value === 'false')
34
+ return false;
35
+ return undefined;
36
+ }
37
+ export function getReference(value) {
38
+ if (value === null || value === undefined)
39
+ return undefined;
40
+ if (typeof value === 'number')
41
+ return value;
42
+ if (typeof value === 'string' && value.startsWith('#')) {
43
+ const num = parseInt(value.substring(1));
44
+ if (!Number.isNaN(num))
45
+ return num;
46
+ }
47
+ return undefined;
48
+ }
49
+ export function getReferences(value) {
50
+ if (!Array.isArray(value))
51
+ return undefined;
52
+ return value
53
+ .map(v => getReference(v))
54
+ .filter((ref) => ref !== undefined);
55
+ }
56
+ export function getStringList(value) {
57
+ if (!Array.isArray(value))
58
+ return undefined;
59
+ return value
60
+ .map(v => getString(v))
61
+ .filter((str) => str !== undefined);
62
+ }
63
+ //# sourceMappingURL=attribute-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attribute-helpers.js","sourceRoot":"","sources":["../src/attribute-helpers.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;GAGG;AAEH,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IACtC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACtE,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACxE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;IACrC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;SACzB,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SACtB,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;AACvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"classification-extractor.d.ts","sourceRoot":"","sources":["../src/classification-extractor.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,yBAAyB;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7C,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC/D,YAAY,EAAE,yBAAyB,EAAE,CAAC;CAC3C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAChC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GACpC,mBAAmB,CAsCrB;AAmED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,mBAAmB,GACvC,uBAAuB,EAAE,CAc3B;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,mBAAmB,GACvC,MAAM,GAAG,SAAS,CAGpB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,mBAAmB,EAAE,MAAM,EAC3B,mBAAmB,EAAE,mBAAmB,GACvC,MAAM,EAAE,CA8BV;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,mBAAmB,EAAE,mBAAmB,GACvC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAavB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,mBAAmB,EAAE,MAAM,EAC3B,mBAAmB,EAAE,mBAAmB,GACvC,MAAM,GAAG,SAAS,CAmBpB"}
1
+ {"version":3,"file":"classification-extractor.d.ts","sourceRoot":"","sources":["../src/classification-extractor.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,yBAAyB;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7C,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC/D,YAAY,EAAE,yBAAyB,EAAE,CAAC;CAC3C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAChC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GACpC,mBAAmB,CAsCrB;AAmED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,mBAAmB,GACvC,uBAAuB,EAAE,CAc3B;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,mBAAmB,GACvC,MAAM,GAAG,SAAS,CAGpB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,mBAAmB,EAAE,MAAM,EAC3B,mBAAmB,EAAE,mBAAmB,GACvC,MAAM,EAAE,CA8BV;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,mBAAmB,EAAE,mBAAmB,GACvC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAavB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,mBAAmB,EAAE,MAAM,EAC3B,mBAAmB,EAAE,mBAAmB,GACvC,MAAM,GAAG,SAAS,CAmBpB"}
@@ -1,6 +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 { getString, getReference, getReferences, getStringList } from './attribute-helpers.js';
4
5
  /**
5
6
  * Extract classifications from IFC entities
6
7
  */
@@ -183,36 +184,4 @@ export function getClassificationSystemName(classificationRefId, classifications
183
184
  }
184
185
  return undefined;
185
186
  }
186
- // Helper functions
187
- function getString(value) {
188
- if (value === null || value === undefined)
189
- return undefined;
190
- if (typeof value === 'string')
191
- return value;
192
- return String(value);
193
- }
194
- function getReference(value) {
195
- if (value === null || value === undefined)
196
- return undefined;
197
- if (typeof value === 'number')
198
- return value;
199
- if (typeof value === 'string' && value.startsWith('#')) {
200
- return parseInt(value.substring(1));
201
- }
202
- return undefined;
203
- }
204
- function getReferences(value) {
205
- if (!Array.isArray(value))
206
- return undefined;
207
- return value
208
- .map(v => getReference(v))
209
- .filter((ref) => ref !== undefined);
210
- }
211
- function getStringList(value) {
212
- if (!Array.isArray(value))
213
- return undefined;
214
- return value
215
- .map(v => getString(v))
216
- .filter((str) => str !== undefined);
217
- }
218
187
  //# sourceMappingURL=classification-extractor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"classification-extractor.js","sourceRoot":"","sources":["../src/classification-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"classification-extractor.js","sourceRoot":"","sources":["../src/classification-extractor.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,20 @@ export interface SpatialIndex {
14
14
  }): number[];
15
15
  raycast(origin: [number, number, number], direction: [number, number, number]): number[];
16
16
  }
17
+ /**
18
+ * Entity-by-ID lookup interface. Supports both Map<number, EntityRef> (legacy)
19
+ * and CompactEntityIndex (memory-optimized typed arrays with LRU cache).
20
+ */
21
+ export type EntityByIdIndex = {
22
+ get(expressId: number): EntityRef | undefined;
23
+ has(expressId: number): boolean;
24
+ readonly size: number;
25
+ keys(): IterableIterator<number>;
26
+ values(): IterableIterator<EntityRef>;
27
+ entries(): IterableIterator<[number, EntityRef]>;
28
+ forEach(callback: (value: EntityRef, key: number) => void): void;
29
+ [Symbol.iterator](): IterableIterator<[number, EntityRef]>;
30
+ };
17
31
  export interface IfcDataStore {
18
32
  fileSize: number;
19
33
  schemaVersion: 'IFC2X3' | 'IFC4' | 'IFC4X3' | 'IFC5';
@@ -21,7 +35,7 @@ export interface IfcDataStore {
21
35
  parseTime: number;
22
36
  source: Uint8Array;
23
37
  entityIndex: {
24
- byId: Map<number, EntityRef>;
38
+ byId: EntityByIdIndex;
25
39
  byType: Map<string, number[]>;
26
40
  };
27
41
  strings: StringTable;
@@ -150,151 +164,6 @@ export declare function extractAllEntityAttributes(store: IfcDataStore, entityId
150
164
  name: string;
151
165
  value: string;
152
166
  }>;
153
- export interface ClassificationInfo {
154
- system?: string;
155
- identification?: string;
156
- name?: string;
157
- location?: string;
158
- description?: string;
159
- path?: string[];
160
- }
161
- export interface MaterialInfo {
162
- type: 'Material' | 'MaterialLayerSet' | 'MaterialProfileSet' | 'MaterialConstituentSet' | 'MaterialList';
163
- name?: string;
164
- description?: string;
165
- layers?: MaterialLayerInfo[];
166
- profiles?: MaterialProfileInfo[];
167
- constituents?: MaterialConstituentInfo[];
168
- materials?: string[];
169
- }
170
- export interface MaterialLayerInfo {
171
- materialName?: string;
172
- thickness?: number;
173
- isVentilated?: boolean;
174
- name?: string;
175
- category?: string;
176
- }
177
- export interface MaterialProfileInfo {
178
- materialName?: string;
179
- name?: string;
180
- category?: string;
181
- }
182
- export interface MaterialConstituentInfo {
183
- materialName?: string;
184
- name?: string;
185
- fraction?: number;
186
- category?: string;
187
- }
188
- /**
189
- * Extract classifications for a single entity ON-DEMAND.
190
- * Uses the onDemandClassificationMap built during parsing.
191
- * Falls back to relationship graph when on-demand map is not available (e.g., server-loaded models).
192
- * Also checks type-level associations via IfcRelDefinesByType.
193
- * Returns an array of classification references with system info.
194
- */
195
- export declare function extractClassificationsOnDemand(store: IfcDataStore, entityId: number): ClassificationInfo[];
196
- /**
197
- * Extract materials for a single entity ON-DEMAND.
198
- * Uses the onDemandMaterialMap built during parsing.
199
- * Falls back to relationship graph when on-demand map is not available (e.g., server-loaded models).
200
- * Also checks type-level material assignments via IfcRelDefinesByType.
201
- * Resolves the full material structure (layers, profiles, constituents, lists).
202
- */
203
- export declare function extractMaterialsOnDemand(store: IfcDataStore, entityId: number): MaterialInfo | null;
204
- /**
205
- * Result of type-level property extraction.
206
- */
207
- export interface TypePropertyInfo {
208
- typeName: string;
209
- typeId: number;
210
- properties: Array<{
211
- name: string;
212
- globalId?: string;
213
- properties: Array<{
214
- name: string;
215
- type: number;
216
- value: PropertyValue;
217
- }>;
218
- }>;
219
- }
220
- /**
221
- * Extract type-level properties for a single entity ON-DEMAND.
222
- * Finds the element's type via IfcRelDefinesByType, then extracts property sets from:
223
- * 1. The type entity's HasPropertySets attribute (IFC2X3/IFC4: index 5 on IfcTypeObject)
224
- * 2. The onDemandPropertyMap for the type entity (IFC4 IFCRELDEFINESBYPROPERTIES → type)
225
- * Returns null if no type relationship exists.
226
- */
227
- export declare function extractTypePropertiesOnDemand(store: IfcDataStore, entityId: number): TypePropertyInfo | null;
228
- /**
229
- * Extract properties from a type entity's own HasPropertySets attribute.
230
- * Used when the type entity itself is selected (e.g., via "By Type" tree).
231
- * Returns the type's own property sets from attribute index 5 + any via IfcRelDefinesByProperties.
232
- */
233
- export declare function extractTypeEntityOwnProperties(store: IfcDataStore, typeEntityId: number): Array<{
234
- name: string;
235
- globalId?: string;
236
- properties: Array<{
237
- name: string;
238
- type: number;
239
- value: PropertyValue;
240
- }>;
241
- }>;
242
- /**
243
- * Structured document info from IFC document references.
244
- */
245
- export interface DocumentInfo {
246
- name?: string;
247
- description?: string;
248
- location?: string;
249
- identification?: string;
250
- purpose?: string;
251
- intendedUse?: string;
252
- revision?: string;
253
- confidentiality?: string;
254
- }
255
- /**
256
- * Extract documents for a single entity ON-DEMAND.
257
- * Uses the onDemandDocumentMap built during parsing.
258
- * Falls back to relationship graph when on-demand map is not available.
259
- * Also checks type-level documents via IfcRelDefinesByType.
260
- * Returns an array of document info objects.
261
- */
262
- export declare function extractDocumentsOnDemand(store: IfcDataStore, entityId: number): DocumentInfo[];
263
- /**
264
- * Structured relationship info for an entity.
265
- */
266
- export interface EntityRelationships {
267
- voids: Array<{
268
- id: number;
269
- name?: string;
270
- type: string;
271
- }>;
272
- fills: Array<{
273
- id: number;
274
- name?: string;
275
- type: string;
276
- }>;
277
- groups: Array<{
278
- id: number;
279
- name?: string;
280
- }>;
281
- connections: Array<{
282
- id: number;
283
- name?: string;
284
- type: string;
285
- }>;
286
- }
287
- /**
288
- * Extract structural relationships for a single entity ON-DEMAND.
289
- * Finds openings (VoidsElement), fills (FillsElement), groups (AssignsToGroup),
290
- * and path connections (ConnectsPathElements).
291
- */
292
- export declare function extractRelationshipsOnDemand(store: IfcDataStore, entityId: number): EntityRelationships;
293
- import { type GeoreferenceInfo } from './georef-extractor.js';
294
- export type { GeoreferenceInfo as GeorefInfo };
295
- /**
296
- * Extract georeferencing info from on-demand store (source buffer + entityIndex).
297
- * Bridges to the entity-based georef extractor by resolving entities lazily.
298
- */
299
- export declare function extractGeoreferencingOnDemand(store: IfcDataStore): GeoreferenceInfo | null;
167
+ export { extractClassificationsOnDemand, extractMaterialsOnDemand, extractTypePropertiesOnDemand, extractTypeEntityOwnProperties, extractDocumentsOnDemand, extractRelationshipsOnDemand, extractGeoreferencingOnDemand, parsePropertyValue, extractPsetsFromIds, } from './on-demand-extractors.js';
168
+ export type { ClassificationInfo, MaterialInfo, MaterialLayerInfo, MaterialProfileInfo, MaterialConstituentInfo, TypePropertyInfo, DocumentInfo, EntityRelationships, GeorefInfo, } from './on-demand-extractors.js';
300
169
  //# sourceMappingURL=columnar-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"columnar-parser.d.ts","sourceRoot":"","sources":["../src/columnar-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"columnar-parser.d.ts","sourceRoot":"","sources":["../src/columnar-parser.ts"],"names":[],"mappings":"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"}