CARLA
载入中...
搜索中...
未找到
LibCarla
source
carla
rpc
LibCarla/source/carla/rpc/ActorDescription.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
// 防止头文件重复包含的编译指令。
9
#include "
carla/MsgPack.h
"
10
#include "
carla/rpc/ActorAttribute.h
"
11
#include "
carla/rpc/ActorId.h
"
12
#include "
carla/rpc/String.h
"
13
// 引入Carla项目中的相关头文件,提供消息打包、Actor属性、Actor ID以及字符串相关的支持。
14
15
#include <vector>
16
//标题库的头文件,用于处理动态信息组。
17
#ifdef LIBCARLA_INCLUDED_FROM_UE4
// 如果是从UE4引入的代码块,则启用UE4相关的宏。
18
#include <
compiler/enable-ue4-macros.h
>
19
#include "
Carla/Actor/ActorDescription.h
"
20
#include <
compiler/disable-ue4-macros.h
>
21
#endif
// LIBCARLA_INCLUDED_FROM_UE4
22
// 用于在UE4环境中加载特定的头文件,并切换特定的编译宏。
23
namespace
carla
{
24
namespace
rpc {
25
26
class
ActorDescription
{
27
public
:
28
29
ActorDescription
() =
default
;
// 默认构造函数。
30
31
ActorId
uid
= 0u;
// 定义Actor的唯一标识符,初始值为0。
32
33
std::string
id
;
// Actor的类型标识符,例如“车辆”或“行人”。
34
35
std::vector<ActorAttributeValue>
attributes
;
// Actor的属性列表,例如颜色、车型等。
36
37
38
#ifdef LIBCARLA_INCLUDED_FROM_UE4
39
40
ActorDescription
(
const
FActorDescription
&Description)
41
:
uid
(Description.UId),
42
id
(FromFString(Description.Id)) {
43
// 从UE4的FActorDescription结构体转换为当前类的构造函数。
44
// 将UE4的字符串类型转换为标准字符串,并初始化`uid`和`id`。
45
attributes
.reserve(Description.
Variations
.Num());
// 预留空间存储所有属性。
46
for
(
const
auto
&Item : Description.
Variations
) {
47
attributes
.emplace_back(Item.Value);
48
}
49
// 遍历FActorDescription的Variations,将其转换并存储到attributes中。
50
}
51
52
operator
FActorDescription
()
const
{
// 将当前类转换为UE4的FActorDescription类型的操作符重载。
53
FActorDescription
Description;
54
Description.
UId
=
uid
;
// 设置UID。
55
Description.
Id
= ToFString(
id
);
// 将标准字符串转换为UE4字符串类型。
56
Description.
Variations
.Reserve(
attributes
.size());
// 为Variations分配内存。
57
for
(
const
auto
&item :
attributes
) {
58
Description.
Variations
.Emplace(ToFString(item.id), item);
// 将当前类的属性逐一添加到UE4结构体的Variations中。
59
}
60
return
Description;
61
}
62
63
#endif
// LIBCARLA_INCLUDED_FROM_UE4
64
65
MSGPACK_DEFINE_ARRAY
(
uid
,
id
,
attributes
);
66
// 定义用于序列化和反序列化的MsgPack宏,将uid、id和attributes打包为数组形式。
67
};
68
69
}
// namespace rpc
70
}
// namespace carla
ActorId.h
ActorAttribute.h
MsgPack.h
ActorDescription.h
carla::rpc::ActorDescription
Definition
LibCarla/source/carla/rpc/ActorDescription.h:26
carla::rpc::ActorDescription::ActorDescription
ActorDescription(const FActorDescription &Description)
Definition
LibCarla/source/carla/rpc/ActorDescription.h:40
carla::rpc::ActorDescription::attributes
std::vector< ActorAttributeValue > attributes
Definition
LibCarla/source/carla/rpc/ActorDescription.h:35
carla::rpc::ActorDescription::uid
ActorId uid
Definition
LibCarla/source/carla/rpc/ActorDescription.h:31
carla::rpc::ActorDescription::MSGPACK_DEFINE_ARRAY
MSGPACK_DEFINE_ARRAY(uid, id, attributes)
carla::rpc::ActorDescription::id
std::string id
Definition
LibCarla/source/carla/rpc/ActorDescription.h:33
carla::rpc::ActorDescription::ActorDescription
ActorDescription()=default
disable-ue4-macros.h
enable-ue4-macros.h
carla::rpc::ActorId
uint32_t ActorId
Definition
ActorId.h:20
carla
CARLA模拟器的主命名空间。
Definition
Carla.cpp:139
String.h
FActorDescription
carla参与者及其所有变体的描述
Definition
Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Actor/ActorDescription.h:16
FActorDescription::Variations
TMap< FString, FActorAttribute > Variations
用户选择了参与者的变化版本。请注意,此时是 由不可修改的属性表示
Definition
Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Actor/ActorDescription.h:36
FActorDescription::UId
uint32 UId
此描述所基于的定义的UId
Definition
Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Actor/ActorDescription.h:20
FActorDescription::Id
FString Id
用于标识参与者的显示ID
Definition
Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Actor/ActorDescription.h:24
制作者
1.10.0