查看: 1809|回复: 7

关于节点设置问题

[复制链接]

该用户从未签到

发表于 2010-5-18 11:37:12 | 显示全部楼层 |阅读模式
我的节点结构是root-selection-node,在添加到selection的时候,
Node->getOrCreateStateSet()->setMode(GL_NORMALIZE, osg::StateAttribute::ON);
其中node是osgDB::readNodeFile(“cow.osg”);
之后再对节点进行遍历,找到cow.osg中的geode节点,进行高亮显示。
现在的问题是,遍历root时候找不到geode,但是遍历node的时候就可以找到。
我的viewer接收的数据是root,我该怎么设置,才能在viewer中看到高亮的节点呢?

该用户从未签到

发表于 2010-5-18 11:58:05 | 显示全部楼层
root的子节点才有数据啊,要设置向下遍历啊

该用户从未签到

 楼主| 发表于 2010-5-18 14:52:56 | 显示全部楼层
就是从root开始向下遍历的,但是就找不到geode节点

该用户从未签到

发表于 2010-5-18 19:00:39 | 显示全部楼层
遍历代码呢?

该用户从未签到

 楼主| 发表于 2010-5-19 09:47:34 | 显示全部楼层
4# tianxiao888
  1. root->accept(highVisitor);
复制代码
但是如果我换成
  1. node->accept(highVisitor);
复制代码
就是可以的。

该用户从未签到

发表于 2010-5-19 10:14:03 | 显示全部楼层
你的访问器的Apply函数里需要加入tranverse函数,不知你加入没有

该用户从未签到

发表于 2010-5-19 10:54:04 | 显示全部楼层
是啊,要你visitor的代码

该用户从未签到

 楼主| 发表于 2010-5-20 16:27:28 | 显示全部楼层
7# tianxiao888
已经解决了,是因为我在加入了节点进行了坐标变换的缘故,谢谢大家!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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