查看: 1401|回复: 2

如何访问到switch节点下的各个属性

[复制链接]

该用户从未签到

发表于 2010-11-3 11:30:32 | 显示全部楼层 |阅读模式
各位高手,我有一个flt的路灯的模型,下面有一个switch节点叫“sw1”,此节点下多个颜色属性,可见图。。
//创建Viewer对象,场景浏览器
osg::ref_ptr<osgViewer::Viewer> viewer = new osgViewer::Viewer();
osg::ref_ptr<osg::Group> root = new osg::Group();
//创建一个节点,读取信号机的模型
osg::ref_ptr<osg::Node> node = osgDB::readNodeFile("xinhaoji.flt");
//创建节点查找访问器
FindNodeVisitor xinhao("sw1");
//启动访问器,开始执行遍历
node->accept(xinhao);
osgSim::MultiSwitch* dengSwitch = dynamic_cast <osgSim::MultiSwitch*> (xinhao.getFirst());
if (dengSwitch)
{
  dengSwitch->setSingleChildOn(0,true);  
}
我已经可以搜索到sw1,利用xinhao.getFirst()搜索到第一个,但是现在不知道怎么继续搜索剩下的节点。。请指教,谢谢了!
未命名1.jpg

该用户从未签到

发表于 2010-11-3 12:50:23 | 显示全部楼层
如果您了解节点访问器的原理,这肯定不是问题。而对于您当前的这个结构,如果想要知道sw1的子节点都有什么的话,也完全可以直接使用sw1->getNumChildren()和sw1->getChild(i)配合获取

该用户从未签到

发表于 2010-11-3 13:09:43 | 显示全部楼层
学习啦!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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