没有合适的资源?快使用搜索试试~ 我知道了~
osg节点拾取
5星 · 超过95%的资源 需积分: 41 17 下载量 169 浏览量
2019-04-29
22:38:55
上传
评论 3
收藏 1KB TXT 举报
温馨提示
试读
2页
最简洁的节点拾取代码。功能为点击节点后变为透明。可基于此基础改进功能。
资源推荐
资源详情
资源评论
#include <osgViewer/Viewer>
#include <osgDB/ReadFile>
#include <osgGA/GUIEventHandler>
class nodePick :public osgGA::GUIEventHandler
{
virtual bool handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa)
{
osgViewer::Viewer *viewer = dynamic_cast<osgViewer::Viewer*> (&aa);
switch (ea.getEventType())
{
case osgGA::GUIEventAdapter::PUSH:
{
osgUtil::LineSegmentIntersector::Intersections intersections;
osg::ref_ptr<osg::Node> node = new osg::Node;
if (viewer->computeIntersections(ea.getX(), ea.getY(), intersections))
{
//得到选择的节点
osgUtil::LineSegmentIntersector::Intersection intersection = *intersections.begin();
osg::NodePath& nodePath = intersection.nodePath;
node = nodePath.back();
//点击节点透明
node->setNodeMask(0);
}
}
default:
return false;
}
}
#include <osgDB/ReadFile>
#include <osgGA/GUIEventHandler>
class nodePick :public osgGA::GUIEventHandler
{
virtual bool handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa)
{
osgViewer::Viewer *viewer = dynamic_cast<osgViewer::Viewer*> (&aa);
switch (ea.getEventType())
{
case osgGA::GUIEventAdapter::PUSH:
{
osgUtil::LineSegmentIntersector::Intersections intersections;
osg::ref_ptr<osg::Node> node = new osg::Node;
if (viewer->computeIntersections(ea.getX(), ea.getY(), intersections))
{
//得到选择的节点
osgUtil::LineSegmentIntersector::Intersection intersection = *intersections.begin();
osg::NodePath& nodePath = intersection.nodePath;
node = nodePath.back();
//点击节点透明
node->setNodeMask(0);
}
}
default:
return false;
}
}
资源评论
- 陈熙昊2023-07-25这个文件详细介绍了OSG节点拾取的原理和方法,对初学者来说很友好。
- 蔓誅裟華2023-07-25这个文件的讲解方式很清晰,即使对于没有任何相关背景知识的人来说也能够理解。
- thebestuzi2023-07-25这个文件提供了一些非常有用的技巧,可以帮助你更轻松地进行OSG节点拾取。
- 图像车间2023-07-25这个文件对于OSG节点拾取的教学很有帮助,易懂而且实用。
- 创业青年骁哥2023-07-25这个文件给出了一些实用的示例代码,可以直接应用到实际项目中。
lemon_haha
- 粉丝: 20
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功