查看: 2335|回复: 2

关于osgModeling进行布尔运算的问题

[复制链接]

该用户从未签到

发表于 2011-12-15 20:00:31 | 显示全部楼层 |阅读模式
本帖最后由 hgyzj 于 2011-12-15 20:24 编辑

锐哥参与编写的osgModeling今天有幸学习,遇到了点问题,想寻求您的帮助。
我在运行示例程序osgmodelingboolean时,在createBoolean()函数里有这么一句
osg:: ref_ptr<osgModeling:: Model> model1 = new osgModeling:: Model( *createFirstOperator() );
osg:: ref_ptr<osgModeling:: Model> model2 = new osgModeling:: Model( *createSecondOperator() );
传入的参数是osg::Geometry的指针所指的对象,我把它换成自己的函数,画了一个面或者立方体,用的是osg:: Geometry的标准画法,设置顶点,geom->addPrimitiveSet(new osg:: DrawArrays( osg:: PrimitiveSet:: QUADS, 0, 24 ) )。在别的程序测试过没有问题,而且返回的也是指针,替换到这一运行就报错:
" osgmodelingboolean.exe 中的 0x7c812afb 处未处理的异常: Microsoft C++ 异常: 内存位置 0x00dbf4d4 处的 std::bad_alloc。"   请问这是什么原因呢?是不是这种形式创建的Geometry 还需要进行转换?恳请您的指点

该用户从未签到

发表于 2011-12-16 12:58:34 | 显示全部楼层
这个库不会再更新了,未来的osgModeling将完全依赖于CGAL并且放入osgXI中
不过看起来您的问题和osgModeling没有什么关系,更像是您错误地配置工程的结果,请检查自己的依赖库版本和当前工程是否相符,以及是否混用了debug/release

该用户从未签到

 楼主| 发表于 2011-12-16 14:18:20 | 显示全部楼层
非常感谢锐哥,我用release试就能显示了,可能是我生成的时候一个库混用导致的,因为是运行时报错,所以没往那方面想,锐哥厉害,一语中的,再次谢过!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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