Pose2f 应该是 BHuman 中的一个比较重要的工具类吧,在代码中经常用到,以前不知道是干啥的,刚才看了下,记录下来。
Src/Tools/Math/Pose2f.h
TODO: 学习类 Angle、Pose3f、Vector2f(我猜是个类似于vector的容器,不过里面存的东西要仔细研究下)等。
ADD: Pose3f 与 Pose2f 大致相同,不过使用了 Vector3f,多了一个 z 作为参数。。。
在 Vector2f 的变量中还可以调用 angle()
函数,猜想:应该这两个类中有这个方法。
在 Egien.h 中只看到了一些容器的声明,引入了头文件 Egien/Dense
,看了下,应该是 naoqi 的库中带的。
ADD: 刚才看代码的过程中发现,有下面这两句:图像中的位置 Vector2i(image),场地中的位置 Vector2f(field)。
1 | (Vector2i)(Vector2i::Zero()) positionInImage, /**< Position in the image. 在图像中的位置 */ |
成员变量
1 | // Angle是类型,0是默认值,rotation是变量名。 |
构造函数
声明
1 | // 构造函数,默认 |
实现
1 | inline Pose2f::Pose2f(const float x, const float y) : |
操作符重载
声明
1 | Pose2f& operator=(const Pose2f& other) = default; |
实现
1 | inline Vector2f Pose2f::operator*(const Vector2f& other) const |
成员函数
声明
1 | Pose2f& translate(const Vector2f& trans); |
实现
1 | inline Pose2f& Pose2f::translate(const Vector2f& trans) |