@bldrs-ai/conway 0.14.835 → 0.15.838
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/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmNode.js +1 -1
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmNodeMT.js +1 -1
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmWeb.js +1 -1
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmWebMT.js +1 -1
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmWebMT.wasm +0 -0
- package/compiled/examples/browser.d.ts +3 -0
- package/compiled/examples/browser.d.ts.map +1 -0
- package/compiled/examples/browser.js +393 -0
- package/compiled/examples/validator.d.ts +3 -0
- package/compiled/examples/validator.d.ts.map +1 -0
- package/compiled/examples/validator.js +378 -0
- package/compiled/src/ifc/ifc_geometry_extraction.d.ts +0 -10
- package/compiled/src/ifc/ifc_geometry_extraction.d.ts.map +1 -1
- package/compiled/src/ifc/ifc_geometry_extraction.js +33 -43
- package/compiled/src/ifc/ifc_step_model.d.ts +1 -0
- package/compiled/src/ifc/ifc_step_model.d.ts.map +1 -1
- package/compiled/src/ifc/ifc_step_model.js +1 -0
- package/compiled/src/ifc/ifc_step_parser.d.ts +1 -0
- package/compiled/src/ifc/ifc_step_parser.d.ts.map +1 -1
- package/compiled/src/ifc/ifc_step_parser.js +1 -0
- package/compiled/src/version/version.js +1 -1
- package/compiled/tsconfig.tsbuildinfo +1 -1
- package/package.json +43 -41
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import { exit } from 'process';
|
|
4
|
+
import EntityTypesIfc from '../src/ifc/ifc4_gen/entity_types_ifc.gen';
|
|
5
|
+
import IfcStepParser from '../src/ifc/ifc_step_parser';
|
|
6
|
+
import Logger from '../src/logging/logger';
|
|
7
|
+
import ParsingBuffer from '../src/parsing/parsing_buffer';
|
|
8
|
+
import { ParseResult } from '../src/step/parsing/step_parser';
|
|
9
|
+
import Environment from '../src/utilities/environment';
|
|
10
|
+
/**
|
|
11
|
+
* IFC Model Validator
|
|
12
|
+
*
|
|
13
|
+
* @see Validtor.md
|
|
14
|
+
*/
|
|
15
|
+
// ---------------------------------------------------------------------
|
|
16
|
+
// 1. Parse Command-Line Args
|
|
17
|
+
// ---------------------------------------------------------------------
|
|
18
|
+
Environment.checkEnvironment();
|
|
19
|
+
Logger.initializeWasmCallbacks();
|
|
20
|
+
const maxCommandArgs = 4;
|
|
21
|
+
if (process.argv.length < maxCommandArgs) {
|
|
22
|
+
// eslint-disable-next-line max-len
|
|
23
|
+
console.error(`Usage: validator <path_to_model>.ifc "IFCCLASS[#OptionalID].property <operator> value"`);
|
|
24
|
+
exit(1);
|
|
25
|
+
}
|
|
26
|
+
const modelPath = process.argv[2];
|
|
27
|
+
const query = process.argv[3];
|
|
28
|
+
// ---------------------------------------------------------------------
|
|
29
|
+
// 2. Load & Parse the IFC
|
|
30
|
+
// ---------------------------------------------------------------------
|
|
31
|
+
let ifcBuffer;
|
|
32
|
+
try {
|
|
33
|
+
ifcBuffer = fs.readFileSync(modelPath);
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
Logger.error(`Error reading "${modelPath}": ${err}`);
|
|
37
|
+
exit(1);
|
|
38
|
+
}
|
|
39
|
+
Logger.createStatistics(0);
|
|
40
|
+
const parser = IfcStepParser.Instance;
|
|
41
|
+
const bufferInput = new ParsingBuffer(ifcBuffer);
|
|
42
|
+
// eslint-disable-next-line no-unused-vars
|
|
43
|
+
const [stepHeader, resultHeader] = parser.parseHeader(bufferInput);
|
|
44
|
+
const [parseResult, model] = parser.parseDataToModel(bufferInput);
|
|
45
|
+
switch (parseResult) {
|
|
46
|
+
case ParseResult.COMPLETE:
|
|
47
|
+
break;
|
|
48
|
+
case ParseResult.INCOMPLETE:
|
|
49
|
+
Logger.warning('Parse incomplete but no errors reported.');
|
|
50
|
+
break;
|
|
51
|
+
case ParseResult.INVALID_STEP:
|
|
52
|
+
Logger.error('Invalid STEP detected.');
|
|
53
|
+
exit(1);
|
|
54
|
+
break;
|
|
55
|
+
case ParseResult.MISSING_TYPE:
|
|
56
|
+
Logger.error('Missing STEP type.');
|
|
57
|
+
exit(1);
|
|
58
|
+
break;
|
|
59
|
+
case ParseResult.SYNTAX_ERROR:
|
|
60
|
+
Logger.error(`Syntax error at line ${bufferInput.lineCount}.`);
|
|
61
|
+
exit(1);
|
|
62
|
+
break;
|
|
63
|
+
default:
|
|
64
|
+
}
|
|
65
|
+
if (!model) {
|
|
66
|
+
Logger.error('Failed to load model.');
|
|
67
|
+
exit(1);
|
|
68
|
+
}
|
|
69
|
+
// ---------------------------------------------------------------------
|
|
70
|
+
// 3. Build arrays for IFC classes & entity types
|
|
71
|
+
// ---------------------------------------------------------------------
|
|
72
|
+
const nonEmptyTypeIDNoSubtypes = model.nonEmptyTypeIDs();
|
|
73
|
+
const ifcClasses = Array.from(nonEmptyTypeIDNoSubtypes || []).map((item) => String(EntityTypesIfc[item]));
|
|
74
|
+
const entityTypes = Array.from(nonEmptyTypeIDNoSubtypes || []);
|
|
75
|
+
/**
|
|
76
|
+
* Parses a query string used for querying IFC classes, properties, and values.
|
|
77
|
+
*
|
|
78
|
+
* @param {string} query_ - The query string to be parsed.
|
|
79
|
+
* @return {ParsedQuery} An object containing:
|
|
80
|
+
* @throws {Error} If the query string contains multiple operators or has an invalid format.
|
|
81
|
+
*/
|
|
82
|
+
function parseQueryString(query_) {
|
|
83
|
+
// This pattern finds any of these operators: <= >= < > == != === !==
|
|
84
|
+
const operatorPatternGlobal = /(<=|>=|<|>|==|!=|===|!==)/g;
|
|
85
|
+
const matches = [...query_.matchAll(operatorPatternGlobal)];
|
|
86
|
+
if (matches.length > 1) {
|
|
87
|
+
// If we detect more than 1 operator, we stop and notify the user
|
|
88
|
+
const found = matches.map((m) => m[0]).join(' ');
|
|
89
|
+
throw new Error(`Multiple operators found in query: ${found}`);
|
|
90
|
+
}
|
|
91
|
+
// Now handle the single operator (or none) with your existing logic
|
|
92
|
+
if (matches.length === 1) {
|
|
93
|
+
// e.g. "IFCWINDOW.OverallHeight <= 5"
|
|
94
|
+
// operator = "<="
|
|
95
|
+
// we can split around that operator or do a single match pattern
|
|
96
|
+
const operatorPattern = /\s(<=|>=|<|>|==|!=|===|!==)\s/;
|
|
97
|
+
const opMatch = query_.match(operatorPattern);
|
|
98
|
+
if (!opMatch) {
|
|
99
|
+
throw new Error(`Could not split query around operator.`);
|
|
100
|
+
}
|
|
101
|
+
const operator = opMatch[1];
|
|
102
|
+
// Split out the left and right sides
|
|
103
|
+
const parts = query_.split(operatorPattern).map((s) => s.trim()).filter(Boolean);
|
|
104
|
+
// e.g. ["IFCWINDOW.OverallHeight", "<=", "5"]
|
|
105
|
+
// eslint-disable-next-line no-magic-numbers
|
|
106
|
+
if (parts.length < 3) {
|
|
107
|
+
throw new Error(`Invalid query format around operator "${operator}"`);
|
|
108
|
+
}
|
|
109
|
+
const classAndPropPart = parts[0];
|
|
110
|
+
// eslint-disable-next-line no-magic-numbers
|
|
111
|
+
const valueStr = parts.slice(2).join(' '); // e.g. "5" (or "myStringValue")
|
|
112
|
+
// parse left side => "IFCWINDOW.OverallHeight"
|
|
113
|
+
const match = classAndPropPart.match(/^([A-Za-z0-9_]+)(\[#(\d+)\])?(?:\.(.+))?$/);
|
|
114
|
+
if (!match) {
|
|
115
|
+
throw new Error(`Invalid left side: "${classAndPropPart}"`);
|
|
116
|
+
}
|
|
117
|
+
const classNameRaw = match[1].toUpperCase();
|
|
118
|
+
const expressIDStr = match[3];
|
|
119
|
+
const propertyName = match[4];
|
|
120
|
+
let expressID;
|
|
121
|
+
if (expressIDStr !== undefined) {
|
|
122
|
+
expressID = parseInt(expressIDStr, 10);
|
|
123
|
+
}
|
|
124
|
+
return {
|
|
125
|
+
className: classNameRaw,
|
|
126
|
+
expressID,
|
|
127
|
+
property: propertyName,
|
|
128
|
+
operator,
|
|
129
|
+
value: valueStr,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
// No operator => user might just be checking for "IFCWINDOW" or "IFCWINDOW[#15].Height"
|
|
134
|
+
// We'll parse that similarly:
|
|
135
|
+
const match = query_.match(/^([A-Za-z0-9_]+)(\[#(\d+)\])?(?:\.(.+))?$/);
|
|
136
|
+
if (!match) {
|
|
137
|
+
throw new Error(`Invalid query format (no operator, unable to parse): "${query_}"`);
|
|
138
|
+
}
|
|
139
|
+
const classNameRaw = match[1].toUpperCase();
|
|
140
|
+
const expressIDStr = match[3];
|
|
141
|
+
const propertyName = match[4];
|
|
142
|
+
let expressID;
|
|
143
|
+
if (expressIDStr !== undefined) {
|
|
144
|
+
expressID = parseInt(expressIDStr, 10);
|
|
145
|
+
}
|
|
146
|
+
// Return with no operator or value
|
|
147
|
+
return {
|
|
148
|
+
className: classNameRaw,
|
|
149
|
+
expressID,
|
|
150
|
+
property: propertyName,
|
|
151
|
+
operator: undefined,
|
|
152
|
+
value: undefined,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
// ---------------------------------------------------------------------
|
|
157
|
+
// 5. Utility to read a property from an IFC entity
|
|
158
|
+
// We want "entity[propertyName]" or entity.orderedFields, but ignoring case
|
|
159
|
+
// ---------------------------------------------------------------------
|
|
160
|
+
/**
|
|
161
|
+
* Retrieves an array of local fields from the given IFC entity along with
|
|
162
|
+
* their descriptions and associated data.
|
|
163
|
+
*
|
|
164
|
+
* @param {StepEntityBase<EntityTypesIfc>} entity - The IFC entity from which
|
|
165
|
+
* to extract fields and their data.
|
|
166
|
+
* @return {[string, EntityFieldDescription<EntityTypesIfc>, unknown][]}
|
|
167
|
+
* An array of tuples, where each tuple contains:
|
|
168
|
+
* - The field name as a string.
|
|
169
|
+
* - The field description object.
|
|
170
|
+
* - The associated data for the field.
|
|
171
|
+
*/
|
|
172
|
+
function getLocalFieldsWithData(entity) {
|
|
173
|
+
return entity.orderedFields.reduce((acc, [fieldName, fieldDesc]) => {
|
|
174
|
+
try {
|
|
175
|
+
// Attempt to access the field
|
|
176
|
+
const data = entity[fieldName];
|
|
177
|
+
acc.push([fieldName, fieldDesc, data]);
|
|
178
|
+
}
|
|
179
|
+
catch (err) {
|
|
180
|
+
// If an error occurs while accessing the field, skip it
|
|
181
|
+
// Optionally, log or handle the error:
|
|
182
|
+
// console.warn(`Skipping field ${fieldName}: ${err}`);
|
|
183
|
+
}
|
|
184
|
+
return acc;
|
|
185
|
+
}, []);
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Retrieves the value of a specified property from the given IFC entity.
|
|
189
|
+
*
|
|
190
|
+
* @param {StepEntityBase<EntityTypesIfc>} entity - The IFC entity containing the property.
|
|
191
|
+
* @param {string} propertyName - The name of the property to retrieve
|
|
192
|
+
* @return {any} The value of the specified property, or `undefined`
|
|
193
|
+
* if the property is not found.
|
|
194
|
+
*/
|
|
195
|
+
function getPropertyValue(entity, propertyName) {
|
|
196
|
+
// We do a case-insensitive match on the name
|
|
197
|
+
const fields = getLocalFieldsWithData(entity);
|
|
198
|
+
const found = fields.find(([fName]) => fName.toLowerCase() === propertyName.toLowerCase());
|
|
199
|
+
if (!found) {
|
|
200
|
+
return undefined;
|
|
201
|
+
}
|
|
202
|
+
// eslint-disable-next-line no-unused-vars
|
|
203
|
+
const [_, _desc, data] = found;
|
|
204
|
+
// If it's an array, you might want to handle it specifically.
|
|
205
|
+
// For example, returning the first element or the entire array.
|
|
206
|
+
// For now, let's just return the raw data.
|
|
207
|
+
return data;
|
|
208
|
+
}
|
|
209
|
+
// ---------------------------------------------------------------------
|
|
210
|
+
// 6. Perform Validation
|
|
211
|
+
// ---------------------------------------------------------------------
|
|
212
|
+
/**
|
|
213
|
+
* Validates an IFC model against a parsed query to check class existence,
|
|
214
|
+
* property values, or specific conditions.
|
|
215
|
+
*
|
|
216
|
+
* @param {IfcStepModel} model_ - The IFC model to validate.
|
|
217
|
+
* @param {ParsedQuery} query_ - The parsed query containing class, property,
|
|
218
|
+
* and condition details.
|
|
219
|
+
* @return {void} Outputs validation results directly to the console.
|
|
220
|
+
*
|
|
221
|
+
* - Checks if the specified class and instance(s) exist in the model.
|
|
222
|
+
* - Validates property existence or evaluates conditions using operators and values.
|
|
223
|
+
* - Provides a summary of passing and failing entities.
|
|
224
|
+
*/
|
|
225
|
+
function validateModel(model_, query_) {
|
|
226
|
+
const { className, expressID, property, operator, value } = query_;
|
|
227
|
+
// 1) Check if the class exists in the model
|
|
228
|
+
const clsIndex = ifcClasses.indexOf(className);
|
|
229
|
+
if (clsIndex < 0) {
|
|
230
|
+
console.error(`❌ IFC class "${className}" does not exist in this model.`);
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
// Get the type + constructor
|
|
234
|
+
const elementTypeID = entityTypes[clsIndex];
|
|
235
|
+
const ctor = model_.schema.constructors[elementTypeID];
|
|
236
|
+
if (!ctor) {
|
|
237
|
+
console.error(`❌ IFC class "${className}" not recognized in schema (missing constructor).`);
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
// 2) Gather relevant entities
|
|
241
|
+
let entities = [];
|
|
242
|
+
if (expressID !== undefined) {
|
|
243
|
+
// Single entity check
|
|
244
|
+
const all = Array.from(model_.types(ctor));
|
|
245
|
+
const found = all.find((e) => e.expressID === expressID);
|
|
246
|
+
if (!found) {
|
|
247
|
+
console.error(`❌ No instance with Express ID #${expressID} found for class ${className}`);
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
entities.push(found);
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
// Convert the iterator to an array explicitly
|
|
254
|
+
const allEntities = Array.from(model_.types(ctor));
|
|
255
|
+
if (!allEntities.length) {
|
|
256
|
+
console.error(`❌ No instances of class "${className}" found in model.`);
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
entities = allEntities;
|
|
260
|
+
}
|
|
261
|
+
// If user only specified className (and possibly ID), with no property or operator =>
|
|
262
|
+
// That might mean "check existence" or do nothing but list them.
|
|
263
|
+
if (!property && !operator && !value) {
|
|
264
|
+
console.log(`✅ Found ${entities.length} instance(s) of ${className}:`);
|
|
265
|
+
for (const e of entities) {
|
|
266
|
+
const id = e.expressID;
|
|
267
|
+
console.log(` - ${className}[#${id}]`);
|
|
268
|
+
}
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
if (property && !operator) {
|
|
272
|
+
console.log(`Checking if property "${property}" exists on ${className}`);
|
|
273
|
+
let passCount = 0;
|
|
274
|
+
for (const e of entities) {
|
|
275
|
+
const id = e.expressID;
|
|
276
|
+
const val = getPropertyValue(e, property);
|
|
277
|
+
if (val !== undefined) {
|
|
278
|
+
passCount++;
|
|
279
|
+
console.log(` ✔️ ${className}[#${id}] has .${property} = ${JSON.stringify(val)}`);
|
|
280
|
+
}
|
|
281
|
+
else {
|
|
282
|
+
console.log(` ❌ ${className}[#${id}] has no .${property}`);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
console.log(`\nProperty existence check: ${passCount} / ${entities.length} have property "${property}"`);
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
288
|
+
// Otherwise, user specified property + operator + value => do a pass/fail
|
|
289
|
+
if (!property || !operator || value === undefined) {
|
|
290
|
+
console.error(`❌ Invalid query format. Please provide "Class.Property <operator> <value>"`);
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
const numericValue = tryParseNumber(value);
|
|
294
|
+
// eslint-disable-next-line no-unused-vars
|
|
295
|
+
const isNumeric = numericValue !== null;
|
|
296
|
+
let passCount = 0;
|
|
297
|
+
let failCount = 0;
|
|
298
|
+
const passes = [];
|
|
299
|
+
const fails = [];
|
|
300
|
+
console.log(`\nValidation Report for Query: ${className}${expressID !==
|
|
301
|
+
undefined ? `[#${expressID}]` : ''}.${property} ${operator} ${value}`);
|
|
302
|
+
for (const e of entities) {
|
|
303
|
+
const id = e.expressID;
|
|
304
|
+
const propVal = getPropertyValue(e, property);
|
|
305
|
+
// If property is undefined => automatically fail
|
|
306
|
+
if (propVal === undefined || propVal === null) {
|
|
307
|
+
fails.push({ id, propVal, reason: `no "${property}" property` });
|
|
308
|
+
failCount++;
|
|
309
|
+
continue;
|
|
310
|
+
}
|
|
311
|
+
const leftSide = JSON.stringify(propVal);
|
|
312
|
+
const rightSide = value;
|
|
313
|
+
let pass;
|
|
314
|
+
try {
|
|
315
|
+
const expression = `${leftSide} ${operator} ${rightSide}`;
|
|
316
|
+
// eslint-disable-next-line no-eval
|
|
317
|
+
pass = eval(expression);
|
|
318
|
+
}
|
|
319
|
+
catch (err) {
|
|
320
|
+
fails.push({ id, propVal, reason: `eval error: ${err}` });
|
|
321
|
+
failCount++;
|
|
322
|
+
continue;
|
|
323
|
+
}
|
|
324
|
+
if (pass) {
|
|
325
|
+
passes.push({ id, propVal });
|
|
326
|
+
passCount++;
|
|
327
|
+
}
|
|
328
|
+
else {
|
|
329
|
+
fails.push({ id, propVal,
|
|
330
|
+
reason: `failed comparison (${property}: ${JSON.stringify(propVal)})` });
|
|
331
|
+
failCount++;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
// Sort by expressID
|
|
335
|
+
passes.sort((a, b) => a.id - b.id);
|
|
336
|
+
fails.sort((a, b) => a.id - b.id);
|
|
337
|
+
// Print passes
|
|
338
|
+
console.log(`\n✔️ Passing Entries:`);
|
|
339
|
+
for (const { id, propVal } of passes) {
|
|
340
|
+
console.log(`✔️ ${className}[#${id}] => PASSED (${property}: ${JSON.stringify(propVal)})`);
|
|
341
|
+
}
|
|
342
|
+
// Print fails
|
|
343
|
+
console.log(`\n❌ Failing Entries:`);
|
|
344
|
+
// eslint-disable-next-line no-unused-vars
|
|
345
|
+
for (const { id, propVal, reason } of fails) {
|
|
346
|
+
console.log(`❌ ${className}[#${id}] => FAILED (${reason})`);
|
|
347
|
+
}
|
|
348
|
+
// Summary
|
|
349
|
+
console.log(`\n✅ Total Passing: ${passCount}`);
|
|
350
|
+
console.log(`❌ Total Failing: ${failCount}`);
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Attempts to parse a given string as a number, returning `null` if the parsing fails.
|
|
354
|
+
*
|
|
355
|
+
* @param {string} text - The input string to be parsed.
|
|
356
|
+
* @return {number | null} The parsed number, or `null` if the input is not a valid number.
|
|
357
|
+
*/
|
|
358
|
+
function tryParseNumber(text) {
|
|
359
|
+
// e.g. "3.14" => 3.14
|
|
360
|
+
// e.g. "5" => 5
|
|
361
|
+
// e.g. "abc" => null
|
|
362
|
+
// We also want to ignore quotes like "3.14" => might become NaN if we don't strip them
|
|
363
|
+
const cleaned = text.trim().replace(/^['"]+|['"]+$/g, ''); // remove surrounding quotes
|
|
364
|
+
const val = parseFloat(cleaned);
|
|
365
|
+
return Number.isNaN(val) ? null : val;
|
|
366
|
+
}
|
|
367
|
+
// ---------------------------------------------------------------------
|
|
368
|
+
// 7. Run the validator
|
|
369
|
+
// ---------------------------------------------------------------------
|
|
370
|
+
let parsedQuery;
|
|
371
|
+
try {
|
|
372
|
+
parsedQuery = parseQueryString(query);
|
|
373
|
+
}
|
|
374
|
+
catch (err) {
|
|
375
|
+
console.error(`❌ Error parsing query: ${err.message}`);
|
|
376
|
+
exit(1);
|
|
377
|
+
}
|
|
378
|
+
validateModel(model, parsedQuery);
|
|
@@ -463,16 +463,6 @@ export declare class IfcGeometryExtraction {
|
|
|
463
463
|
* @return {Float32Array}
|
|
464
464
|
*/
|
|
465
465
|
flattenPointsToFloat64Array(points: IfcCartesianPoint[], dimensions: number): Float64Array;
|
|
466
|
-
/**
|
|
467
|
-
* Efficiently flatten the points into a Float64Array while skipping
|
|
468
|
-
* consecutive points with the same localID.
|
|
469
|
-
*
|
|
470
|
-
* @param points - Array of IfcCartesianPoint
|
|
471
|
-
* @param dimensions - Number of coordinates per point (e.g. 3 for x,y,z)
|
|
472
|
-
* @param reverse - reverse the points order
|
|
473
|
-
* @return {Float64Array}
|
|
474
|
-
*/
|
|
475
|
-
flattenCartesianPointsToFloat64ArrayFiltered(points: IfcCartesianPoint[], dimensions: number): Float64Array;
|
|
476
466
|
/**
|
|
477
467
|
*
|
|
478
468
|
* @param from
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifc_geometry_extraction.d.ts","sourceRoot":"","sources":["../../../src/ifc/ifc_geometry_extraction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ifc_geometry_extraction.d.ts","sourceRoot":"","sources":["../../../src/ifc/ifc_geometry_extraction.ts"],"names":[],"mappings":"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"}
|
|
@@ -2417,41 +2417,6 @@ export class IfcGeometryExtraction {
|
|
|
2417
2417
|
});
|
|
2418
2418
|
return flatCoordinates;
|
|
2419
2419
|
}
|
|
2420
|
-
/**
|
|
2421
|
-
* Efficiently flatten the points into a Float64Array while skipping
|
|
2422
|
-
* consecutive points with the same localID.
|
|
2423
|
-
*
|
|
2424
|
-
* @param points - Array of IfcCartesianPoint
|
|
2425
|
-
* @param dimensions - Number of coordinates per point (e.g. 3 for x,y,z)
|
|
2426
|
-
* @param reverse - reverse the points order
|
|
2427
|
-
* @return {Float64Array}
|
|
2428
|
-
*/
|
|
2429
|
-
flattenCartesianPointsToFloat64ArrayFiltered(points, dimensions) {
|
|
2430
|
-
// 1) First pass: figure out how many points *actually* get included
|
|
2431
|
-
// (skipping consecutive duplicates by localID)
|
|
2432
|
-
let uniqueCount = 0;
|
|
2433
|
-
for (let i = 0; i < points.length; i++) {
|
|
2434
|
-
if (i === 0 || points[i].localID !== points[i - 1].localID) {
|
|
2435
|
-
uniqueCount++;
|
|
2436
|
-
}
|
|
2437
|
-
}
|
|
2438
|
-
// 2) Knowing how many we'll include, allocate the final TypedArray
|
|
2439
|
-
const totalCoordinates = uniqueCount * dimensions;
|
|
2440
|
-
const flatCoordinates = new Float64Array(totalCoordinates);
|
|
2441
|
-
// 3) Second pass: populate flatCoordinates
|
|
2442
|
-
let offset = 0;
|
|
2443
|
-
let prevLocalID = -1;
|
|
2444
|
-
for (let i = 0; i < points.length; i++) {
|
|
2445
|
-
const point = points[i];
|
|
2446
|
-
if (i === 0 || point.localID !== prevLocalID) {
|
|
2447
|
-
// Copy only if localID changed
|
|
2448
|
-
flatCoordinates.set(point.Coordinates, offset);
|
|
2449
|
-
offset += point.Coordinates.length; // or offset += dimensions if all are guaranteed
|
|
2450
|
-
prevLocalID = point.localID;
|
|
2451
|
-
}
|
|
2452
|
-
}
|
|
2453
|
-
return flatCoordinates;
|
|
2454
|
-
}
|
|
2455
2420
|
/**
|
|
2456
2421
|
*
|
|
2457
2422
|
* @param from
|
|
@@ -3119,7 +3084,7 @@ export class IfcGeometryExtraction {
|
|
|
3119
3084
|
coordParseBuffer.resize(0);
|
|
3120
3085
|
}
|
|
3121
3086
|
vec3Array = this.wasmModule.parseVertexVector(coordParseBuffer);
|
|
3122
|
-
|
|
3087
|
+
this.wasmModule.freeParseBuffer(coordParseBuffer);
|
|
3123
3088
|
}
|
|
3124
3089
|
else if (innerBound instanceof IfcEdgeLoop) {
|
|
3125
3090
|
vec3Array = this.nativeVectorGlmdVec3();
|
|
@@ -3402,15 +3367,40 @@ export class IfcGeometryExtraction {
|
|
|
3402
3367
|
if (from.Bounds.length > 0) {
|
|
3403
3368
|
const bound3DVector = this.nativeBound3DVector();
|
|
3404
3369
|
for (let boundIndex = 0; boundIndex < from.Bounds.length; ++boundIndex) {
|
|
3370
|
+
const vec3Array = this.nativeVectorGlmdVec3();
|
|
3405
3371
|
const bound = from.Bounds[boundIndex];
|
|
3406
|
-
|
|
3407
|
-
|
|
3408
|
-
|
|
3409
|
-
|
|
3410
|
-
|
|
3411
|
-
|
|
3412
|
-
|
|
3372
|
+
if (bound.Bound instanceof IfcPolyLoop) {
|
|
3373
|
+
let prevLocalID = -1;
|
|
3374
|
+
for (let pointIndex = 0; pointIndex < bound.Bound.Polygon.length; ++pointIndex) {
|
|
3375
|
+
const vec3 = {
|
|
3376
|
+
x: bound.Bound.Polygon[pointIndex].Coordinates[0],
|
|
3377
|
+
y: bound.Bound.Polygon[pointIndex].Coordinates[1],
|
|
3378
|
+
z: bound.Bound.Polygon[pointIndex].Coordinates[2],
|
|
3379
|
+
};
|
|
3380
|
+
const currentLocalID = bound.Bound.Polygon[pointIndex].localID;
|
|
3381
|
+
if (currentLocalID !== prevLocalID) {
|
|
3382
|
+
vec3Array.push_back(vec3);
|
|
3383
|
+
prevLocalID = currentLocalID;
|
|
3384
|
+
}
|
|
3385
|
+
}
|
|
3413
3386
|
}
|
|
3387
|
+
const edgesDummy = this.nativeVectorCurve();
|
|
3388
|
+
// get curve
|
|
3389
|
+
const parameters = {
|
|
3390
|
+
points: vec3Array,
|
|
3391
|
+
edges: edgesDummy,
|
|
3392
|
+
};
|
|
3393
|
+
const curve = this.conwayModel.getLoop(parameters);
|
|
3394
|
+
// create bound vector
|
|
3395
|
+
const parametersCreateBounds3D = {
|
|
3396
|
+
curve: curve,
|
|
3397
|
+
orientation: bound.Orientation,
|
|
3398
|
+
type: (bound.type === EntityTypesIfc.IFCFACEOUTERBOUND) ? 0 : 1,
|
|
3399
|
+
};
|
|
3400
|
+
const bound3D = this.conwayModel.createBound3D(parametersCreateBounds3D);
|
|
3401
|
+
bound3DVector.push_back(bound3D);
|
|
3402
|
+
vec3Array.delete();
|
|
3403
|
+
edgesDummy.delete();
|
|
3414
3404
|
}
|
|
3415
3405
|
// add face to geometry
|
|
3416
3406
|
const defaultSurface = (new (this.wasmModule.IfcSurface));
|
|
@@ -25,6 +25,7 @@ export default class IfcStepModel extends StepModelBase<EntityTypesIfc> {
|
|
|
25
25
|
* Construct this model given a buffer containing the data and the parsed data index on that,
|
|
26
26
|
* adding the typeIndex on top of that.
|
|
27
27
|
*
|
|
28
|
+
* @param wasmModule
|
|
28
29
|
* @param buffer The buffer to values from.
|
|
29
30
|
* @param elementIndex The parsed index to elements in the STEP.
|
|
30
31
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifc_step_model.d.ts","sourceRoot":"","sources":["../../../src/ifc/ifc_step_model.ts"],"names":[],"mappings":"AAAA,OAAO,cAAqC,MAAM,iCAAiC,CAAA;AACnF,OAAO,aAAa,MAAM,yBAAyB,CAAA;AAEnD,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAA;AAE1D,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,sBAAsB,MAAM,6BAA6B,CAAA;AAChE,OAAO,cAAc,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAKvD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,aAAa,CAAE,cAAc,CAAE;IAEvE,SAAgB,SAAS,EAAE,aAAa,CAAE,cAAc,CAAE,CAAA;IAC1D,SAAgB,mBAAmB,gCAAyB;IAC5D,SAAgB,QAAQ,mBAA+B;IACvD,SAAgB,YAAY,mBAAqC;IACjE,SAAgB,QAAQ,kBAA4B;IACpD,SAAgB,MAAM,iBAA2B;IACjD,SAAgB,aAAa,iBAAuB;IACpD,SAAgB,SAAS,mBAA+B;IACxD,SAAgB,aAAa,mBAAqC;IAElE
|
|
1
|
+
{"version":3,"file":"ifc_step_model.d.ts","sourceRoot":"","sources":["../../../src/ifc/ifc_step_model.ts"],"names":[],"mappings":"AAAA,OAAO,cAAqC,MAAM,iCAAiC,CAAA;AACnF,OAAO,aAAa,MAAM,yBAAyB,CAAA;AAEnD,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAA;AAE1D,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,sBAAsB,MAAM,6BAA6B,CAAA;AAChE,OAAO,cAAc,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAKvD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,aAAa,CAAE,cAAc,CAAE;IAEvE,SAAgB,SAAS,EAAE,aAAa,CAAE,cAAc,CAAE,CAAA;IAC1D,SAAgB,mBAAmB,gCAAyB;IAC5D,SAAgB,QAAQ,mBAA+B;IACvD,SAAgB,YAAY,mBAAqC;IACjE,SAAgB,QAAQ,kBAA4B;IACpD,SAAgB,MAAM,iBAA2B;IACjD,SAAgB,aAAa,iBAAuB;IACpD,SAAgB,SAAS,mBAA+B;IACxD,SAAgB,aAAa,mBAAqC;IAElE;;;;;;;OAOG;gBAEC,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,cAAc,CAAE,cAAc,CAAE,EAAE;CAKrD"}
|
|
@@ -17,6 +17,7 @@ export default class IfcStepModel extends StepModelBase {
|
|
|
17
17
|
* Construct this model given a buffer containing the data and the parsed data index on that,
|
|
18
18
|
* adding the typeIndex on top of that.
|
|
19
19
|
*
|
|
20
|
+
* @param wasmModule
|
|
20
21
|
* @param buffer The buffer to values from.
|
|
21
22
|
* @param elementIndex The parsed index to elements in the STEP.
|
|
22
23
|
*/
|
|
@@ -20,6 +20,7 @@ export default class IfcStepParser extends StepParser<EntityTypesIfc> {
|
|
|
20
20
|
/**
|
|
21
21
|
* Parse data to the model
|
|
22
22
|
*
|
|
23
|
+
* @param wasmModule A conway-geom wasm module environnment for this.
|
|
23
24
|
* @param input The parsing buffer, set to user data, to read.
|
|
24
25
|
* @return {[ParseResult, IfcStepModel | undefined]} The parse result as well as the model,
|
|
25
26
|
* if it can be extracted.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifc_step_parser.d.ts","sourceRoot":"","sources":["../../../src/ifc/ifc_step_parser.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,2BAA2B,CAAA;AACrD,OAAO,UAAU,EAAE,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAA;AACnE,OAAO,cAAc,MAAM,iCAAiC,CAAA;AAE5D,OAAO,YAAY,MAAM,kBAAkB,CAAA;AAE3C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,UAAU,CAAE,cAAc,CAAE;IACrE;;OAEG;;IAKH;;;;;OAKG;IACH,gBAAuB,QAAQ,gBAAsB;IAErD
|
|
1
|
+
{"version":3,"file":"ifc_step_parser.d.ts","sourceRoot":"","sources":["../../../src/ifc/ifc_step_parser.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,2BAA2B,CAAA;AACrD,OAAO,UAAU,EAAE,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAA;AACnE,OAAO,cAAc,MAAM,iCAAiC,CAAA;AAE5D,OAAO,YAAY,MAAM,kBAAkB,CAAA;AAE3C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,UAAU,CAAE,cAAc,CAAE;IACrE;;OAEG;;IAKH;;;;;OAKG;IACH,gBAAuB,QAAQ,gBAAsB;IAErD;;;;;;;OAOG;IACI,gBAAgB,CACnB,KAAK,EAAE,aAAa,GAAI,CAAC,WAAW,EAAE,YAAY,GAAG,SAAS,CAAC;CAKpE"}
|
|
@@ -14,6 +14,7 @@ export default class IfcStepParser extends StepParser {
|
|
|
14
14
|
/**
|
|
15
15
|
* Parse data to the model
|
|
16
16
|
*
|
|
17
|
+
* @param wasmModule A conway-geom wasm module environnment for this.
|
|
17
18
|
* @param input The parsing buffer, set to user data, to read.
|
|
18
19
|
* @return {[ParseResult, IfcStepModel | undefined]} The parse result as well as the model,
|
|
19
20
|
* if it can be extracted.
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const versionString = 'Conway Web-Ifc Shim v0.
|
|
1
|
+
const versionString = 'Conway Web-Ifc Shim v0.13.835';
|
|
2
2
|
export { versionString };
|