OSG中如何在鼠标点击某一个可绘制体时获取这个绘制体对象?

似水流年1990 2015-06-09 02:01:09
一个场景中我用了一个叶子节点Geode,在此叶子节点下addDrawable了100个Geometry几何体对象。由此产生了100个四边形平面。现在我想着用鼠标点击某一个Geometry四边形时,将它改变成立方体。由此产生了一个问题,我点击了某一个面,怎么知道点击了这个面,然后对点击的面进行指定的操作哪。
网上的OSG问题太少了。暂不知如何解决,大神赐教!谢谢
...全文
1898 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
天涯泛孤舟 2016-08-17
  • 打赏
  • 举报
回复
您好,你遇到这些OSG问题时都是从哪里获取解决方案呢?
似水流年1990 2015-06-11
  • 打赏
  • 举报
回复 1
已解决:解决方法: //创建一个线段交集检测对象 osgUtil::LineSegmentIntersector::Intersections intersections; float x = ea.getX(); float y = ea.getY(); if (viewer->computeIntersections(x,y,intersections)) { //得到相交交集的交点 /*for(osgUtil::LineSegmentIntersector::Intersections::iterator hitr = intersections.begin(); hitr != intersections.end(); ++hitr)*/ osgUtil::LineSegmentIntersector::Intersections::iterator hitr = intersections.begin();//找到第一个交接点即可 然后: (*hitr).drawable->getBound().center()找到这个几何体的中心位置进行下一步操作即可
似水流年1990 2015-06-09
  • 打赏
  • 举报
回复
大神点到即可。OSG的资料为何如此至少?

1,451

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 图象工具使用
社区管理员
  • 图象工具使用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧