1.
计算位置
function worldToClient(dbid){
var it = _viewer.model.getData().instanceTree;
it.enumNodeFragments(dbid,(fragId,dbid)=>{
var nodebBox = new THREE.Box3();
var fragbBox = new THREE.Box3();
var fragList = _viewer.model.getFragmentList();//这里如何获取指定模型1 模型2来调用getFragmentList接口
fragList.getWorldBounds(fragId, fragbBox);
nodebBox.union(fragbBox);
var center = nodebBox.center();
var c = _viewer.impl.worldToClient(center);
console.log(c.x,c.y);//两次获取的坐标不一样
},true);
}
_viewer.loadModel("模型1")
worldToClient(dbid)
_viewer.loadModel("模型2")
worldToClient(dbid)
通过 _viewer.impl.modelQueue().getModels() 获取model 数组
如
firstmodel = _viewer.impl.modelQueue().getModels()[0].
对应调用firstmodel.getFragmentList();即可。
感谢康大神