查看: 2261|回复: 3

关于osgModeling 管道

[复制链接]

该用户从未签到

发表于 2013-3-6 09:39:10 | 显示全部楼层 |阅读模式
最近学习osgModeling,用LOFT生成管道,效果是初始场景没有任何三维图形,但是当按下“W”键,显示网格的时候,会出现这种情况,如图 12命名.jpg ,这是有错误的,应该生成这样的管道,而且有的情况可以生成 2名.jpg 至今不知道原因,根据得到的一组点,假设为pointArray,

osg::ref_ptr<osgModeling:oft> geom = new osgModeling::Loft;
        osg::ref_ptr<osgModeling::Curve> section = new osgModeling::Curve;
        for (int i=0;i<num;i++)//num 为pointArray中点的个数
        {
                section->setAlgorithmCallback( new CircleCallback(Radius));
                geom->addShape(section.get());
                section->update();
        }//代码跟踪的结果是section里面含有callback中设置的点数
        osg::ref_ptr<osgModeling::Curve> path1 = new osgModeling::Curve;
        path1->setPath(pointArray);
        geom->setProfile( path1.get() );
        geom->updateImplementation();
geode->addDrawable(geom.get());
将geode写出为osg文件,发现 VertexArray Vec3Array 8000,也就是说点数是对的,但是坐标都是相同的,同pointArray的第一个点,后面的记录依次是下面的点,但是重复个数就是每个section的点数(设为2000),所以只出现一条线,见图 1命名.jpg
不知道是什么原因,数据都是同一个,为什么有的记录可以生成管道,有的不可以呢?谁知道原因啊,help……

该用户从未签到

发表于 2013-3-6 09:56:51 | 显示全部楼层
osgModeling并不是一个经过商业应用的库,事实上它是我初学osg时候的个人作品罢了。。。所以您使用的时候难免要面对各种可能的风险,所以也不排除是代码本身的问题

该用户从未签到

 楼主| 发表于 2013-3-6 14:34:04 | 显示全部楼层
array 发表于 2013-3-6 09:56
osgModeling并不是一个经过商业应用的库,事实上它是我初学osg时候的个人作品罢了。。。所以您使用的时候难 ...

解决了,谢谢Array,膜拜……

该用户从未签到

发表于 2014-5-4 18:01:06 | 显示全部楼层
objectarx 发表于 2014-4-30 11:57
我操你妈,最讨厌你这样的,说解决了,怎么解决的连屁也不放

你不会好好说话吗?骂人人家就会告诉你,不可理解,建议管理员封号。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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