CARLA
 
载入中...
搜索中...
未找到
Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Util/EnvironmentObject.h
浏览该文件的文档.
1// Copyright (c) 2020 Computer Vision Center (CVC) at the Universitat Autonoma
2// de Barcelona (UAB).
3// This work is licensed under the terms of the MIT license.
4// For a copy, see <https://opensource.org/licenses/MIT>.
5
6#pragma once
7// 预处理指令,用于确保该头文件在整个编译过程中只会被包含一次
8
10// 引入Carla项目中Util目录下的BoundingBox.h头文件用于表示物体的包围盒信息
11
13// 引入一个用于禁用UE4(虚幻引擎4)相关宏定义的头文件
15// 引入carla项目中rpc模块下的ObjectLabel.h头文件
16
18// 引入一个用于启用UE4(虚幻引擎4)相关宏定义的头文件
19
20#include "BoundingBox.h"
21// 再次引入一个名为BoundingBox.h的头文件
22
23#include "EnvironmentObject.generated.h"
24// 引入由虚幻引擎的代码生成工具生成的头文件(EnvironmentObject.generated.h)
25
26namespace crp = carla::rpc;
27// 使用namespace别名定义,将carla::rpc命名空间简称为crp,方便后续代码中引用该命名空间下的类型、函数等内容,使代码更简洁易读。
28
39// 定义一个枚举类型EnvironmentObjectType,用于列举不同种类的环境对象类型。
40// 其中Invalid表示无效或未定义的类型,Vehicle表示车辆类型,Character表示角色(如行人等)类型,
41// TrafficLight表示交通信号灯类型
42
43// Name is under discussion
44USTRUCT(BlueprintType)
45struct CARLA_API FEnvironmentObject
46{
47// 使用USTRUCT宏定义一个结构体,名为FEnvironmentObject,并标记为BlueprintType类型
48
49 GENERATED_BODY()
50 // 这是一个虚幻引擎代码生成相关的宏,用于指示编译器在这里生成必要的代码
51
52 AActor* Actor = nullptr;
53// 定义一个成员变量Actor,类型为指向AActor类(AActor通常是虚幻引擎中表示游戏中角色、物体等的基类)的指针,初始化为nullptr
54
55 UPROPERTY(EditAnywhere, BlueprintReadWrite)
56 FString Name;
57// 使用UPROPERTY宏声明一个成员变量Name
58
59 UPROPERTY(EditAnywhere, BlueprintReadWrite)
60 FString IdStr;
61// 同样使用UPROPERTY宏声明一个成员变量IdStr,类型为FString
62
63 UPROPERTY(EditAnywhere, BlueprintReadWrite)
64 FTransform Transform;
65// 使用UPROPERTY宏声明一个成员变量Transform,类型为FTransform(FTransform通常用于表示物体在三维空间中的变换信息,如位置、旋转、缩放等)用于存储环境对象在游戏世界中的空间变换
66
67 UPROPERTY(EditAnywhere, BlueprintReadWrite)
69// 使用UPROPERTY宏声明一个成员变量BoundingBox,类型为FBoundingBox(从之前引入的相关头文件推测用于表示包围盒信息),
70 // 具有相应的编辑和蓝图读写属性,用于存储环境对象的包围盒相关信息,比如界定该对象在三维空间中的范围大小等情况。
71 uint64 Id = 0;
72
74// 定义一个成员变量Type,类型为之前定义的EnvironmentObjectType枚举类型,初始化为Invalid,表示默认情况下环境对象的类型为无效或未定义状态,
75
76 crp::CityObjectLabel ObjectLabel;
77// 定义一个成员变量ObjectLabel,类型为crp(即carla::rpc命名空间下的)CityObjectLabel类型,
78
79 bool CanTick = false;
80// 定义一个成员变量CanTick,类型为布尔型(bool),初始化为false,
81// 可能用于表示该环境对象是否能够进行每帧更新(Tick)相关的操作,用于控制对象在游戏运行过程中的更新逻辑。
82};
TSharedPtr< const FActorInfo > carla::rpc::ActorState UWorld Actor