@bldrs-ai/conway 1.413.1255 → 1.416.1260
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/examples/browser-bundled.cjs +1 -1
- package/compiled/examples/cli-bundled.cjs +194 -227
- package/compiled/examples/cli-step-bundled.cjs +1 -1
- package/compiled/examples/validator-bundled.cjs +1 -1
- package/compiled/src/ifc/ifc_demand_extraction.test.d.ts +2 -0
- package/compiled/src/ifc/ifc_demand_extraction.test.d.ts.map +1 -0
- package/compiled/src/ifc/ifc_demand_extraction.test.js +111 -0
- package/compiled/src/ifc/ifc_geometry_extraction.d.ts +47 -0
- package/compiled/src/ifc/ifc_geometry_extraction.d.ts.map +1 -1
- package/compiled/src/ifc/ifc_geometry_extraction.js +223 -269
- package/compiled/src/ifc/ifc_stream_open.d.ts +68 -0
- package/compiled/src/ifc/ifc_stream_open.d.ts.map +1 -0
- package/compiled/src/ifc/ifc_stream_open.js +46 -0
- package/compiled/src/ifc/ifc_stream_open.test.d.ts +2 -0
- package/compiled/src/ifc/ifc_stream_open.test.d.ts.map +1 -0
- package/compiled/src/ifc/ifc_stream_open.test.js +63 -0
- package/compiled/src/ifc/ifc_tile_extractor.d.ts +84 -0
- package/compiled/src/ifc/ifc_tile_extractor.d.ts.map +1 -0
- package/compiled/src/ifc/ifc_tile_extractor.js +134 -0
- package/compiled/src/ifc/ifc_tile_extractor.test.d.ts +2 -0
- package/compiled/src/ifc/ifc_tile_extractor.test.d.ts.map +1 -0
- package/compiled/src/ifc/ifc_tile_extractor.test.js +118 -0
- package/compiled/src/index.d.ts +14 -0
- package/compiled/src/index.d.ts.map +1 -1
- package/compiled/src/index.js +16 -0
- package/compiled/src/version/version.js +1 -1
- package/compiled/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -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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"}
|
|
@@ -139,6 +139,9 @@ export class IfcGeometryExtraction {
|
|
|
139
139
|
this.geometryTypeCounts = new Map();
|
|
140
140
|
this.csgDepth = 0;
|
|
141
141
|
this.freeVectorPolygonalFaces_ = [];
|
|
142
|
+
// Guards prepareExtractionMaps_ so the demand path and the whole-model
|
|
143
|
+
// walk can both trigger it without duplicating work.
|
|
144
|
+
this.extractionMapsPrepared_ = false;
|
|
142
145
|
this.csgMemoization = !this.lowMemoryMode;
|
|
143
146
|
this.materials = model.materials;
|
|
144
147
|
this.scene = new IfcSceneBuilder(model, conwayModel, this.materials);
|
|
@@ -4364,6 +4367,223 @@ export class IfcGeometryExtraction {
|
|
|
4364
4367
|
fs.writeFileSync(outputFilePath, objContent, 'utf8')
|
|
4365
4368
|
} */
|
|
4366
4369
|
}
|
|
4370
|
+
/**
|
|
4371
|
+
* One-time extraction setup shared by the whole-model walk and the
|
|
4372
|
+
* per-product demand path (Phase B2): linear scaling factor and the
|
|
4373
|
+
* cross-product maps (materials, material definitions, rel-voids, styled
|
|
4374
|
+
* items). Idempotent.
|
|
4375
|
+
*/
|
|
4376
|
+
prepareExtractionMaps_() {
|
|
4377
|
+
if (this.extractionMapsPrepared_) {
|
|
4378
|
+
return;
|
|
4379
|
+
}
|
|
4380
|
+
this.extractionMapsPrepared_ = true;
|
|
4381
|
+
this.extractLinearScalingFactor();
|
|
4382
|
+
// populate relMaterialsMap
|
|
4383
|
+
const relAssociatesMaterials = this.model.types(IfcRelAssociatesMaterial);
|
|
4384
|
+
for (const relAssociateMaterial of relAssociatesMaterials) {
|
|
4385
|
+
const relatingMaterial = relAssociateMaterial.RelatingMaterial;
|
|
4386
|
+
try {
|
|
4387
|
+
const relatedObjects = relAssociateMaterial.RelatedObjects;
|
|
4388
|
+
for (const relatedObject of relatedObjects) {
|
|
4389
|
+
const product = relatedObject;
|
|
4390
|
+
if (product instanceof IfcProduct) {
|
|
4391
|
+
if (product instanceof IfcOpeningElement ||
|
|
4392
|
+
product instanceof IfcSpace ||
|
|
4393
|
+
product instanceof IfcOpeningStandardCase) {
|
|
4394
|
+
continue;
|
|
4395
|
+
}
|
|
4396
|
+
// save mapping of IfcProduct --> IfcMaterial
|
|
4397
|
+
this.materials.relMaterialsMap.set(product.localID, relatingMaterial.localID);
|
|
4398
|
+
}
|
|
4399
|
+
else {
|
|
4400
|
+
// Logger.warning(`type other than IfcProduct: ${EntityTypesIfc[product.type]}`)
|
|
4401
|
+
}
|
|
4402
|
+
}
|
|
4403
|
+
}
|
|
4404
|
+
catch (ex) {
|
|
4405
|
+
if (ex instanceof Error) {
|
|
4406
|
+
if (MATERIAL_RELATED_OBJECTS_PERMISSIVE) {
|
|
4407
|
+
Logger.error("Error processing relatingMaterial expressID: " +
|
|
4408
|
+
`${relatingMaterial.expressID}, error: ${ex.message}`);
|
|
4409
|
+
}
|
|
4410
|
+
else {
|
|
4411
|
+
throw ex;
|
|
4412
|
+
}
|
|
4413
|
+
}
|
|
4414
|
+
else {
|
|
4415
|
+
Logger.error("Unknown exception processing IfcRelAssociateMaterials.");
|
|
4416
|
+
}
|
|
4417
|
+
}
|
|
4418
|
+
}
|
|
4419
|
+
// populate MaterialDefinitionsMap
|
|
4420
|
+
this.populateMaterialDefinitionsMap();
|
|
4421
|
+
// populate relvoids map
|
|
4422
|
+
this.populateRelVoidsMap();
|
|
4423
|
+
// populate styled items map
|
|
4424
|
+
this.populateStyledItemsMap();
|
|
4425
|
+
}
|
|
4426
|
+
/**
|
|
4427
|
+
* Prepare for per-product demand extraction (Phase B2) without running the
|
|
4428
|
+
* whole-model walk: populates the shared extraction maps so
|
|
4429
|
+
* {@link extractProductGeometryByLocalID} can extract any single product.
|
|
4430
|
+
* Idempotent; the whole-model walk shares the same preparation.
|
|
4431
|
+
*/
|
|
4432
|
+
prepareDemandExtraction() {
|
|
4433
|
+
this.prepareExtractionMaps_();
|
|
4434
|
+
}
|
|
4435
|
+
/**
|
|
4436
|
+
* Extract one product's geometry into the scene by local ID — the demand
|
|
4437
|
+
* path's entry (Phase B2). Requires {@link prepareDemandExtraction} (or a
|
|
4438
|
+
* prior whole-model walk) so the shared maps exist.
|
|
4439
|
+
*
|
|
4440
|
+
* Note: products that are targets of IfcRelAggregates whose relating
|
|
4441
|
+
* object carries rel-voids get those master voids only on the whole-model
|
|
4442
|
+
* walk; the demand path extracts the product's own voids. The parity gate
|
|
4443
|
+
* for this seam is the whole-model digest CI.
|
|
4444
|
+
*
|
|
4445
|
+
* @param localID The product's local ID.
|
|
4446
|
+
* @return {boolean} True if the local ID was an IfcProduct and was
|
|
4447
|
+
* extracted; false if it wasn't a product.
|
|
4448
|
+
*/
|
|
4449
|
+
extractProductGeometryByLocalID(localID) {
|
|
4450
|
+
this.prepareExtractionMaps_();
|
|
4451
|
+
const element = this.model.getElementByLocalID(localID);
|
|
4452
|
+
if (!(element instanceof IfcProduct)) {
|
|
4453
|
+
return false;
|
|
4454
|
+
}
|
|
4455
|
+
this.extractProductGeometry(element);
|
|
4456
|
+
return true;
|
|
4457
|
+
}
|
|
4458
|
+
/**
|
|
4459
|
+
* Extract one product's geometry into the scene: placement, material /
|
|
4460
|
+
* style extraction, representation items (including mapped items) and
|
|
4461
|
+
* rel-void application. The deduplicated body of the whole-model walk's
|
|
4462
|
+
* two product loops (plain products + rel-aggregates), shared with the
|
|
4463
|
+
* per-product demand path.
|
|
4464
|
+
*
|
|
4465
|
+
* @param product The product to extract.
|
|
4466
|
+
* @param precomputedRelVoids Optional caller-owned rel-voids (the
|
|
4467
|
+
* rel-aggregates "master" case): when supplied the caller retains
|
|
4468
|
+
* ownership and this method does not delete the mesh vector; when
|
|
4469
|
+
* omitted, voids are extracted per product and freed here.
|
|
4470
|
+
*/
|
|
4471
|
+
extractProductGeometry(product, precomputedRelVoids) {
|
|
4472
|
+
this.scene.clearParentStack();
|
|
4473
|
+
const isSpace = product instanceof IfcOpeningElement ||
|
|
4474
|
+
product instanceof IfcSpace ||
|
|
4475
|
+
product instanceof IfcOpeningStandardCase;
|
|
4476
|
+
const objectPlacement = product.ObjectPlacement;
|
|
4477
|
+
if (objectPlacement !== null) {
|
|
4478
|
+
this.extractPlacement(objectPlacement);
|
|
4479
|
+
}
|
|
4480
|
+
const representations = product.Representation;
|
|
4481
|
+
if (representations === null) {
|
|
4482
|
+
return;
|
|
4483
|
+
}
|
|
4484
|
+
// extract styledItem material
|
|
4485
|
+
const styledItemID = this.extractMaterialStyle(product);
|
|
4486
|
+
let hasRelVoid = false;
|
|
4487
|
+
const extractRelVoidsResult = precomputedRelVoids ?? this.extractRelVoids(product);
|
|
4488
|
+
let relVoidsMeshVector;
|
|
4489
|
+
let relVoidLocalIDs;
|
|
4490
|
+
if (extractRelVoidsResult !== void 0) {
|
|
4491
|
+
[relVoidsMeshVector, relVoidLocalIDs] = extractRelVoidsResult;
|
|
4492
|
+
}
|
|
4493
|
+
if (relVoidsMeshVector !== void 0) {
|
|
4494
|
+
hasRelVoid = true;
|
|
4495
|
+
}
|
|
4496
|
+
if (styledItemID !== void 0) {
|
|
4497
|
+
// optimization: extract the first representation item and cache
|
|
4498
|
+
// the styleID to apply to the rest of the product geometry
|
|
4499
|
+
const styledItem = this.model.getElementByLocalID(styledItemID);
|
|
4500
|
+
let reusableStyleID;
|
|
4501
|
+
for (const representation of representations.Representations) {
|
|
4502
|
+
if (representation instanceof IfcShapeRepresentation) {
|
|
4503
|
+
// this check is essential -
|
|
4504
|
+
// if RepresentationIdentifier !== Body or Facetation we must skip it
|
|
4505
|
+
if (representation.RepresentationIdentifier !== "Body" &&
|
|
4506
|
+
representation.RepresentationIdentifier !== "Facetation") {
|
|
4507
|
+
continue;
|
|
4508
|
+
}
|
|
4509
|
+
}
|
|
4510
|
+
for (const item of representation.Items) {
|
|
4511
|
+
if (item instanceof IfcMappedItem) {
|
|
4512
|
+
this.extractMappedItem(item, product, hasRelVoid, isSpace);
|
|
4513
|
+
}
|
|
4514
|
+
else {
|
|
4515
|
+
try {
|
|
4516
|
+
this.extractRepresentationItem(item, product.localID, hasRelVoid, isSpace);
|
|
4517
|
+
if (hasRelVoid) {
|
|
4518
|
+
this.applyRelVoidToRepresentation(item, relVoidsMeshVector, product.localID, relVoidLocalIDs, void 0, isSpace);
|
|
4519
|
+
}
|
|
4520
|
+
}
|
|
4521
|
+
catch (error) {
|
|
4522
|
+
if (error instanceof Error) {
|
|
4523
|
+
Logger.error(`Error extracting representation item\n\t${error.message}\n\tExpress ID: #${item.expressID}`);
|
|
4524
|
+
}
|
|
4525
|
+
else {
|
|
4526
|
+
Logger.error(`Error extracting representation item\n\tExpress ID: #${item.expressID}`);
|
|
4527
|
+
}
|
|
4528
|
+
}
|
|
4529
|
+
}
|
|
4530
|
+
const styledItemLocalID_ = this.materials.styledItemMap.get(item.localID);
|
|
4531
|
+
if (styledItemLocalID_ !== undefined) {
|
|
4532
|
+
const styledItem_ = this.model.getElementByLocalID(styledItemLocalID_);
|
|
4533
|
+
this.extractStyledItem(styledItem_);
|
|
4534
|
+
}
|
|
4535
|
+
else if (reusableStyleID !== void 0) {
|
|
4536
|
+
this.materials.addGeometryMapping(item.localID, reusableStyleID);
|
|
4537
|
+
}
|
|
4538
|
+
else if (styledItem instanceof IfcStyledItem) {
|
|
4539
|
+
// here we have the styled item, apply it to all geometry in this IfcProduct
|
|
4540
|
+
reusableStyleID = this.extractStyledItem(styledItem, item);
|
|
4541
|
+
}
|
|
4542
|
+
}
|
|
4543
|
+
}
|
|
4544
|
+
}
|
|
4545
|
+
else {
|
|
4546
|
+
for (const representation of representations.Representations) {
|
|
4547
|
+
if (representation instanceof IfcShapeRepresentation) {
|
|
4548
|
+
// this check is essential -
|
|
4549
|
+
// if RepresentationIdentifier !== Body or Facetation we must skip it
|
|
4550
|
+
if (representation.RepresentationIdentifier !== "Body" &&
|
|
4551
|
+
representation.RepresentationIdentifier !== "Facetation") {
|
|
4552
|
+
continue;
|
|
4553
|
+
}
|
|
4554
|
+
}
|
|
4555
|
+
for (const item of representation.Items) {
|
|
4556
|
+
if (item instanceof IfcMappedItem) {
|
|
4557
|
+
this.extractMappedItem(item, product, hasRelVoid, isSpace);
|
|
4558
|
+
}
|
|
4559
|
+
else {
|
|
4560
|
+
try {
|
|
4561
|
+
this.extractRepresentationItem(item, product.localID, hasRelVoid, isSpace);
|
|
4562
|
+
if (hasRelVoid) {
|
|
4563
|
+
this.applyRelVoidToRepresentation(item, relVoidsMeshVector, product.localID, relVoidLocalIDs, void 0, isSpace);
|
|
4564
|
+
}
|
|
4565
|
+
const styledItemLocalID_ = this.materials.styledItemMap.get(item.localID);
|
|
4566
|
+
if (styledItemLocalID_ !== void 0) {
|
|
4567
|
+
const styledItem_ = this.model.getElementByLocalID(styledItemLocalID_);
|
|
4568
|
+
this.extractStyledItem(styledItem_);
|
|
4569
|
+
}
|
|
4570
|
+
}
|
|
4571
|
+
catch (error) {
|
|
4572
|
+
if (error instanceof Error) {
|
|
4573
|
+
Logger.error(`Error extracting representation item\n\t${error.message}\n\t${error.stack}\n\tExpress ID: #${item.localID}`);
|
|
4574
|
+
}
|
|
4575
|
+
else {
|
|
4576
|
+
Logger.error(`Unknown error extracting representation item Express ID: #${item.localID}`);
|
|
4577
|
+
}
|
|
4578
|
+
}
|
|
4579
|
+
}
|
|
4580
|
+
}
|
|
4581
|
+
}
|
|
4582
|
+
}
|
|
4583
|
+
if (precomputedRelVoids === void 0) {
|
|
4584
|
+
relVoidsMeshVector?.delete();
|
|
4585
|
+
}
|
|
4586
|
+
}
|
|
4367
4587
|
/**
|
|
4368
4588
|
* Extract the geometry data from the IFC
|
|
4369
4589
|
*
|
|
@@ -4444,10 +4664,7 @@ export class IfcGeometryExtraction {
|
|
|
4444
4664
|
*/
|
|
4445
4665
|
*extractIFCGeometryDataIncremental() {
|
|
4446
4666
|
let result = ExtractResult.INCOMPLETE;
|
|
4447
|
-
this.extractLinearScalingFactor();
|
|
4448
4667
|
const previousMemoizationState = this.model.elementMemoization;
|
|
4449
|
-
// populate relMaterialsMap
|
|
4450
|
-
const relAssociatesMaterials = this.model.types(IfcRelAssociatesMaterial);
|
|
4451
4668
|
try {
|
|
4452
4669
|
// 256 meg limit for memoization - smaller models get a big
|
|
4453
4670
|
// win from memoization, but much larger models it uses far too much heap.
|
|
@@ -4456,47 +4673,7 @@ export class IfcGeometryExtraction {
|
|
|
4456
4673
|
if (this.lowMemoryMode || this.model.bufferBytesize > MEMOIZATION_THRESHOLD) {
|
|
4457
4674
|
this.model.elementMemoization = false;
|
|
4458
4675
|
}
|
|
4459
|
-
|
|
4460
|
-
const relatingMaterial = relAssociateMaterial.RelatingMaterial;
|
|
4461
|
-
try {
|
|
4462
|
-
const relatedObjects = relAssociateMaterial.RelatedObjects;
|
|
4463
|
-
for (const relatedObject of relatedObjects) {
|
|
4464
|
-
const product = relatedObject;
|
|
4465
|
-
if (product instanceof IfcProduct) {
|
|
4466
|
-
if (product instanceof IfcOpeningElement ||
|
|
4467
|
-
product instanceof IfcSpace ||
|
|
4468
|
-
product instanceof IfcOpeningStandardCase) {
|
|
4469
|
-
continue;
|
|
4470
|
-
}
|
|
4471
|
-
// save mapping of IfcProduct --> IfcMaterial
|
|
4472
|
-
this.materials.relMaterialsMap.set(product.localID, relatingMaterial.localID);
|
|
4473
|
-
}
|
|
4474
|
-
else {
|
|
4475
|
-
// Logger.warning(`type other than IfcProduct: ${EntityTypesIfc[product.type]}`)
|
|
4476
|
-
}
|
|
4477
|
-
}
|
|
4478
|
-
}
|
|
4479
|
-
catch (ex) {
|
|
4480
|
-
if (ex instanceof Error) {
|
|
4481
|
-
if (MATERIAL_RELATED_OBJECTS_PERMISSIVE) {
|
|
4482
|
-
Logger.error("Error processing relatingMaterial expressID: " +
|
|
4483
|
-
`${relatingMaterial.expressID}, error: ${ex.message}`);
|
|
4484
|
-
}
|
|
4485
|
-
else {
|
|
4486
|
-
throw ex;
|
|
4487
|
-
}
|
|
4488
|
-
}
|
|
4489
|
-
else {
|
|
4490
|
-
Logger.error("Unknown exception processing IfcRelAssociateMaterials.");
|
|
4491
|
-
}
|
|
4492
|
-
}
|
|
4493
|
-
}
|
|
4494
|
-
// populate MaterialDefinitionsMap
|
|
4495
|
-
this.populateMaterialDefinitionsMap();
|
|
4496
|
-
// populate relvoids map
|
|
4497
|
-
this.populateRelVoidsMap();
|
|
4498
|
-
// populate styled items map
|
|
4499
|
-
this.populateStyledItemsMap();
|
|
4676
|
+
this.prepareExtractionMaps_();
|
|
4500
4677
|
const products = this.model.types(IfcProduct);
|
|
4501
4678
|
// Prefix-sum counts (no iteration/materialization) — see typeCount.
|
|
4502
4679
|
// Slight over-count from multi-mapped elements just leaves the bar
|
|
@@ -4505,117 +4682,7 @@ export class IfcGeometryExtraction {
|
|
|
4505
4682
|
let completedItems = 0;
|
|
4506
4683
|
for (const product of products) {
|
|
4507
4684
|
yield [++completedItems, totalItems];
|
|
4508
|
-
this.
|
|
4509
|
-
const isSpace = product instanceof IfcOpeningElement ||
|
|
4510
|
-
product instanceof IfcSpace ||
|
|
4511
|
-
product instanceof IfcOpeningStandardCase;
|
|
4512
|
-
const objectPlacement = product.ObjectPlacement;
|
|
4513
|
-
if (objectPlacement !== null) {
|
|
4514
|
-
this.extractPlacement(objectPlacement);
|
|
4515
|
-
}
|
|
4516
|
-
const representations = product.Representation;
|
|
4517
|
-
if (representations !== null) {
|
|
4518
|
-
// extract styledItem material
|
|
4519
|
-
const styledItemID = this.extractMaterialStyle(product);
|
|
4520
|
-
let hasRelVoid = false;
|
|
4521
|
-
const extractRelVoidsResult = this.extractRelVoids(product);
|
|
4522
|
-
let relVoidsMeshVector;
|
|
4523
|
-
let relVoidLocalIDs;
|
|
4524
|
-
if (extractRelVoidsResult !== void 0) {
|
|
4525
|
-
[relVoidsMeshVector, relVoidLocalIDs] = extractRelVoidsResult;
|
|
4526
|
-
}
|
|
4527
|
-
if (relVoidsMeshVector !== void 0) {
|
|
4528
|
-
hasRelVoid = true;
|
|
4529
|
-
}
|
|
4530
|
-
if (styledItemID !== void 0) {
|
|
4531
|
-
// optimization: extract the first representation item and cache
|
|
4532
|
-
// the styleID to apply to the rest of the product geometry
|
|
4533
|
-
const styledItem = this.model.getElementByLocalID(styledItemID);
|
|
4534
|
-
let reusableStyleID;
|
|
4535
|
-
for (const representation of representations.Representations) {
|
|
4536
|
-
if (representation instanceof IfcShapeRepresentation) {
|
|
4537
|
-
// this check is essential -
|
|
4538
|
-
// if RepresentationIdentifier !== Body or Facetation we must skip it
|
|
4539
|
-
if (representation.RepresentationIdentifier !== "Body" &&
|
|
4540
|
-
representation.RepresentationIdentifier !== "Facetation") {
|
|
4541
|
-
continue;
|
|
4542
|
-
}
|
|
4543
|
-
}
|
|
4544
|
-
for (const item of representation.Items) {
|
|
4545
|
-
if (item instanceof IfcMappedItem) {
|
|
4546
|
-
this.extractMappedItem(item, product, hasRelVoid, isSpace);
|
|
4547
|
-
}
|
|
4548
|
-
else {
|
|
4549
|
-
try {
|
|
4550
|
-
this.extractRepresentationItem(item, product.localID, hasRelVoid, isSpace);
|
|
4551
|
-
if (hasRelVoid) {
|
|
4552
|
-
this.applyRelVoidToRepresentation(item, relVoidsMeshVector, product.localID, relVoidLocalIDs, void 0, isSpace);
|
|
4553
|
-
}
|
|
4554
|
-
}
|
|
4555
|
-
catch (error) {
|
|
4556
|
-
if (error instanceof Error) {
|
|
4557
|
-
Logger.error(`Error extracting representation item\n\t${error.message}\n\tExpress ID: #${item.expressID}`);
|
|
4558
|
-
}
|
|
4559
|
-
else {
|
|
4560
|
-
Logger.error(`Error extracting representation item\n\tExpress ID: #${item.expressID}`);
|
|
4561
|
-
}
|
|
4562
|
-
}
|
|
4563
|
-
}
|
|
4564
|
-
const styledItemLocalID_ = this.materials.styledItemMap.get(item.localID);
|
|
4565
|
-
if (styledItemLocalID_ !== undefined) {
|
|
4566
|
-
const styledItem_ = this.model.getElementByLocalID(styledItemLocalID_);
|
|
4567
|
-
this.extractStyledItem(styledItem_);
|
|
4568
|
-
}
|
|
4569
|
-
else if (reusableStyleID !== void 0) {
|
|
4570
|
-
this.materials.addGeometryMapping(item.localID, reusableStyleID);
|
|
4571
|
-
}
|
|
4572
|
-
else if (styledItem instanceof IfcStyledItem) {
|
|
4573
|
-
// here we have the styled item, apply it to all geometry in this IfcProduct
|
|
4574
|
-
reusableStyleID = this.extractStyledItem(styledItem, item);
|
|
4575
|
-
}
|
|
4576
|
-
}
|
|
4577
|
-
}
|
|
4578
|
-
}
|
|
4579
|
-
else {
|
|
4580
|
-
for (const representation of representations.Representations) {
|
|
4581
|
-
if (representation instanceof IfcShapeRepresentation) {
|
|
4582
|
-
// this check is essential -
|
|
4583
|
-
// if RepresentationIdentifier !== Body or Facetation we must skip it
|
|
4584
|
-
if (representation.RepresentationIdentifier !== "Body" &&
|
|
4585
|
-
representation.RepresentationIdentifier !== "Facetation") {
|
|
4586
|
-
continue;
|
|
4587
|
-
}
|
|
4588
|
-
}
|
|
4589
|
-
for (const item of representation.Items) {
|
|
4590
|
-
if (item instanceof IfcMappedItem) {
|
|
4591
|
-
this.extractMappedItem(item, product, hasRelVoid, isSpace);
|
|
4592
|
-
}
|
|
4593
|
-
else {
|
|
4594
|
-
try {
|
|
4595
|
-
this.extractRepresentationItem(item, product.localID, hasRelVoid, isSpace);
|
|
4596
|
-
if (hasRelVoid) {
|
|
4597
|
-
this.applyRelVoidToRepresentation(item, relVoidsMeshVector, product.localID, relVoidLocalIDs, void 0, isSpace);
|
|
4598
|
-
}
|
|
4599
|
-
const styledItemLocalID_ = this.materials.styledItemMap.get(item.localID);
|
|
4600
|
-
if (styledItemLocalID_ !== void 0) {
|
|
4601
|
-
const styledItem_ = this.model.getElementByLocalID(styledItemLocalID_);
|
|
4602
|
-
this.extractStyledItem(styledItem_);
|
|
4603
|
-
}
|
|
4604
|
-
}
|
|
4605
|
-
catch (error) {
|
|
4606
|
-
if (error instanceof Error) {
|
|
4607
|
-
Logger.error(`Error extracting representation item\n\t${error.message}\n\t${error.stack}\n\tExpress ID: #${item.localID}`);
|
|
4608
|
-
}
|
|
4609
|
-
else {
|
|
4610
|
-
Logger.error(`Unknown error extracting representation item Express ID: #${item.localID}`);
|
|
4611
|
-
}
|
|
4612
|
-
}
|
|
4613
|
-
}
|
|
4614
|
-
}
|
|
4615
|
-
}
|
|
4616
|
-
}
|
|
4617
|
-
relVoidsMeshVector?.delete();
|
|
4618
|
-
}
|
|
4685
|
+
this.extractProductGeometry(product);
|
|
4619
4686
|
}
|
|
4620
4687
|
const relAggregates = this.model.types(IfcRelAggregates);
|
|
4621
4688
|
for (const relAggregate of relAggregates) {
|
|
@@ -4632,120 +4699,7 @@ export class IfcGeometryExtraction {
|
|
|
4632
4699
|
const relatedObjects = relAggregate.RelatedObjects;
|
|
4633
4700
|
for (const productRepresentation of relatedObjects) {
|
|
4634
4701
|
if (productRepresentation instanceof IfcProduct) {
|
|
4635
|
-
|
|
4636
|
-
productRepresentation instanceof IfcSpace ||
|
|
4637
|
-
productRepresentation instanceof IfcOpeningStandardCase;
|
|
4638
|
-
const product = productRepresentation;
|
|
4639
|
-
this.scene.clearParentStack();
|
|
4640
|
-
const objectPlacement = product.ObjectPlacement;
|
|
4641
|
-
if (objectPlacement !== null) {
|
|
4642
|
-
this.extractPlacement(objectPlacement);
|
|
4643
|
-
}
|
|
4644
|
-
const representations = product.Representation;
|
|
4645
|
-
if (representations !== null) {
|
|
4646
|
-
// extract styledItem material
|
|
4647
|
-
const styledItemID = this.extractMaterialStyle(product);
|
|
4648
|
-
const extractRelVoidsResult = masterRelVoids ?? this.extractRelVoids(product);
|
|
4649
|
-
let hasRelVoid = false;
|
|
4650
|
-
let relVoidsMeshVector;
|
|
4651
|
-
let relVoidLocalIDs;
|
|
4652
|
-
if (extractRelVoidsResult !== void 0) {
|
|
4653
|
-
[relVoidsMeshVector, relVoidLocalIDs] = extractRelVoidsResult;
|
|
4654
|
-
}
|
|
4655
|
-
if (relVoidsMeshVector !== void 0) {
|
|
4656
|
-
hasRelVoid = true;
|
|
4657
|
-
}
|
|
4658
|
-
if (styledItemID !== void 0) {
|
|
4659
|
-
// optimization: extract the first representation item and cache
|
|
4660
|
-
// the styleID to apply to the rest of the product geometry
|
|
4661
|
-
const styledItem = this.model.getElementByLocalID(styledItemID);
|
|
4662
|
-
let reusableStyleID;
|
|
4663
|
-
for (const representation of representations.Representations) {
|
|
4664
|
-
if (representation instanceof IfcShapeRepresentation) {
|
|
4665
|
-
// this check is essential -
|
|
4666
|
-
// if RepresentationIdentifier !== Body or Facetation we must skip it
|
|
4667
|
-
if (representation.RepresentationIdentifier !== "Body" &&
|
|
4668
|
-
representation.RepresentationIdentifier !== "Facetation") {
|
|
4669
|
-
continue;
|
|
4670
|
-
}
|
|
4671
|
-
}
|
|
4672
|
-
for (const item of representation.Items) {
|
|
4673
|
-
if (item instanceof IfcMappedItem) {
|
|
4674
|
-
this.extractMappedItem(item, product, hasRelVoid, isSpace);
|
|
4675
|
-
}
|
|
4676
|
-
else {
|
|
4677
|
-
try {
|
|
4678
|
-
this.extractRepresentationItem(item, product.localID, hasRelVoid, isSpace);
|
|
4679
|
-
if (hasRelVoid) {
|
|
4680
|
-
this.applyRelVoidToRepresentation(item, relVoidsMeshVector, product.localID, relVoidLocalIDs, void 0, isSpace);
|
|
4681
|
-
}
|
|
4682
|
-
}
|
|
4683
|
-
catch (error) {
|
|
4684
|
-
if (error instanceof Error) {
|
|
4685
|
-
Logger.error(`Error extracting rel aggregate representation item\n\t${error.message}\n\t${error.stack}\n\t Express ID: #${item.expressID}`);
|
|
4686
|
-
}
|
|
4687
|
-
else {
|
|
4688
|
-
Logger.error(`Unknown error extracting rel aggregate representation item Express ID: #${item.expressID}`);
|
|
4689
|
-
}
|
|
4690
|
-
}
|
|
4691
|
-
}
|
|
4692
|
-
const styledItemLocalID_ = this.materials.styledItemMap.get(item.localID);
|
|
4693
|
-
if (styledItemLocalID_ !== undefined) {
|
|
4694
|
-
const styledItem_ = this.model.getElementByLocalID(styledItemLocalID_);
|
|
4695
|
-
this.extractStyledItem(styledItem_);
|
|
4696
|
-
}
|
|
4697
|
-
else if (reusableStyleID !== void 0) {
|
|
4698
|
-
this.materials.addGeometryMapping(item.localID, reusableStyleID);
|
|
4699
|
-
}
|
|
4700
|
-
else if (styledItem instanceof IfcStyledItem) {
|
|
4701
|
-
// here we have the styled item, apply it to all geometry in this IfcProduct
|
|
4702
|
-
reusableStyleID = this.extractStyledItem(styledItem, item);
|
|
4703
|
-
}
|
|
4704
|
-
}
|
|
4705
|
-
}
|
|
4706
|
-
}
|
|
4707
|
-
else {
|
|
4708
|
-
for (const representation of representations.Representations) {
|
|
4709
|
-
if (representation instanceof IfcShapeRepresentation) {
|
|
4710
|
-
// this check is essential -
|
|
4711
|
-
// if RepresentationIdentifier !== Body or Facetation we must skip it
|
|
4712
|
-
if (representation.RepresentationIdentifier !== "Body" &&
|
|
4713
|
-
representation.RepresentationIdentifier !== "Facetation") {
|
|
4714
|
-
continue;
|
|
4715
|
-
}
|
|
4716
|
-
}
|
|
4717
|
-
for (const item of representation.Items) {
|
|
4718
|
-
if (item instanceof IfcMappedItem) {
|
|
4719
|
-
this.extractMappedItem(item, product, hasRelVoid, isSpace);
|
|
4720
|
-
}
|
|
4721
|
-
else {
|
|
4722
|
-
try {
|
|
4723
|
-
this.extractRepresentationItem(item, product.localID, hasRelVoid, isSpace);
|
|
4724
|
-
if (hasRelVoid) {
|
|
4725
|
-
this.applyRelVoidToRepresentation(item, relVoidsMeshVector, product.localID, relVoidLocalIDs, void 0, isSpace);
|
|
4726
|
-
}
|
|
4727
|
-
const styledItemLocalID_ = this.materials.styledItemMap.get(item.localID);
|
|
4728
|
-
if (styledItemLocalID_ !== void 0) {
|
|
4729
|
-
const styledItem_ = this.model.getElementByLocalID(styledItemLocalID_);
|
|
4730
|
-
this.extractStyledItem(styledItem_);
|
|
4731
|
-
}
|
|
4732
|
-
}
|
|
4733
|
-
catch (error) {
|
|
4734
|
-
if (error instanceof Error) {
|
|
4735
|
-
Logger.error(`Error extracting rel aggregate representation item\n\t${error.message}\n\t${error.stack}\n\t Express ID: #${item.expressID}`);
|
|
4736
|
-
}
|
|
4737
|
-
else {
|
|
4738
|
-
Logger.error(`Unknown error extracting rel aggregate representation item Express ID: #${item.expressID}`);
|
|
4739
|
-
}
|
|
4740
|
-
}
|
|
4741
|
-
}
|
|
4742
|
-
}
|
|
4743
|
-
}
|
|
4744
|
-
}
|
|
4745
|
-
if (masterRelVoids === void 0) {
|
|
4746
|
-
relVoidsMeshVector?.delete();
|
|
4747
|
-
}
|
|
4748
|
-
}
|
|
4702
|
+
this.extractProductGeometry(productRepresentation, masterRelVoids);
|
|
4749
4703
|
}
|
|
4750
4704
|
}
|
|
4751
4705
|
if (masterRelVoids !== void 0) {
|