18#ifndef BIMHOMEBASE_PLACEMENT_H
19#define BIMHOMEBASE_PLACEMENT_H
21#include <Base/Rotation.h>
22#include <Base/Vector3D.h>
DualQuat 类表示一个对偶四元数,即由对偶数分量组成的四元数。
Definition DualQuaternion.h:34
Matrix4D 类,表示一个 4x4 矩阵
Definition Matrix.h:53
Vector3< double > m_Pos
位置
Definition Placement.h:255
void fromMatrix(const Matrix4D &m)
从 4x4 变换矩阵提取位置和旋转
void setPosition(const Vector3d &Pos)
设置位置
Definition Placement.h:155
void move(const Vector3d &MovVec)
移动 Placement 对象
Matrix4D toMatrix() const
将 Placement 对象转换为 4x4 变换矩阵
void multVec(const Vector3d &src, Vector3d &dst) const
将 Placement 对象应用于向量
void setRotation(const Rotation &Rot)
设置旋转
Definition Placement.h:165
static Placement slerp(const Placement &p0, const Placement &p1, double t)
在两个 Placement 对象之间进行球面线性插值(SLERP)
Placement(const Placement &)
拷贝构造函数
Placement inverse() const
获取逆变换
DualQuat toDualQuaternion() const
将 Placement 对象转换为对偶四元数
static Placement sclerp(const Placement &p0, const Placement &p1, double t, bool shorten=true)
在两个 Placement 对象之间进行球面线性插值(SLERP),可选缩短路径
static Placement fromDualQuaternion(DualQuat qq)
从对偶四元数创建 Placement 对象
~Placement()
析构函数
Definition Placement.h:107
Placement(const Vector3d &Pos, const Rotation &Rot)
从位置和旋转创建 Placement 对象
const Rotation & getRotation() const
获取当前旋转
Definition Placement.h:145
const Vector3d & getPosition() const
获取当前位置
Definition Placement.h:135
bool isIdentity() const
检查是否为单位 Placement
Placement(const Vector3d &Pos, const Rotation &Rot, const Vector3d &Cnt)
从位置、旋转和参考点创建 Placement 对象
Base::Rotation m_Rot
旋转
Definition Placement.h:256
Placement(const Base::Matrix4D &matrix)
从 4x4 变换矩阵创建 Placement 对象
Placement pow(double t, bool shorten=true) const
计算 Placement 对象的幂
Placement 类,表示三维空间中的位置和旋转
Definition Placement.h:34
Definition BaseFigureFactory.h:24