CARLA
 
载入中...
搜索中...
未找到
Walker.h
浏览该文件的文档.
1// Copyright (c) 2017 Computer Vision Center (CVC) at the Universitat Autonoma
2// de Barcelona (UAB).
3//
4// This work is licensed under the terms of the MIT license.
5// For a copy, see <https://opensource.org/licenses/MIT>.
6
7#pragma once
8
13
14namespace carla {
15namespace client {
16 /**
17 * @class Walker
18 * @brief 行人角色类,继承自Actor类。
19 *
20 * Walker类代表CARLA模拟器中的一个行人角色,可以通过该类控制行人的行为和动作。
21 */
22 class Walker : public Actor {
23 public:
24 /**
25 * @typedef Control
26 * @brief 行人控制指令的类型别名,对应rpc::WalkerControl。
27 */
29 /**
30 * @typedef BoneControlIn
31 * @brief 行人骨骼控制输入的类型别名,对应rpc::WalkerBoneControlIn。
32 */
34 /**
35 * @typedef BoneControlOut
36 * @brief 行人骨骼控制输出的类型别名,对应rpc::WalkerBoneControlOut。
37 */
39 /**
40 * @brief 构造函数,使用ActorInitializer初始化Walker对象。
41 *
42 * @param init ActorInitializer对象,用于初始化Walker对象。
43 */
44 explicit Walker(ActorInitializer init) : Actor(std::move(init)) {}
45 /**
46 * @brief 应用控制指令给这个行人。
47 *
48 * @param control 控制指令,类型为Control。
49 */
50 void ApplyControl(const Control &control);
51 /**
52 * @brief 获取最后应用给Walker对象的控制指令。
53 *
54 * @note 这个函数不会调用模拟器,它返回的是在上一个节拍接收到的控制指令数据。
55 *
56 * @return 返回最后应用的控制指令,类型为Control。
57 */
59 /**
60 * @brief 获取行人骨骼的变换信息。
61 *
62 * @return 返回行人骨骼的变换信息,类型为BoneControlOut。
63 */
65 /**
66 * @brief 设置行人骨骼的变换信息。
67 *
68 * @param bones 行人骨骼的变换信息,类型为BoneControlIn。
69 */
70 void SetBonesTransform(const BoneControlIn &bones);
71 /**
72 * @brief 混合姿态,通过给定的混合因子调整当前姿态和动画姿态之间的比例。
73 *
74 * @param blend 混合因子,范围在0.0到1.0之间。0.0表示完全隐藏动画姿态,1.0表示完全显示动画姿态。
75 */
76 void BlendPose(float blend);
77 /**
78 * @brief 显示动画姿态。
79 *
80 * 这是一个便捷函数,等价于BlendPose(1.0f)。
81 */
82 void ShowPose() { BlendPose(1.0f); };
83 /**
84 * @brief 隐藏动画姿态。
85 *
86 * 这是一个便捷函数,等价于BlendPose(0.0f)。
87 */
88 void HidePose() { BlendPose(0.0f); };
89 /**
90 * @brief 从动画中获取姿态。
91 *
92 * 这个函数会更新行人的姿态以匹配当前动画的状态。
93 */
95
96 private:
97
98 /**
99 * @brief 最后应用给Walker对象的控制指令。
100 */
102 };
103
104} // namespace client
105} // namespace carla
用于初始化 Actor 类。只有 ActorFactory 可以创建此对象,因此只有 ActorFactory 可以创建 Actor。
表示模拟中的一个行为体(Actor)。
行人角色类,继承自Actor类。
Definition Walker.h:22
Control _control
最后应用给Walker对象的控制指令。
Definition Walker.h:101
rpc::WalkerControl Control
行人控制指令的类型别名,对应rpc::WalkerControl。
Definition Walker.h:28
Walker(ActorInitializer init)
构造函数,使用ActorInitializer初始化Walker对象。
Definition Walker.h:44
void HidePose()
隐藏动画姿态。
Definition Walker.h:88
void ShowPose()
显示动画姿态。
Definition Walker.h:82
void BlendPose(float blend)
混合姿态,通过给定的混合因子调整当前姿态和动画姿态之间的比例。
Definition Walker.cpp:44
void GetPoseFromAnimation()
从动画中获取姿态。
Definition Walker.cpp:50
Control GetWalkerControl() const
获取最后应用给Walker对象的控制指令。
Definition Walker.cpp:26
rpc::WalkerBoneControlOut BoneControlOut
行人骨骼控制输出的类型别名,对应rpc::WalkerBoneControlOut。
Definition Walker.h:38
void ApplyControl(const Control &control)
应用控制指令给这个行人。
Definition Walker.cpp:15
BoneControlOut GetBonesTransform()
获取行人骨骼的变换信息。
Definition Walker.cpp:32
void SetBonesTransform(const BoneControlIn &bones)
设置行人骨骼的变换信息。
Definition Walker.cpp:38
rpc::WalkerBoneControlIn BoneControlIn
行人骨骼控制输入的类型别名,对应rpc::WalkerBoneControlIn。
Definition Walker.h:33
CARLA模拟器的主命名空间。
Definition Carla.cpp:139
包含CARLA客户端相关类和函数的命名空间。