查看: 1219|回复: 4

请教问题

[复制链接]

该用户从未签到

发表于 2009-11-30 13:41:22 | 显示全部楼层 |阅读模式
OSG可以实现拾取点的功能吗?即:用鼠标点击物体上一点,获得最近的点击点的坐标值和法向量 麻烦达人解答一下

该用户从未签到

发表于 2009-11-30 13:51:57 | 显示全部楼层
osgUtil::IntersectionVisitor以及LineSegmentIntersector正是您所需要的。osgpick则可以完整地演示获取鼠标点击位置的方法

该用户从未签到

 楼主| 发表于 2009-11-30 14:49:19 | 显示全部楼层
但是OSGpick获得的坐标无法区分重叠部分的坐标值吧 比如一个空心圆柱,如果我点击离我最近的外表面,在某个位置可能会获得四个点的坐标值。如果我只想获得我想要的一点的坐标值,可以实现吗?有没有判别方法呢?
2# array

该用户从未签到

发表于 2009-11-30 16:58:55 | 显示全部楼层
当然可以区分重叠,getIntersections()返回的列表中,是按照交点与视点的远近距离排序的~~getIntersections().begin()就是“离我最近的外表面”,end()就是最远的

该用户从未签到

 楼主| 发表于 2009-12-1 09:29:47 | 显示全部楼层
我对OSG还不是很熟 谢谢array的指点!有问题再向您讨教~~
4# array
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表