查看: 1344|回复: 4

MFC框架下,pick函数中scribe->addChild(node.get()),有问题

[复制链接]

该用户从未签到

发表于 2013-1-25 09:53:57 | 显示全部楼层 |阅读模式
在MFC框架下的osg模型编辑
其中,我用到了pick的功能,

现在将pick的代码copy到我的项目中
编译没有问题,运行的时候也正常
但是我一点击视图中的模型时,就会出现错误,访问出错

访问出错

访问出错

在如下代码中:

                if(parent.get()&&node.get())
                {
                        osg::ref_ptr<osgFX::Scribe> parentAsScribe = dynamic_cast<osgFX::Scribe*>(parent.get());
                        if(!parentAsScribe)
                        {
                                osg::ref_ptr<osgFX::Scribe> scribe = new osgFX::Scribe();
                               scribe->addChild(node.get());
                                parent->replaceChild(node.get(),scribe.get());
                        }
                        else
                        {
                                //如果没有选择到,则移除高亮显示的对象
                                osg::Node:arentList parentList = parentAsScribe->getParents();
                                for(osg::Node::ParentList::iterator itr = parentList.begin();
                                itr!= parentList.end(); ++itr)
                                {
                                        (*itr)->replaceChild(parentAsScribe.get(),node.get());
                                }
                        }
的红色部分scribe->addChild(node.get())运行出问题,我找了很久,不知道为什么,现在十分着急,恳请你的帮忙,万分感谢!!!!

该用户从未签到

发表于 2013-1-25 11:19:32 | 显示全部楼层
你的这段代码里应该没什么问题,检查下其他地方吧

该用户从未签到

 楼主| 发表于 2013-1-25 11:25:21 | 显示全部楼层
小手一拿 发表于 2013-1-25 11:19
你的这段代码里应该没什么问题,检查下其他地方吧

恩恩,已经在找了很久了,可以很好地读取模型,可是就是不能拾取,不知道该如何找错误啊

该用户从未签到

 楼主| 发表于 2013-1-25 11:44:59 | 显示全部楼层
小手一拿 发表于 2013-1-25 11:19
你的这段代码里应该没什么问题,检查下其他地方吧

明白了,比较初级的错误,附加选项库的时候osgFX.lib应该写成osgFXd.lib的所有的库都是在debug下编译的,而osgFX.lib是在release下的附加库,谢谢!!!!

该用户从未签到

发表于 2013-1-27 09:02:05 | 显示全部楼层
super小超超 发表于 2013-1-25 11:44
明白了,比较初级的错误,附加选项库的时候osgFX.lib应该写成osgFXd.lib的所有的库都是在debug下编译的, ...

这个是必须注意的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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