From 445ffa964ab915183877cd2167c2036003459f8e Mon Sep 17 00:00:00 2001 From: Marco Hutter Date: Tue, 13 Aug 2024 18:23:27 +0200 Subject: [PATCH] Preliminarily ignore missing BATCHID --- src/tools/migration/TileFormatsMigrationB3dm.ts | 6 ++++-- src/tools/migration/TileTableDataToMeshFeatures.ts | 13 ++++++++----- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/tools/migration/TileFormatsMigrationB3dm.ts b/src/tools/migration/TileFormatsMigrationB3dm.ts index f7e60cd..3b0b456 100644 --- a/src/tools/migration/TileFormatsMigrationB3dm.ts +++ b/src/tools/migration/TileFormatsMigrationB3dm.ts @@ -90,8 +90,10 @@ export class TileFormatsMigrationB3dm { primitive, batchIdToFeatureIdAccessor ); - if (propertyTable) { - featureId.setPropertyTable(propertyTable); + if (featureId) { + if (propertyTable) { + featureId.setPropertyTable(propertyTable); + } } } } diff --git a/src/tools/migration/TileTableDataToMeshFeatures.ts b/src/tools/migration/TileTableDataToMeshFeatures.ts index b9de9ee..18cf779 100644 --- a/src/tools/migration/TileTableDataToMeshFeatures.ts +++ b/src/tools/migration/TileTableDataToMeshFeatures.ts @@ -23,7 +23,7 @@ export class TileTableDataToMeshFeatures { * extension that is associated with this primitive, storing * the former batch ID attribute as a new `_FEATURE_ID_0` attribute. * - * Note that this will remove the former batch ID attributes + * Note that this will set the former batch ID attributes * in the given primitive to `null`, but it will not dispose * the corresponding accessors. These have to be disposed * after all primitives have been processed. @@ -42,7 +42,7 @@ export class TileTableDataToMeshFeatures { document: Document, primitive: Primitive, batchIdToFeatureIdAccessor: Map - ): FeatureId { + ): FeatureId | undefined { let batchIdAttribute = primitive.getAttribute("_BATCHID"); if (!batchIdAttribute) { batchIdAttribute = primitive.getAttribute("BATCHID"); @@ -52,9 +52,12 @@ export class TileTableDataToMeshFeatures { "should be _BATCHID, starting with an underscore" ); } else { - throw new TileFormatError( - "The primitive did not contain a _BATCHID attribute" - ); + // XXX Preliminarily ignore this + //throw new TileFormatError( + // "The primitive did not contain a _BATCHID attribute" + //); + logger.warn("The primitive did not contain a _BATCHID attribute"); + return undefined; } }