🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ast::Transform类 参考

#include <Transform.hpp>

+ 类 ast::Transform 继承关系图:

Public 成员函数

 Transform ()=default
 
 Transform (const Vector3d &trans, const Rotation &rot)
 
const RotationgetRotation () const
 
RotationgetRotation ()
 
void setRotation (const Rotation &rotation)
 
const Vector3d & getTranslation () const
 
Vector3d & getTranslation ()
 
void setTranslation (const Vector3d &translation)
 
const Matrix3dgetMatrix () const
 
Transformcompose (const Transform &next)
 
Transform composed (const Transform &next) const
 
Transform operator* (const Transform &next) const
 
Transformoperator*= (const Transform &next)
 
void getInverse (Transform &inversed) const
 
Transform inverse () const
 
void setIdentity ()
 
void transformPosition (const Vector3d &position, Vector3d &positionOut) const
 
Vector3d transformPosition (const Vector3d &position) const
 

静态 Public 成员函数

static Transform Identity ()
 

Protected 属性

Vector3d translation_
 
Rotation rotation_
 

详细描述

坐标系转换类

坐标系转换类表示三维空间中的坐标系转换 包括坐标系平移和坐标系旋转

成员函数说明

◆ compose()

A_ALWAYS_INLINE Transform & ast::Transform::compose ( const Transform & next)

组合下一个坐标系转换

警告
组合转换是先应用当前转换,再应用下一个转换。
参数
next下一个转换

◆ composed()

A_ALWAYS_INLINE Transform ast::Transform::composed ( const Transform & next) const

组合下一个坐标系转换

警告
组合转换是先应用当前转换,再应用下一个转换。
参数
next下一个坐标系转换
返回
组合转换

也可以通过 getRotation().transformVectorInv() 来实现。

◆ getInverse()

A_ALWAYS_INLINE void ast::Transform::getInverse ( Transform & inversed) const

获取逆转换

参数
inversed逆转换

◆ getMatrix()

const Matrix3d & ast::Transform::getMatrix ( ) const
inline

获取转换矩阵

返回
转换矩阵

◆ getRotation()

const Rotation & ast::Transform::getRotation ( ) const
inline

获取坐标系旋转

返回
坐标系旋转

◆ getTranslation()

const Vector3d & ast::Transform::getTranslation ( ) const
inline

获取坐标系平移

返回
坐标系平移

◆ Identity()

A_ALWAYS_INLINE Transform ast::Transform::Identity ( )
static

获取单位转换

单位转换是指不进行任何转换的转换

返回
单位转换

◆ inverse()

A_ALWAYS_INLINE Transform ast::Transform::inverse ( ) const

获取逆转换

返回
逆转换

◆ operator*()

A_ALWAYS_INLINE Transform ast::Transform::operator* ( const Transform & next) const

组合下一个坐标系转换

警告
组合转换是先应用当前转换,再应用下一个转换。
参数
next下一个坐标系转换
返回
组合转换

◆ operator*=()

A_ALWAYS_INLINE Transform & ast::Transform::operator*= ( const Transform & next)

组合下一个坐标系转换

警告
组合转换是先应用当前转换,再应用下一个转换。
参数
next下一个坐标系转换
返回
组合转换

◆ setRotation()

void ast::Transform::setRotation ( const Rotation & rotation)
inline

设置坐标系旋转

参数
rotation坐标系旋转

◆ setTranslation()

void ast::Transform::setTranslation ( const Vector3d & translation)
inline

设置坐标系平移

参数
translation坐标系平移

◆ transformPosition() [1/2]

A_ALWAYS_INLINE Vector3d ast::Transform::transformPosition ( const Vector3d & position) const

转换位置

参数
position位置
返回
转换后的位置

◆ transformPosition() [2/2]

A_ALWAYS_INLINE void ast::Transform::transformPosition ( const Vector3d & position,
Vector3d & positionOut ) const

转换位置

参数
position位置
positionOut转换后的位置

先进行坐标系平移,再进行坐标系旋转。


该类的文档由以下文件生成: