查看: 780|回复: 5

如何删除掉多余的立多面体?

[复制链接]

该用户从未签到

发表于 2014-8-10 13:35:36 | 显示全部楼层 |阅读模式
如题,现在需要实现一个多面体,刚开始高度为零,然后拉起一个高度。现主要问题是由于每拉起一个高度就会有一个立方体,如何删除掉之前的高度,只留下最后一个呢?新人求教!

该用户从未签到

发表于 2014-8-10 14:31:32 | 显示全部楼层
removechild

该用户从未签到

 楼主| 发表于 2014-8-10 14:38:00 | 显示全部楼层

我是在事件响应中使用求交,Drag的时候会求交,返回的是该点当时的Z坐标,怎么把前面的Z坐标释放呢?
case osgGA::GUIEventAdapter:RAG:
                                {
                                        osgUtil:ineSegmentIntersector::Intersections inters;  
                                    if(viewer->computeIntersections(ea.getX(),ea.getY(),inters))
                                        {
                                                osgUtil::LineSegmentIntersector::Intersections::iterator iter=inters.begin();

                                                osg::Vec3d pos = iter->getWorldIntersectPoint()
                                                pos.z() += 0.1;
                                                viewer->getSceneData()->asGroup()->addChild(createCube(osg::Vec3(0.0,0.0,1.0),pos.z()));
                                     }

该用户从未签到

 楼主| 发表于 2014-8-10 15:00:08 | 显示全部楼层
怎么继续啊?自己顶!等大神!!

该用户从未签到

发表于 2014-8-10 19:59:05 | 显示全部楼层
addChild前先把子节点都删除 大概是用 group->removechildern(0,group->getchildernNum)
如果有固定场景,自己把节点纷纷组,设计下树结构。

该用户从未签到

发表于 2014-8-10 19:59:18 | 显示全部楼层
addChild前先把子节点都删除 大概是用 group->removechildern(0,group->getchildernNum)
如果有固定场景,自己把节点纷纷组,设计下树结构。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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