Skip to content

Commit 2352e74

Browse files
authored
Merge pull request #93 from tentone/copilot/fix-load-hierarchy-zero-points
Fix child node traversal failure when numPoints=0 in hierarchy
2 parents 52baaaa + d2dd86e commit 2352e74

2 files changed

Lines changed: 6 additions & 2 deletions

File tree

source/loading/binary-loader.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,10 +93,13 @@ export class BinaryLoader
9393
return Promise.resolve();
9494
}
9595

96-
if (node.numPoints === 0) {
96+
if (node.numPoints === 0 && this.version.newerThan('1.5')) {
97+
node.geometry = node.geometry || new BufferGeometry();
9798
node.loaded = true;
9899
node.loading = false;
99100
node.pcoGeometry.numNodesLoading--;
101+
node.pcoGeometry.needsUpdate = true;
102+
this.callbacks.forEach((callback) => {return callback(node);});
100103
return Promise.resolve();
101104
}
102105

source/point-cloud-octree-geometry-node.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,9 +298,10 @@ export class PointCloudOctreeGeometryNode extends EventDispatcher implements IPo
298298
nodes.set(node.name, node);
299299
decoded.forEach((nodeData) => {return this.addNode(nodeData, node.pcoGeometry, nodes);});
300300

301-
if (node.numPoints > 0) {
301+
if (node.numPoints > 0 || node.pcoGeometry.loader.version.upTo('1.5')) {
302302
node.loadPoints();
303303
} else {
304+
node.geometry = node.geometry || new BufferGeometry();
304305
node.loaded = true;
305306
node.loading = false;
306307
node.pcoGeometry.numNodesLoading--;

0 commit comments

Comments
 (0)