我正在使用以下方法确定特定元素的边界框:
MyViewer.select( [dbId]); var box = MyViewer.utilities.getBoundingBox();
这行得通,但是我想知道是否有直接函数可以做到这一点(类似于getBulkProperties的工作方式),尤其是当我循环运行大量dbId时。
我还发现,可以通过找到元素的片段列表并计算每个元素的边界框来计算元素的边界框来做到这一点。那是更多的工作。
谢谢 班杜
答案 0 :(得分:1)
@Bandu, 我找不到任何更直接的方法,但是下面的代码功能可能有用吗?
function getModifiedWorldBoundingBox (fragIds) {
//fragments list array
var fragList = NOP_VIEWER.model.getFragmentList();
const fragbBox = new THREE.Box3()
const nodebBox = new THREE.Box3()
fragIds.forEach(function(fragId) {
fragList.getWorldBounds(fragId, fragbBox)
nodebBox.union(fragbBox)
})
return nodebBox
}