I follow some tutorials on the internet and try to override the opacity/transparent of elements on the Viewer. This is what i got but it work only for a few element like slab and staircase. For the other elements like column, beam... nothing happen at all. Is there something wrong ? Thank in advance.
const nodeIdToFragIds = (model, nodeId) => {
var instanceTree = model.getData().instanceTree;
var fragIds = [];
instanceTree.enumNodeFragments(nodeId, (fragId) => {
fragIds = [...fragIds, fragId];
});
return fragIds;
}
const overrideOpacity = (model, dbIds) => {
const fragList = model.getFragmentList();
dbIds.forEach((dbId) => {
const fragIds = nodeIdToFragIds(model, dbId);
fragIds.forEach((fragId) => {
const material = fragList.getMaterial(fragId);
if (material) {
material.opacity = 0.5;
material.transparent = true;
material.needsUpdate = true;
}
});
});
this.viewer.impl.invalidate(true);
return true;
};