查看: 970|回复: 3

glider ->asGroup() ->addChild(osgDB::readNodeFile("A“)感觉指针出错

[复制链接]

该用户从未签到

发表于 2014-10-21 18:12:45 | 显示全部楼层 |阅读模式
#include<osgDB/Readfile>
#include<osgViewer/Viewer>
#include<osg/Node>

void main()
{
osgViewer::Viewer viewer;
  
osg::Group* root = new osg::Group() ;
  osg::Node* glider = osgDB::readNodeFile("glider.osg") ;
  root ->addChild(glider) ;
  glider ->asGroup() ->addChild(osgDB::readNodeFile("cessna.osg")) ;

  root ->addChild(osgDB::readNodeFile("cow.osg")) ;
  viewer.setSceneData(root);
  viewer.realize();
  viewer.run();
}
如上,运行的时候出错,设断点调试感觉是glider ->asGroup() ->addChild(osgDB::readNodeFile("cessna.osg")) ; 出错了,asGroup()没有返回值

调试出错

调试出错

运行出错

运行出错

该用户从未签到

发表于 2014-10-21 20:35:01 | 显示全部楼层
glider是一个geode不是group,asgroup()返回是一个NULL,肯定报错啊
你完全可以加一个if条件进行控制嘛

该用户从未签到

发表于 2015-5-25 17:26:35 | 显示全部楼层
buaahc 发表于 2014-10-21 20:35
glider是一个geode不是group,asgroup()返回是一个NULL,肯定报错啊
你完全可以加一个if条件进行控制嘛

的确是这个问题,请问现在如何做才能在飞机上加东西呢?

该用户从未签到

发表于 2015-5-29 16:04:03 | 显示全部楼层
wjz2047 发表于 2015-5-25 17:26
的确是这个问题,请问现在如何做才能在飞机上加东西呢?

为什么非要那样去加。

请问您使用过MatrixTransform类吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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