查看: 1811|回复: 12

关于拖曳器的移动

[复制链接]

该用户从未签到

发表于 2012-11-30 09:18:38 | 显示全部楼层 |阅读模式
本帖最后由 木子匕 于 2012-11-30 09:19 编辑

比如我有一根线段,用平移,旋转拖曳器对它移动后!怎么获取移动后的起始和终止坐标!

该用户从未签到

发表于 2012-11-30 09:42:13 | 显示全部楼层
起始坐标需要从判断当前的节点被操作然后保存坐标或者从写拖拽器,终止坐标就是getWorldMatrix

该用户从未签到

 楼主| 发表于 2012-11-30 12:24:59 | 显示全部楼层
getWorldMatrix是拖曳器移动后矩阵吗

该用户从未签到

发表于 2012-11-30 12:30:49 | 显示全部楼层
哪里都行,只要知道有拖拽器操作这个节点就行,操作之前使用就是获得之前的坐标,操作之后使用就是获得终止坐标

该用户从未签到

 楼主| 发表于 2012-11-30 13:12:02 | 显示全部楼层
getWorldMatrix这个属于那个类的函数啊!

该用户从未签到

发表于 2012-11-30 13:21:50 | 显示全部楼层
本帖最后由 liuzhiyu123 于 2012-11-30 13:23 编辑

就是跟osg::computeLocalToWorld一样功效的函数 osg::Node::getWorldMatrices

该用户从未签到

 楼主| 发表于 2012-11-30 14:53:26 | 显示全部楼层
getWorldMatrices获得的一系列矩阵是不是就是从本地坐标转换到世界坐标中的矩阵啊!
已知起始的一个坐标osg::vec3 只需*这一系列矩阵就可以吗

该用户从未签到

 楼主| 发表于 2012-11-30 16:44:04 | 显示全部楼层
刚发现节点没移动前,获取的只有一个
{1,0,0,0}
{0,1,0,0}
{0,0,1,0}
{0,0,0,1}的矩阵
!使用拖曳器移动后获取的是偏移矩阵!完成了我的设想!

另外问下!不适用默认的拖曳器Geomtry!如果使用另外的拖曳器模型

该用户从未签到

发表于 2012-12-3 08:31:18 | 显示全部楼层
??跟你拖拽器下面的Geomtry没关系,它的作用就是求交点的

该用户从未签到

 楼主| 发表于 2012-12-3 08:56:38 | 显示全部楼层
liuzhiyu123 发表于 2012-12-3 08:31
??跟你拖拽器下面的Geomtry没关系,它的作用就是求交点的

打错了!不使用setDefualGeomtry默认的拖曳器!如何使用自定义的拖曳器!

该用户从未签到

发表于 2012-12-3 08:57:54 | 显示全部楼层
http://bbs.osgchina.org/forum.ph ... &extra=page%3D1 就是重载这个函数setDefualGeomtry

该用户从未签到

 楼主| 发表于 2012-12-5 17:43:27 | 显示全部楼层
本帖最后由 木子匕 于 2012-12-5 17:44 编辑
liuzhiyu123 发表于 2012-12-3 08:57
http://bbs.osgchina.org/forum.ph ... &extra=page%3D1 就是重载这个函数setDefualGe ...


意思是继承osg的drager类写个mydrager类吗?只需要要重载setDefualGeomtry函数吗?其他的直接用基类的不会出问题!!

该用户从未签到

发表于 2012-12-6 07:42:46 | 显示全部楼层
本帖最后由 liuzhiyu123 于 2012-12-6 07:44 编辑

看了不就知道了,在不清楚自己扣腚试试,验证之后在问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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