您好,web端不能直接获取对象的三维包围盒,所以您需要预先在桌面中获取,然后计算出中心点并将数值写入对象对应的数据集。最后,在插件客户端通过获取中心点以及第一人称相机的位置,计算出距离。
详细步骤:
1、在iDesktop中,将模型数据集加载至场景中,然后【对象操作】-【截面与投影】-【获取投影面】(如果手头的数据是CAD数据集,则需要先类型转换成模型数据集,然后再执行此步骤)
2、通过获取的投影面数据集中的四至(SMSDRI开头的四个属性)算出中心点的经纬度,然后通过minZ和maxZ算出中心点的高度。在原模型数据集中新增三个字段,然后将获取的中心点XYZ赋予新增的字段
3、生成osgb缓存并发布
4、在插件客户端中,通过layer3Dosgb.getAllFieldValueOfLastSelectedObject();获取对象的中心点(刚刚新增的三个字段),然后通过scene.get_firstPersonCamera()获取相机然后获取它的位置
5、通过这两个位置计算出相机到对象的距离