osg中位置变换节点(osg::PositionAttitudeTransform)和矩阵变换节点(osg::MatrixTransform)的区别

本文介绍了osg库中的两种变换节点:PositionAttitudeTransform和MatrixTransform。PositionAttitudeTransform主要用于位置、姿态和缩放的设置,提供setPosition、setAttitude和setScale等方法;而MatrixTransform则通过设置矩阵实现更复杂的场景变换,如旋转和平移,提供了setMatrix、preMult和postMult等函数。
摘要由CSDN通过智能技术生成

位置变换节点(osg::PositionAttitudeTransform)

位置变换节点(osg::PositionAttitudeTransform)是一个位置变换节点,继承自osg::Transform,主要作用是提供模型的位置变换、大小缩放、原点位置的设置以及坐标系的变换。

其主要成员函数如下:

void setPosition(const Vec3d &pos) //设置位置

const Vec3d &getPosition() const   //得到位置

void setAttitude(const Quat &quat)   //设置姿态,参数为四元数

const Quat & getAttitude() const     //得到姿态

void setScale(const Vec3d &scale)  //设置缩放

const Vec3d & getScale() const   //得到缩放

void setPivotPoint(const Vec3d &pivot) //设置远点(自定义原点位置,一旦设置以后,所有变换均基于该远点)

const Vec3d & getPivotPoint() const //得到原点

位置变换节点实例:

#include <osgViewer/Viewer>

#include <osg/Node>
#include <osg/Geode>
#include <osg/Group>
#include <osg/PositionAttitudeTransform>

#include <osgDB/ReadFile>
#include <
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值