查看: 1128|回复: 1

鼠标拾取问题

[复制链接]

该用户从未签到

发表于 2010-7-21 15:30:58 | 显示全部楼层 |阅读模式
我创建的场景结构如下:根节点下有组节点group,下面有selection和switch。外部导入的模型保存为selection的孩子,另外每个switch下面包含一个dragger,初始的时候switch节点的孩子全部关闭,鼠标拾取,点击哪个模型,显示相应的dragger。
现在的问题是:导入多个模型,前十个模型点击任意会显示相应的dragger,但是到第11个之后,就会从第一个导入的模型的dragger开始顺序显示:如,我点击第11个模型,dragger显示在第1个上面,点击第12个模型,dragger显示在第2个上面。

  1. osgUtil:ineSegmentIntersector::Intersections intersections;
  2.   if (view->computeIntersections(x,y,intersections))
  3.   {
  4.    osgUtil:ineSegmentIntersector::Intersection intersection = *intersections.begin();
  5.    osg::NodePath& nodePath = intersection.nodePath;
  6.    //得到物体
  7.    selectDNode = (nodePath.size()>=1)?nodePath[nodePath.size()-1]:0;
复制代码
是不是这里代码的问题?其他的我也检查不出来什么问题了。

该用户从未签到

 楼主| 发表于 2010-7-21 16:04:08 | 显示全部楼层
找到原因了,是我自己的问题。这段代码是正确的,大家可以参考。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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