查看: 854|回复: 3

关于更新回调的问题

[复制链接]

该用户从未签到

发表于 2011-7-8 09:29:57 | 显示全部楼层 |阅读模式
问题描述:
     我现在有一个模型,找到了其中的两个节点,我要通过不停地检测两个节点包围球中心点的坐标值,当小于某一值时,把一个节点加到另一个结点上。
  objectNode = osgFunc2_4::findNamedNode("重物",mModel.get());
  objectPAT = createNormalizedPAT(objectNode);
  objectBB = osgFunc2_4::ComputeBoundsBox(objectPAT.get());
  activeNode = osgFunc2_4::findNamedNode("活动的吊钩",mModel.get());
  activePAT = createNormalizedPAT(activeNode);
  activeNodeBB = osgFunc2_4::ComputeBoundsBox(activePAT.get());
我现在不做任何检测,通过下面两行可以把一个节点加到另一个节点上,但是这段代码在一个函数当中,无法做到不停地检测,
所以我想把下面两句写到一个更新回调里面,但是程序运行之后,两个节点没有任何反应。
不知道怎么搞了,,,向各位求救
  //objectPAT->setPosition(osg::Vec3(activeNodeBB.center()-osg::Vec3(0,0,2.67)));
  //activeNode->asGroup()->addChild(objectPAT.get());

该用户从未签到

 楼主| 发表于 2011-7-8 09:32:48 | 显示全部楼层
objectCallback = new CObjectCallback   (objectNode,objectPAT,objectBB,activeNode,activeNodeBB);
objectNode->setUpdateCallback(objectCallback);
这个是更新回调语句

该用户从未签到

发表于 2011-7-8 15:42:53 | 显示全部楼层
我看不懂您都做了什么,以及您的问题是什么

该用户从未签到

发表于 2011-7-8 16:54:46 | 显示全部楼层
呵呵,他的意思是在更新回调中包围盒的位置没有改变,因此无法做到通过检测坐标来完成吊钩吊取货物的过程。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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