查看: 1163|回复: 3

节点回调嵌套问题

[复制链接]

该用户从未签到

发表于 2011-1-18 12:53:59 | 显示全部楼层 |阅读模式
请问在一个节点回调里面可以嵌套另一个节点回调吗
operator()
{
node->addUpdateCallback(new XXX());
traverse(node, nv);

}

自己测试发现,回调一直在XXX中,无法跳转到外层的operator
其中xxx中也有traverse(node, nv);

该用户从未签到

发表于 2011-1-18 13:27:17 | 显示全部楼层
在回调操作中,应该不允许添加新的回调函数。这样每一次回调都会增加一个新的函数,导致最后回调函数很多。
可以选择在外面一次设置完成。

该用户从未签到

 楼主| 发表于 2011-1-18 14:04:22 | 显示全部楼层
2# qele
这个可以new,在构造函数中完成,然后将指针addupdatecallback,我奇怪的是仿佛只有一个回调在执行。

该用户从未签到

发表于 2011-1-19 08:15:22 | 显示全部楼层
addUpdateCallback可以为一个节点添加多个回调对象,这些回调对象之间通过getNestedCallback()互相调用,因此必须在operator()中使用traverse()来指示向下一个回调或者下一级节点传递

您的addUpdateCallback似乎写在了某个回调的执行过程当中?这种逻辑显然是有问题的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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