CARLA
Loading...
Searching...
No Matches
ActorBlueprintFunctionLibrary.h
Go to the documentation of this file.
1// Copyright (c) 2026 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
14
15#include <util/ue-header-guard-begin.h>
16#include "Kismet/BlueprintFunctionLibrary.h"
17#include <util/ue-header-guard-end.h>
18
19#include "ActorBlueprintFunctionLibrary.generated.h"
20
21class AGnssSensor;
24class ARadar;
29class AV2XSensor;
33
34UCLASS()
36{
37 GENERATED_BODY()
38
39public:
40
41 /// @}
42 /// ==========================================================================
43 /// @name Actor definition validators
44 /// ==========================================================================
45 /// @{
46
47 /// Return whether the actor definition is valid. Prints all the errors found.
48 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
49 static bool CheckActorDefinition(const FActorDefinition &ActorDefinitions);
50
51 /// Return whether the list of actor definitions is valid. Prints all the
52 /// errors found.
53 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
54 static bool CheckActorDefinitions(const TArray<FActorDefinition> &ActorDefinitions);
55
56 /// @}
57 /// ==========================================================================
58 /// @name Helpers to create actor definitions
59 /// ==========================================================================
60 /// @{
61
62 static FActorDefinition MakeGenericDefinition(
63 const FString &Category,
64 const FString &Type,
65 const FString &Id);
66
67 static FActorDefinition MakeGenericSensorDefinition(
68 const FString &Type,
69 const FString &Id);
70
71 static FActorDefinition MakeCameraDefinition(
72 const FString &Id,
73 bool bEnableModifyingPostProcessEffects = false);
74
75 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
76 static void MakeCameraDefinition(
77 const FString &Id,
78 bool bEnableModifyingPostProcessEffects,
79 bool &Success,
80 FActorDefinition &Definition);
81
82 static FActorDefinition MakeWideAngleLensCameraDefinition(
83 const FString &Id,
84 bool bEnableModifyingPostProcessEffects = false);
85
86 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
87 static void MakeWideAngleLensCameraDefinition(
88 const FString &Id,
89 bool bEnableModifyingPostProcessEffects,
90 bool &Success,
91 FActorDefinition &Definition);
92
93 static FActorDefinition MakeRayTracedLensCameraDefinition(
94 const FString &Id,
95 bool bEnableModifyingPostProcessEffects = false);
96
97 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
98 static void MakeRayTracedLensCameraDefinition(
99 const FString &Id,
100 bool bEnableModifyingPostProcessEffects,
101 bool &Success,
102 FActorDefinition &Definition);
103
104 static FActorDefinition MakeNormalsCameraDefinition();
105
106 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
107 static void MakeNormalsCameraDefinition(
108 bool &Success,
109 FActorDefinition &Definition);
110
111 static FActorDefinition MakeLidarDefinition(
112 const FString &Id);
113
114 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
115 static void MakeLidarDefinition(
116 const FString &Id,
117 bool &Success,
118 FActorDefinition &Definition);
119
120 static FActorDefinition MakeGnssDefinition();
121 static FActorDefinition MakeAutowareGnssDefinition();
122
123 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
124 static void MakeGnssDefinition(
125 bool &Success,
126 FActorDefinition &Definition,
127 FString Name);
128
129 static FActorDefinition MakeVehicleStatusDefinition();
130
131 static FActorDefinition MakeIMUDefinition();
132
133 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
134 static void MakeIMUDefinition(
135 bool &Success,
136 FActorDefinition &Definition);
137
138 static FActorDefinition MakeRadarDefinition();
139
140 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
141 static void MakeRadarDefinition(
142 bool &Success,
143 FActorDefinition &Definition);
144
145 static FActorDefinition MakeV2XDefinition();
146
147 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
148 static void MakeV2XDefinition(
149 bool &Success,
150 FActorDefinition &Definition);
151
152 static FActorDefinition MakeCustomV2XDefinition();
153
154 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
155 static void MakeCustomV2XDefinition(
156 bool &Success,
157 FActorDefinition &Definition);
158
159 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
160 static void MakeVehicleDefinition(
161 const FVehicleParameters &Parameters,
162 bool &Success,
163 FActorDefinition &Definition);
164
165 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
166 static void MakeVehicleDefinitions(
167 const TArray<FVehicleParameters> &ParameterArray,
168 TArray<FActorDefinition> &Definitions);
169
170 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
171 static void MakePedestrianDefinition(
172 const FPedestrianParameters &Parameters,
173 bool &Success,
174 FActorDefinition &Definition);
175
176 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
177 static void MakePedestrianDefinitions(
178 const TArray<FPedestrianParameters> &ParameterArray,
179 TArray<FActorDefinition> &Definitions);
180
181 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
182 static void MakeTriggerDefinitions(
183 const TArray<FString> &ParameterArray,
184 TArray<FActorDefinition> &Definitions);
185
186 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
187 static void MakeTriggerDefinition(
188 const FString &Id,
189 bool &Success,
190 FActorDefinition &Definition);
191
192 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
193 static void MakePropDefinition(
194 const FPropParameters &Parameters,
195 bool &Success,
196 FActorDefinition &Definition);
197
198 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
199 static void MakePropDefinitions(
200 const TArray<FPropParameters> &ParameterArray,
201 TArray<FActorDefinition> &Definitions);
202
203 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
204 static void MakeBlueprintDefinition(
205 const FBlueprintParameters &Parameters,
206 bool &Success,
207 FActorDefinition &Definition);
208
209 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
210 static void MakeBlueprintDefinitions(
211 const TArray<FBlueprintParameters> &ParameterArray,
212 TArray<FActorDefinition> &Definitions);
213
214 UFUNCTION()
215 static void MakeObstacleDetectorDefinitions(
216 const FString &Type,
217 const FString &Id,
218 FActorDefinition &Definition);
219
220 /// @}
221 /// ==========================================================================
222 /// @name Helpers to retrieve attribute values
223 /// ==========================================================================
224 /// @{
225
226 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
227 static bool ActorAttributeToBool(const FActorAttribute &ActorAttribute, bool Default);
228
229 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
230 static int32 ActorAttributeToInt(const FActorAttribute &ActorAttribute, int32 Default);
231
232 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
233 static float ActorAttributeToFloat(const FActorAttribute &ActorAttribute, float Default);
234
235 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
236 static FString ActorAttributeToString(const FActorAttribute &ActorAttribute, const FString &Default);
237
238 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
239 static FColor ActorAttributeToColor(const FActorAttribute &ActorAttribute, const FColor &Default);
240
241 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
242 static FVector ActorAttributeToVector(const FActorAttribute &ActorAttribute, const FVector &Default);
243
244 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
245 static bool RetrieveActorAttributeToBool(
246 const FString &Id,
247 const TMap<FString, FActorAttribute> &Attributes,
248 bool Default);
249
250 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
251 static int32 RetrieveActorAttributeToInt(
252 const FString &Id,
253 const TMap<FString, FActorAttribute> &Attributes,
254 int32 Default);
255
256 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
257 static float RetrieveActorAttributeToFloat(
258 const FString &Id,
259 const TMap<FString, FActorAttribute> &Attributes,
260 float Default);
261
262 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
263 static FString RetrieveActorAttributeToString(
264 const FString &Id,
265 const TMap<FString, FActorAttribute> &Attributes,
266 const FString &Default);
267
268 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
269 static FColor RetrieveActorAttributeToColor(
270 const FString &Id,
271 const TMap<FString, FActorAttribute> &Attributes,
272 const FColor &Default);
273
274 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
275 static FVector RetrieveActorAttributeToVector(
276 const FString &Id,
277 const TMap<FString, FActorAttribute> &Attributes,
278 const FVector &Default);
279
280 /// @}
281 /// ==========================================================================
282 /// @name Helpers to set Actors
283 /// ==========================================================================
284 /// @{
285
286 UFUNCTION(Category = "Carla Actor", BlueprintCallable)
287 static void SetCamera(const FActorDescription &Description, ASceneCaptureSensor *Camera);
288 static void SetCamera(const FActorDescription &Description, AShaderBasedSensor *Camera);
289
290 static void SetCamera(const FActorDescription &Description, ASceneCaptureSensor_WideAngleLens *Camera);
291 static void SetCamera(const FActorDescription &Description, AShaderBasedSensor_WideAngleLens *Camera);
292
293 static void SetLidar(const FActorDescription &Description, FLidarDescription &Lidar);
294
295 static void SetGnss(const FActorDescription &Description, AGnssSensor *Gnss);
296 static void SetAutowareGnss(const FActorDescription &Description, AAutowareGnssSensor *Gnss);
297
298 static void SetIMU(const FActorDescription &Description, AInertialMeasurementUnit *IMU);
299
300 static void SetRadar(const FActorDescription &Description, ARadar *Radar);
301
302 static void SetV2X(const FActorDescription &Description, AV2XSensor *V2X);
303
304 static void SetCustomV2X(const FActorDescription &Description, ACustomV2XSensor *V2X);
305};
Autoware GNSS sensor ("sensor.other.autoware_gnss"): streams GeoLocation to the client like the regul...
Gnss sensor representation The actual position calculation is done one server side.
Definition GnssSensor.h:24
A ray-cast based Radar sensor.
Definition Radar.h:21
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.
An actor attribute, may be an intrinsic (non-modifiable) attribute of the actor or an user-defined ac...
A definition of a Carla Actor with all the variation and attributes.
A description of a Carla Actor with all its variation.