查看: 2092|回复: 4

关于NodeMask……

[复制链接]

该用户从未签到

发表于 2010-5-30 15:48:48 | 显示全部楼层 |阅读模式
osgUtil::IntersectVisitor findTankElevationVisitor;
findTankElevationVisitor.addLineSegment(tankLocationSegment);
m_floor->accept(findTankElevationVisitor);
请问这里可不可以对IntersectVisitor使用NodeMask限制访问那些节点?
教程说validnodemask是自动被accept调用的,那么在m_floor->accept(findTankElevationVisitor);这句中是不是就自动只访问m_floor节点呢?
还是还是会遍历所有节点?

该用户从未签到

发表于 2010-5-31 09:31:04 | 显示全部楼层
可以设置节点的NodeMask,同时设置IntersectionVisitor的TraverseMask(注意不是IntersectVisitor,这个类仅仅是用来保持向后兼容的),以实现对于特定节点的求交(两个Mask的与操作不为零时,允许求交,否则略过该节点以及它的所有子节点)。

该用户从未签到

 楼主| 发表于 2010-5-31 11:53:06 | 显示全部楼层
可以设置节点的NodeMask,同时设置IntersectionVisitor的TraverseMask(注意不是IntersectVisitor,这个类仅仅是用来保持向后兼容的),以实现对于特定节点的求交(两个Mask的与操作不为零时,允许求交,否则略过该节 ...
array 发表于 2010-5-31 09:31

突然发现一个问题,nodemask会让节点隐藏了不显示?我可不可以显示但不访问呢?

该用户从未签到

发表于 2010-5-31 12:33:03 | 显示全部楼层
nodemask会让节点隐藏了不显示
设置为0表示节点被自动裁减,因此不会再显示
我可不可以显示但不访问呢?
可以,并且我似乎已经在楼上介绍了相应的方法

该用户从未签到

 楼主| 发表于 2010-6-1 13:11:22 | 显示全部楼层
设置为0表示节点被自动裁减,因此不会再显示
可以,并且我似乎已经在楼上介绍了相应的方法
array 发表于 2010-5-31 12:33

我明白啦~~~~~谢谢~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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