查看: 1948|回复: 17

请教array一个问题!

[复制链接]

该用户从未签到

发表于 2009-6-25 19:08:56 | 显示全部楼层 |阅读模式
请问在osgModeling中subdivision、LoopSubdivision和Sqrt3Subdivision 的主要用途是什么?谢谢

该用户从未签到

发表于 2009-6-25 21:06:05 | 显示全部楼层
执行表面细分的功能,即把一个简单多边形复杂化;和多边形简化是相反的过程。
Lopp和Sqrt3是两种常见的细化算法的实现

该用户从未签到

 楼主| 发表于 2009-6-25 21:27:54 | 显示全部楼层
谢谢,再请教一下array,osgModeling:olyMesh::Edge如何使用?为什么我总是初始化不了呢?我用的是osgModeling::PolyMesh::Edge* _edge=new osgModeling::PolyMesh::Edge(osg::Vec3(0.0,0.0,10.0),osg::Vec3(11.0,0.0,10.0),0);

该用户从未签到

发表于 2009-6-25 22:41:30 | 显示全部楼层
这个类是构建Polymesh的时候自行调用的,目前没有提供用户操作它的接口。可以用ModelVisitor来构成物体的PolyMesh(网格结构)并用于布尔计算,表面细化等工作。

该用户从未签到

 楼主| 发表于 2009-6-26 08:48:26 | 显示全部楼层
那么findEdgeList (Face *f, EdgeList &elist)和findEdgeList (Edge *e, EdgeList &elist0, EdgeList &elist1)是否就不能调用了?请问array有执行相关功能的其他函数吗?

该用户从未签到

发表于 2009-6-26 09:06:38 | 显示全部楼层
这都是内部调用的,不知您计划使用这些函数完成什么功能

该用户从未签到

 楼主| 发表于 2009-6-26 09:13:09 | 显示全部楼层
呵呵,只想学习一下array的osgModeling!

该用户从未签到

 楼主| 发表于 2009-6-26 09:21:51 | 显示全部楼层
继续请问一下,假如我就想得到与一个特定顶点所相连的所有边、顶点、面的信息,能否使用osgModeling实现?

该用户从未签到

发表于 2009-6-26 09:33:18 | 显示全部楼层
那么可以这样做:
先通过ModelVisitor把模型转为PolyMesh;
给定一个点,用findEdgeList找出与它相接的所有边,数据将保存到EdgeList列表中
用findNeighbors找出与这个点共享同一条边的点
等等……

该用户从未签到

 楼主| 发表于 2009-6-26 09:48:45 | 显示全部楼层
看来只能这样了,“ModelVisitor把模型转为PolyMesh”?是否就能将PolyMesh模型形式用于所有Node了?现在我是直接设定的osgModeling:olyMesh* _polymesh=new osgModeling::PolyMesh(*_geom);只能转化geom类型的,请问,“ModelVisitor把模型转为PolyMesh”怎样实现?

该用户从未签到

发表于 2009-6-26 09:58:47 | 显示全部楼层
PolyMesh只能作用于Geometry对象,因为它本身也是Geometry~~
欢迎您对osgModeling提出各种建议和提交BUG更改,更希望您参与到它的开发中来~~osgModeling预计在年底会重新起步,扩展新的功能~~

该用户从未签到

 楼主| 发表于 2009-6-26 10:06:16 | 显示全部楼层
感觉把PolyMesh的对象扩展到node类型是不是会更实用一些?

该用户从未签到

发表于 2009-6-26 10:20:56 | 显示全部楼层
这样也许不好,因为PolyMesh依然只是Geometry,因此节点结构会被破坏掉。至于能否把PolyMesh改为Node类型……我想我个人设计不出既有点、线、面信息又有父子结构的对象来

该用户从未签到

 楼主| 发表于 2009-6-26 10:25:58 | 显示全部楼层
那么如果要得到一个Node类型节点中与一个特殊点相关联点信息,是不是得用遍历或者链表了?

该用户从未签到

发表于 2009-6-26 11:10:38 | 显示全部楼层
目前是这样,如果您有更好的方案,不妨深入讨论

该用户从未签到

 楼主| 发表于 2009-6-26 11:18:32 | 显示全部楼层
能否通过osgUtil::Intersector 获得一些与一个特殊点相关联的点、线、面信息?

该用户从未签到

发表于 2009-6-26 11:24:30 | 显示全部楼层
Intersector目前做不到这一点

该用户从未签到

 楼主| 发表于 2009-6-26 11:31:30 | 显示全部楼层
只能求出交点?多面体与多面体、线和面相交求出的也只是交点?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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