@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.
- package/dist/attribute-helpers.d.ts +11 -0
- package/dist/attribute-helpers.d.ts.map +1 -0
- package/dist/attribute-helpers.js +63 -0
- package/dist/attribute-helpers.js.map +1 -0
- package/dist/classification-extractor.d.ts.map +1 -1
- package/dist/classification-extractor.js +1 -32
- package/dist/classification-extractor.js.map +1 -1
- package/dist/columnar-parser.d.ts +17 -148
- package/dist/columnar-parser.d.ts.map +1 -1
- package/dist/columnar-parser.js +19 -799
- package/dist/columnar-parser.js.map +1 -1
- package/dist/compact-entity-index.d.ts +95 -0
- package/dist/compact-entity-index.d.ts.map +1 -0
- package/dist/compact-entity-index.js +234 -0
- package/dist/compact-entity-index.js.map +1 -0
- package/dist/entity-extractor.d.ts.map +1 -1
- package/dist/entity-extractor.js +4 -1
- package/dist/entity-extractor.js.map +1 -1
- package/dist/generated/entities.d.ts +9 -0
- package/dist/generated/entities.d.ts.map +1 -1
- package/dist/generated/entities.js +21 -0
- package/dist/generated/entities.js.map +1 -1
- package/dist/generated/schema-registry.d.ts.map +1 -1
- package/dist/generated/schema-registry.js +12393 -9918
- package/dist/generated/schema-registry.js.map +1 -1
- package/dist/generated/serializers.d.ts.map +1 -1
- package/dist/generated/serializers.js +2 -5
- package/dist/generated/serializers.js.map +1 -1
- package/dist/georef-extractor.d.ts.map +1 -1
- package/dist/georef-extractor.js +1 -29
- package/dist/georef-extractor.js.map +1 -1
- package/dist/ifc-schema.d.ts +4 -4
- package/dist/ifc-schema.d.ts.map +1 -1
- package/dist/ifc-schema.js +13 -197
- package/dist/ifc-schema.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/material-extractor.d.ts.map +1 -1
- package/dist/material-extractor.js +1 -47
- package/dist/material-extractor.js.map +1 -1
- package/dist/on-demand-extractors.d.ts +188 -0
- package/dist/on-demand-extractors.d.ts.map +1 -0
- package/dist/on-demand-extractors.js +829 -0
- package/dist/on-demand-extractors.js.map +1 -0
- package/dist/opfs-source-buffer.d.ts +70 -0
- package/dist/opfs-source-buffer.d.ts.map +1 -0
- package/dist/opfs-source-buffer.js +166 -0
- package/dist/opfs-source-buffer.js.map +1 -0
- package/dist/spatial-hierarchy-builder.d.ts +3 -1
- package/dist/spatial-hierarchy-builder.d.ts.map +1 -1
- package/dist/spatial-hierarchy-builder.js.map +1 -1
- package/dist/unit-extractor.d.ts +3 -1
- package/dist/unit-extractor.d.ts.map +1 -1
- package/dist/unit-extractor.js.map +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-extractor.js","sourceRoot":"","sources":["../src/material-extractor.ts"],"names":[],"mappings":"AAAA;;+DAE+D;
|
|
1
|
+
{"version":3,"file":"material-extractor.js","sourceRoot":"","sources":["../src/material-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* On-demand extraction functions for classifications, materials, documents,
|
|
3
|
+
* georeferencing, relationships, and type properties.
|
|
4
|
+
*
|
|
5
|
+
* These functions parse data lazily from the IFC source buffer when accessed,
|
|
6
|
+
* rather than pre-building all data upfront during initial parse.
|
|
7
|
+
*/
|
|
8
|
+
import type { IfcEntity } from './types.js';
|
|
9
|
+
import { EntityExtractor } from './entity-extractor.js';
|
|
10
|
+
import type { PropertyValue } from '@ifc-lite/data';
|
|
11
|
+
import type { IfcDataStore } from './columnar-parser.js';
|
|
12
|
+
import { type GeoreferenceInfo } from './georef-extractor.js';
|
|
13
|
+
export interface ClassificationInfo {
|
|
14
|
+
system?: string;
|
|
15
|
+
identification?: string;
|
|
16
|
+
name?: string;
|
|
17
|
+
location?: string;
|
|
18
|
+
description?: string;
|
|
19
|
+
path?: string[];
|
|
20
|
+
}
|
|
21
|
+
export interface MaterialInfo {
|
|
22
|
+
type: 'Material' | 'MaterialLayerSet' | 'MaterialProfileSet' | 'MaterialConstituentSet' | 'MaterialList';
|
|
23
|
+
name?: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
layers?: MaterialLayerInfo[];
|
|
26
|
+
profiles?: MaterialProfileInfo[];
|
|
27
|
+
constituents?: MaterialConstituentInfo[];
|
|
28
|
+
materials?: string[];
|
|
29
|
+
}
|
|
30
|
+
export interface MaterialLayerInfo {
|
|
31
|
+
materialName?: string;
|
|
32
|
+
thickness?: number;
|
|
33
|
+
isVentilated?: boolean;
|
|
34
|
+
name?: string;
|
|
35
|
+
category?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface MaterialProfileInfo {
|
|
38
|
+
materialName?: string;
|
|
39
|
+
name?: string;
|
|
40
|
+
category?: string;
|
|
41
|
+
}
|
|
42
|
+
export interface MaterialConstituentInfo {
|
|
43
|
+
materialName?: string;
|
|
44
|
+
name?: string;
|
|
45
|
+
fraction?: number;
|
|
46
|
+
category?: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Result of type-level property extraction.
|
|
50
|
+
*/
|
|
51
|
+
export interface TypePropertyInfo {
|
|
52
|
+
typeName: string;
|
|
53
|
+
typeId: number;
|
|
54
|
+
properties: Array<{
|
|
55
|
+
name: string;
|
|
56
|
+
globalId?: string;
|
|
57
|
+
properties: Array<{
|
|
58
|
+
name: string;
|
|
59
|
+
type: number;
|
|
60
|
+
value: PropertyValue;
|
|
61
|
+
}>;
|
|
62
|
+
}>;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Structured document info from IFC document references.
|
|
66
|
+
*/
|
|
67
|
+
export interface DocumentInfo {
|
|
68
|
+
name?: string;
|
|
69
|
+
description?: string;
|
|
70
|
+
location?: string;
|
|
71
|
+
identification?: string;
|
|
72
|
+
purpose?: string;
|
|
73
|
+
intendedUse?: string;
|
|
74
|
+
revision?: string;
|
|
75
|
+
confidentiality?: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Structured relationship info for an entity.
|
|
79
|
+
*/
|
|
80
|
+
export interface EntityRelationships {
|
|
81
|
+
voids: Array<{
|
|
82
|
+
id: number;
|
|
83
|
+
name?: string;
|
|
84
|
+
type: string;
|
|
85
|
+
}>;
|
|
86
|
+
fills: Array<{
|
|
87
|
+
id: number;
|
|
88
|
+
name?: string;
|
|
89
|
+
type: string;
|
|
90
|
+
}>;
|
|
91
|
+
groups: Array<{
|
|
92
|
+
id: number;
|
|
93
|
+
name?: string;
|
|
94
|
+
}>;
|
|
95
|
+
connections: Array<{
|
|
96
|
+
id: number;
|
|
97
|
+
name?: string;
|
|
98
|
+
type: string;
|
|
99
|
+
}>;
|
|
100
|
+
}
|
|
101
|
+
export type { GeoreferenceInfo as GeorefInfo };
|
|
102
|
+
/**
|
|
103
|
+
* Parse a property entity's value based on its IFC type.
|
|
104
|
+
* Handles all 6 IfcProperty subtypes:
|
|
105
|
+
* - IfcPropertySingleValue: direct value
|
|
106
|
+
* - IfcPropertyEnumeratedValue: list of enum values → joined string
|
|
107
|
+
* - IfcPropertyBoundedValue: upper/lower bounds → "value [min – max]"
|
|
108
|
+
* - IfcPropertyListValue: list of values → joined string
|
|
109
|
+
* - IfcPropertyTableValue: defining/defined value pairs → "Table(N rows)"
|
|
110
|
+
* - IfcPropertyReferenceValue: entity reference → "Reference #ID"
|
|
111
|
+
*/
|
|
112
|
+
export declare function parsePropertyValue(propEntity: IfcEntity): {
|
|
113
|
+
type: number;
|
|
114
|
+
value: PropertyValue;
|
|
115
|
+
};
|
|
116
|
+
/** Extract a numeric value from a possibly typed STEP value. */
|
|
117
|
+
export declare function extractNumericValue(attr: unknown): number | null;
|
|
118
|
+
/**
|
|
119
|
+
* Extract classifications for a single entity ON-DEMAND.
|
|
120
|
+
* Uses the onDemandClassificationMap built during parsing.
|
|
121
|
+
* Falls back to relationship graph when on-demand map is not available (e.g., server-loaded models).
|
|
122
|
+
* Also checks type-level associations via IfcRelDefinesByType.
|
|
123
|
+
* Returns an array of classification references with system info.
|
|
124
|
+
*/
|
|
125
|
+
export declare function extractClassificationsOnDemand(store: IfcDataStore, entityId: number): ClassificationInfo[];
|
|
126
|
+
/**
|
|
127
|
+
* Extract materials for a single entity ON-DEMAND.
|
|
128
|
+
* Uses the onDemandMaterialMap built during parsing.
|
|
129
|
+
* Falls back to relationship graph when on-demand map is not available (e.g., server-loaded models).
|
|
130
|
+
* Also checks type-level material assignments via IfcRelDefinesByType.
|
|
131
|
+
* Resolves the full material structure (layers, profiles, constituents, lists).
|
|
132
|
+
*/
|
|
133
|
+
export declare function extractMaterialsOnDemand(store: IfcDataStore, entityId: number): MaterialInfo | null;
|
|
134
|
+
/**
|
|
135
|
+
* Extract property sets from a list of pset IDs using the entity index.
|
|
136
|
+
* Shared logic between instance-level and type-level property extraction.
|
|
137
|
+
*/
|
|
138
|
+
export declare function extractPsetsFromIds(store: IfcDataStore, extractor: EntityExtractor, psetIds: number[]): Array<{
|
|
139
|
+
name: string;
|
|
140
|
+
globalId?: string;
|
|
141
|
+
properties: Array<{
|
|
142
|
+
name: string;
|
|
143
|
+
type: number;
|
|
144
|
+
value: PropertyValue;
|
|
145
|
+
}>;
|
|
146
|
+
}>;
|
|
147
|
+
/**
|
|
148
|
+
* Extract type-level properties for a single entity ON-DEMAND.
|
|
149
|
+
* Finds the element's type via IfcRelDefinesByType, then extracts property sets from:
|
|
150
|
+
* 1. The type entity's HasPropertySets attribute (IFC2X3/IFC4: index 5 on IfcTypeObject)
|
|
151
|
+
* 2. The onDemandPropertyMap for the type entity (IFC4 IFCRELDEFINESBYPROPERTIES → type)
|
|
152
|
+
* Returns null if no type relationship exists.
|
|
153
|
+
*/
|
|
154
|
+
export declare function extractTypePropertiesOnDemand(store: IfcDataStore, entityId: number): TypePropertyInfo | null;
|
|
155
|
+
/**
|
|
156
|
+
* Extract properties from a type entity's own HasPropertySets attribute.
|
|
157
|
+
* Used when the type entity itself is selected (e.g., via "By Type" tree).
|
|
158
|
+
* Returns the type's own property sets from attribute index 5 + any via IfcRelDefinesByProperties.
|
|
159
|
+
*/
|
|
160
|
+
export declare function extractTypeEntityOwnProperties(store: IfcDataStore, typeEntityId: number): Array<{
|
|
161
|
+
name: string;
|
|
162
|
+
globalId?: string;
|
|
163
|
+
properties: Array<{
|
|
164
|
+
name: string;
|
|
165
|
+
type: number;
|
|
166
|
+
value: PropertyValue;
|
|
167
|
+
}>;
|
|
168
|
+
}>;
|
|
169
|
+
/**
|
|
170
|
+
* Extract documents for a single entity ON-DEMAND.
|
|
171
|
+
* Uses the onDemandDocumentMap built during parsing.
|
|
172
|
+
* Falls back to relationship graph when on-demand map is not available.
|
|
173
|
+
* Also checks type-level documents via IfcRelDefinesByType.
|
|
174
|
+
* Returns an array of document info objects.
|
|
175
|
+
*/
|
|
176
|
+
export declare function extractDocumentsOnDemand(store: IfcDataStore, entityId: number): DocumentInfo[];
|
|
177
|
+
/**
|
|
178
|
+
* Extract structural relationships for a single entity ON-DEMAND.
|
|
179
|
+
* Finds openings (VoidsElement), fills (FillsElement), groups (AssignsToGroup),
|
|
180
|
+
* and path connections (ConnectsPathElements).
|
|
181
|
+
*/
|
|
182
|
+
export declare function extractRelationshipsOnDemand(store: IfcDataStore, entityId: number): EntityRelationships;
|
|
183
|
+
/**
|
|
184
|
+
* Extract georeferencing info from on-demand store (source buffer + entityIndex).
|
|
185
|
+
* Bridges to the entity-based georef extractor by resolving entities lazily.
|
|
186
|
+
*/
|
|
187
|
+
export declare function extractGeoreferencingOnDemand(store: IfcDataStore): GeoreferenceInfo | null;
|
|
188
|
+
//# sourceMappingURL=on-demand-extractors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"on-demand-extractors.d.ts","sourceRoot":"","sources":["../src/on-demand-extractors.ts"],"names":[],"mappings":"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"}
|