CARLA
 
载入中...
搜索中...
未找到
ActorBlueprintFunctionLibrary.h
浏览该文件的文档.
1// Copyright (c) 2019 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
15#include "Carla/Sensor/Radar.h"
21
22#include "Kismet/BlueprintFunctionLibrary.h"
23
24#include "ActorBlueprintFunctionLibrary.generated.h"
25
29
30UCLASS()
31class UActorBlueprintFunctionLibrary : public UBlueprintFunctionLibrary// 继承自UBlueprintFunctionLibrary。
32{
33 GENERATED_BODY()
34// Unreal Engine的宏,用于自动生成类的某些部分。
35
36public:
37
38 /// @}
39 /// ==========================================================================
40 /// @name 参与者定义验证器
41 /// ==========================================================================
42 /// @{
43
44 /// 返回角色定义是否有效。打印所有找到的错误
45 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
46 static bool CheckActorDefinition(const FActorDefinition &ActorDefinitions);
47
48 /// 返回演员定义列表是否有效。打印所有
49 /// 发现错误
50 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
51 static bool CheckActorDefinitions(const TArray<FActorDefinition> &ActorDefinitions);
52
53 /// @}
54 /// ==========================================================================
55 /// @name 创建角色定义的辅助工具
56 /// ==========================================================================
57 /// @{
58 /// 创建一个通用的参与者定义。
59 static FActorDefinition MakeGenericDefinition(
60 const FString &Category,
61 const FString &Type,
62 const FString &Id);
63/// 创建一个通用的传感器参与者定义。
64 static FActorDefinition MakeGenericSensorDefinition(
65 const FString &Type,
66 const FString &Id);
67/// 创建一个相机参与者定义。
68 static FActorDefinition MakeCameraDefinition(
69 const FString &Id,
70 bool bEnableModifyingPostProcessEffects = false);
71
72/// 创建一个相机参与者定义,并返回操作是否成功。
73 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
74 static void MakeCameraDefinition(
75 const FString &Id,
76 bool bEnableModifyingPostProcessEffects,
77 bool &Success,
78 FActorDefinition &Definition);
79/// 创建一个法线相机参与者定义。
80 static FActorDefinition MakeNormalsCameraDefinition();
81/// 创建一个法线相机参与者定义,并返回操作是否成功。
82 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
83 static void MakeNormalsCameraDefinition(
84 bool &Success,
85 FActorDefinition &Definition);
86/// 创建一个激光雷达参与者定义。
88 const FString &Id);
89/// 创建一个激光雷达参与者定义,并返回操作是否成功。
90 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
91 static void MakeLidarDefinition(
92 const FString &Id,
93 bool &Success,
94 FActorDefinition &Definition);
95/// 创建一个全球导航卫星系统传感器参与者定义。
96 static FActorDefinition MakeGnssDefinition();
97/// 创建一个全球导航卫星系统传感器参与者定义,并返回操作是否成功。
98 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
99 static void MakeGnssDefinition(
100 bool &Success,
101 FActorDefinition &Definition);
102/// 创建一个惯性测量单元参与者定义。
103 static FActorDefinition MakeIMUDefinition();
104/// 创建一个惯性测量单元参与者定义,并返回操作是否成功。
105 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
106 static void MakeIMUDefinition(
107 bool &Success,
108 FActorDefinition &Definition);
109/// 创建一个雷达参与者定义。
110 static FActorDefinition MakeRadarDefinition();
111/// 创建一个雷达参与者定义,并返回操作是否成功。
112 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
113 static void MakeRadarDefinition(
114 bool &Success,
115 FActorDefinition &Definition);
116/// 创建一个车对外界信息交换传感器参与者定义。
117 static FActorDefinition MakeV2XDefinition();
118/// 创建一个车对外界信息交换传感器参与者定义,并返回操作是否成功。
119 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
120 static void MakeV2XDefinition(
121 bool &Success,
122 FActorDefinition &Definition);
123/// 创建一个自定义车对外界信息交换传感器参与者定义。
124 static FActorDefinition MakeCustomV2XDefinition();
125/// 创建一个自定义车对外界信息交换传感器参与者定义,并返回操作是否成功。
126 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
127 static void MakeCustomV2XDefinition(
128 bool &Success,
129 FActorDefinition &Definition);
130/// 根据车辆参数创建车辆参与者定义,并返回操作是否成功。
131 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
132 static void MakeVehicleDefinition(
133 const FVehicleParameters &Parameters,
134 bool &Success,
135 FActorDefinition &Definition);
136/// 根据车辆参数数组创建多个车辆参与者定义。
137 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
138 static void MakeVehicleDefinitions(
139 const TArray<FVehicleParameters> &ParameterArray,
140 TArray<FActorDefinition> &Definitions);
141/// 根据行人参数创建行人参与者定义,并返回操作是否成功。
142 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
143 static void MakePedestrianDefinition(
144 const FPedestrianParameters &Parameters,
145 bool &Success,
146 FActorDefinition &Definition);
147/// 根据行人参数数组创建多个行人参与者定义。
148 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
149 static void MakePedestrianDefinitions(
150 const TArray<FPedestrianParameters> &ParameterArray,
151 TArray<FActorDefinition> &Definitions);
152 /// 根据ID数组创建触发器参与者定义。
153 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
154 static void MakeTriggerDefinitions(
155 const TArray<FString> &ParameterArray,
156 TArray<FActorDefinition> &Definitions);
157/// 根据ID创建触发器参与者定义,并返回操作是否成功。
158 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
159 static void MakeTriggerDefinition(
160 const FString &Id,
161 bool &Success,
162 FActorDefinition &Definition);
163/// 根据道具参数创建道具参与者定义,并返回操作是否成功。
164 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
165 static void MakePropDefinition(
166 const FPropParameters &Parameters,
167 bool &Success,
168 FActorDefinition &Definition);
169
170 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
171 static void MakePropDefinitions(
172 const TArray<FPropParameters> &ParameterArray,
173 TArray<FActorDefinition> &Definitions);
174
175 UFUNCTION()
176 static void MakeObstacleDetectorDefinitions(
177 const FString &Type,
178 const FString &Id,
179 FActorDefinition &Definition);
180
181 /// @}
182 /// ==========================================================================
183 /// @name 获取属性值的帮助程序
184 /// ==========================================================================
185 /// @{
186 /// 将参与者属性转换为布尔值,如果不存在则返回默认值。
187 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
188 static bool ActorAttributeToBool(const FActorAttribute &ActorAttribute, bool Default);
189/// 将参与者属性转换为整数,如果不存在则返回默认值。
190 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
191 static int32 ActorAttributeToInt(const FActorAttribute &ActorAttribute, int32 Default);
192/// 将参与者属性转换为浮点数,如果不存在则返回默认值。
193 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
194 static float ActorAttributeToFloat(const FActorAttribute &ActorAttribute, float Default);
195/// 将参与者属性转换为字符串,如果不存在则返回默认值。
196 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
197 static FString ActorAttributeToString(const FActorAttribute &ActorAttribute, const FString &Default);
198/// 将参与者属性转换为颜色,如果不存在则返回默认值。
199 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
200 static FColor ActorAttributeToColor(const FActorAttribute &ActorAttribute, const FColor &Default);
201/// 从参与者属性映射中检索布尔值,如果不存在则返回默认值。
202 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
203 static bool RetrieveActorAttributeToBool(
204 const FString &Id,
205 const TMap<FString, FActorAttribute> &Attributes,
206 bool Default);
207/// 从参与者属性映射中检索整数,如果不存在则返回默认值。
208 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
209 static int32 RetrieveActorAttributeToInt(
210 const FString &Id,
211 const TMap<FString, FActorAttribute> &Attributes,
212 int32 Default);
213
214 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
215 static float RetrieveActorAttributeToFloat(
216 const FString &Id,
217 const TMap<FString, FActorAttribute> &Attributes,
218 float Default);
219
220 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
221 static FString RetrieveActorAttributeToString(
222 const FString &Id,
223 const TMap<FString, FActorAttribute> &Attributes,
224 const FString &Default);
225
226 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
227 static FColor RetrieveActorAttributeToColor(
228 const FString &Id,
229 const TMap<FString, FActorAttribute> &Attributes,
230 const FColor &Default);
231
232 /// @}
233 /// ==========================================================================
234 /// @name 设置角色的辅助工具
235 /// ==========================================================================
236 /// @{
237
238 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
239 static void SetCamera(const FActorDescription &Description, ASceneCaptureSensor *Camera);
240 static void SetCamera(const FActorDescription &Description, AShaderBasedSensor *Camera);
241
242 static void SetLidar(const FActorDescription &Description, FLidarDescription &Lidar);
243
244 static void SetGnss(const FActorDescription &Description, AGnssSensor *Gnss);
245
246 static void SetIMU(const FActorDescription &Description, AInertialMeasurementUnit *IMU);
247
248 static void SetRadar(const FActorDescription &Description, ARadar *Radar);
249
250 static void SetV2X(const FActorDescription &Description, AV2XSensor *V2X);
251 static void SetCustomV2X(const FActorDescription &Description, ACustomV2XSensor *V2X);
252};
TSharedPtr< const FActorInfo > carla::rpc::ActorState UWorld Actor
GNSS传感器表示类 实际的位置信息计算是在服务器端进行的
Definition GnssSensor.h:24
A ray-cast based Radar sensor.
Definition Radar.h:22
Base class for sensors using a USceneCaptureComponent2D for rendering the scene.
A sensor that produces data by applying post-process materials (shaders) to a scene capture image.
static FActorDefinition MakeLidarDefinition(const FString &Id)
创建一个激光雷达参与者定义。
An actor attribute, may be an intrinsic (non-modifiable) attribute of the actor or an user-defined ac...