Skip to content

Commit b245301

Browse files
Anthony GULLIENTmgermerie
Anthony GULLIENT
authored andcommittedJun 16, 2023
fix(3dtiles): fix batchtable reading
1 parent 1ec89f2 commit b245301

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed
 

‎src/Parser/PntsParser.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,10 @@ export default {
6666
if (pntsHeader.BTJSONLength > 0) {
6767
// parse batch table
6868
const sizeBegin = byteOffset + pntsHeader.FTJSONLength + pntsHeader.FTBinaryLength;
69-
const BTBuffer = buffer.slice(sizeBegin, pntsHeader.BTJSONLength + sizeBegin);
70-
batchTable = new C3DTBatchTable(BTBuffer, pntsHeader.BTJSONLength, pntsHeader.BTBinaryLength, FTJSON.BATCH_LENGTH, registeredExtensions);
69+
const BTBuffer = buffer.slice(sizeBegin, pntsHeader.BTJSONLength + pntsHeader.BTBinaryLength + sizeBegin);
70+
71+
// If the BATCH_ID semantic is not defined, then the Batch Table stores per-point metadata, and the length of the Batch Table arrays will equal POINTS_LENGTH.
72+
batchTable = new C3DTBatchTable(BTBuffer, pntsHeader.BTJSONLength, pntsHeader.BTBinaryLength, (FTJSON.BATCH_ID && FTJSON.BATCH_LENGTH) ? FTJSON.BATCH_LENGTH : FTJSON.POINTS_LENGTH, registeredExtensions);
7173
}
7274

7375
const pnts = { point, batchTable };

‎src/Provider/3dTilesProvider.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ function pntsParse(data, layer) {
4141
points.position.copy(result.point.offset);
4242
}
4343

44-
return { object3d: points };
44+
return { object3d: points ,
45+
batchTable: result.batchTable,
46+
};
4547
});
4648
}
4749

0 commit comments

Comments
 (0)
Please sign in to comment.