|
本帖最后由 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 还需要进行转换?恳请您的指点 |
|