首页 / 浏览问题 / 三维GIS / 问题详情
获取相机到对象的距离
84EXP 2018年02月03日
使用产品:iserver 8c 810 操作系统:win10 x64
数据类型: 无
问题详细描述:web三维插件开发,想要获取三维相机到对象的距离,怎么实现
问题重现步骤:

1个回答

您好,web端不能直接获取对象的三维包围盒,所以您需要预先在桌面中获取,然后计算出中心点并将数值写入对象对应的数据集。最后,在插件客户端通过获取中心点以及第一人称相机的位置,计算出距离。

详细步骤:

1、在iDesktop中,将模型数据集加载至场景中,然后【对象操作】-【截面与投影】-【获取投影面】(如果手头的数据是CAD数据集,则需要先类型转换成模型数据集,然后再执行此步骤)

2、通过获取的投影面数据集中的四至(SMSDRI开头的四个属性)算出中心点的经纬度,然后通过minZ和maxZ算出中心点的高度。在原模型数据集中新增三个字段,然后将获取的中心点XYZ赋予新增的字段

3、生成osgb缓存并发布

4、在插件客户端中,通过layer3Dosgb.getAllFieldValueOfLastSelectedObject();获取对象的中心点(刚刚新增的三个字段),然后通过scene.get_firstPersonCamera()获取相机然后获取它的位置

5、通过这两个位置计算出相机到对象的距离
5,560EXP 2018年02月05日

你所说得是这个功能嘛 ,是的话我这边将模型数据数据集加载上去,功能是灰色不可用状态

如果手头的数据是CAD数据集,则需要先类型转换成模型数据集,然后再执行此步骤

类型转换:数据 - 类型转换
...