|
发表于 2010-5-6 23:34:37
|
显示全部楼层
似乎没有很好的方法,,你可以让这个节点直接不接受pick的访问器~~~~~或者采用OpenGL的方式绘制(这个是我最近发现的一个问题,OpenGL指令方式绘制的东西拾取不到~~~不知道运行的一个BUG,还是其他的问题,,拾取不到),我的代码是这样的,貌似看不出问题:
- //osgUtil:ineSegmentIntersector* picker = new osgUtil:ineSegmentIntersector( osgUtil::Intersector:ROJECTION,ea.getXnormalized(),ea.getYnormalized());
- //osgUtil::IntersectionVisitor iv(picker);
- //viewer->getCamera()->accept(iv);
- ////viewer->getSceneData()->accept(iv);
- //if (picker->containsIntersections())
- //{
- // osgUtil:ineSegmentIntersector::Intersection intersection = picker->getFirstIntersection();
- // //输入流
- // os<<"鼠标位置 X:"<< intersection.getWorldIntersectPoint().x()<<" Y: "<<
- // intersection.getWorldIntersectPoint().y()<<" Z: "<< intersection.getWorldIntersectPoint().z()<<std::endl ;
- //}
-
复制代码 |
|