Skip to content

Commit 95afc57

Browse files
multi
1 parent 9d74e62 commit 95afc57

1 file changed

Lines changed: 17 additions & 6 deletions

File tree

src/model/index.js

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -598,16 +598,27 @@ function setVisibilityOfInstance(meshKey, visibleScale, instanceIndex, visible)
598598
}
599599
}
600600

601-
function setVisibilityAt(x, y, z, visible) {
602-
let info = this.instancePositionMap[x + "_" + y + "_" + z];
603-
if (info) {
604-
let mesh = setVisibilityOfInstance(info.key, info.scale, info.index, visible);
605-
if (mesh) {
606-
mesh.needsUpdate();
601+
function setVisibilityAtMulti(positions, visible) {
602+
let updatedMeshes = {};
603+
for(let pos of positions) {
604+
let info = this.instancePositionMap[pos[0] + "_" + pos[1] + "_" + pos[2]];
605+
if (info) {
606+
let mesh = setVisibilityOfInstance(info.key, info.scale, info.index, visible);
607+
if (mesh) {
608+
updatedMeshes[info.key] = mesh;
609+
}
607610
}
608611
}
612+
for (let mesh of Object.values(updatedMeshes)) {
613+
mesh.needsUpdate();
614+
}
615+
}
616+
617+
function setVisibilityAt(x, y, z, visible) {
618+
setVisibilityAtMulti([[x, y, z]], visible);
609619
}
610620

621+
ModelRender.prototype.setVisibilityAtMulti = setVisibilityAtMulti;
611622
ModelRender.prototype.setVisibilityAt = setVisibilityAt;
612623

613624
let createDot = function (c) {

0 commit comments

Comments
 (0)