8#include "CoreMinimal.h"
9#include "Kismet/BlueprintFunctionLibrary.h"
15#include "SensorFactory.generated.h"
34struct FCameraParameters;
50 UFUNCTION(BlueprintCallable, BlueprintPure, Category =
"Sensor")
62 UFUNCTION(BlueprintCallable, Category =
"Sensor")
63 static ALidar* SpawnLidarSensor(
const FTransform& transform,
const FString sensorIdentifier,
const FString sensorName,
FLidarParameters lidarParameters,
bool SimulateSensor =
true, AActor* Parent =
nullptr);
74 UFUNCTION(BlueprintCallable, Category =
"Sensor")
75 static ACamera* SpawnCamera(
const FTransform& transform,
const FString sensorIdentifier,
const FString sensorName,
FCameraBaseParameters cameraParameters,
bool SimulateSensor =
true, AActor* Parent =
nullptr);
86 UFUNCTION(BlueprintCallable, Category =
"Sensor")
87 static AThermalCamera* SpawnThermalCamera(
const FTransform& transform,
const FString sensorIdentifier,
const FString sensorName,
FThermalCameraParameters thermalCameraParameters,
bool SimulateSensor =
true, AActor* Parent =
nullptr);
98 UFUNCTION(BlueprintCallable, Category =
"Sensor")
99 static ADepthCamera* SpawnDepthCamera(
const FTransform& transform,
const FString sensorIdentifier,
const FString sensorName,
FDepthCameraParameters depthCameraParameters,
bool SimulateSensor =
true, AActor* Parent =
nullptr);
110 UFUNCTION(BlueprintCallable, Category =
"Sensor")
111 static ASemanticSegmentationCamera* SpawnSegmentationCamera(
const FTransform& transform,
const FString sensorIdentifier,
const FString sensorName,
FCameraBaseParameters cameraParameters,
bool SimulateSensor =
true, AActor* Parent =
nullptr);
122 UFUNCTION(BlueprintCallable, Category =
"Sensor")
123 static AInstanceSegmentationCamera* SpawnInstanceSegmentationCamera(
const FTransform& transform,
const FString sensorIdentifier,
const FString sensorName,
FCameraBaseParameters cameraParameters,
bool SimulateSensor =
true, AActor* Parent =
nullptr);
135 UFUNCTION(BlueprintCallable, Category =
"Sensor")
136 static ADVSCamera* SpawnDVSCamera(
const FTransform& transform,
const FString sensorIdentifier,
const FString sensorName,
FDVSCameraParameters DVSCameraParameters,
bool SimulateSensor, AActor* Parent =
nullptr);
147 UFUNCTION(BlueprintCallable, Category =
"Sensor")
148 static ARadar* SpawnRadar(
const FTransform& transform,
const FString sensorIdentifier,
const FString sensorName,
FRadarParameters radarParameters,
bool SimulateSensor =
true, AActor* Parent =
nullptr);
157 UFUNCTION(BlueprintCallable, Category =
"Sensor")
158 static ACollisionSensor* SpawnCollisionSensor(
const FTransform& transform, AActor* Owner,
const FString sensorIdentifier,
const FString sensorName,
bool SimulateSensor =
true, AActor* Parent =
nullptr);
168 UFUNCTION(BlueprintCallable, Category =
"Sensor")
169 static ATransformSensor* SpawnTransformSensor(
const FTransform& transform,
FTransformSensorParameters Parameters,
const FString sensorIdentifier,
const FString sensorName,
bool SimulateSensor =
true, AActor* Parent =
nullptr);
178 UFUNCTION(BlueprintCallable, Category =
"Sensor")
179 static AOverlapSensor* SpawnOverlapSensor(
const FTransform& transform,
FOverlapSensorParameters Parameters,
const FString sensorIdentifier,
const FString sensorName, AActor* Parent =
nullptr);
194 template <
typename T>
195 static T* SpawnSensor(
const FTransform& transform,
const FString& sensorIdentifier,
const FString& sensorName,
bool SpawnSensorModel =
true, AActor* Parent =
nullptr);
203 static void SetSensorIdentifierAndNameWithFallbacks(
ASensor* sensor,
const FString& sensorIdentifier,
const FString& sensorName);
218 static ASensorModel* SpawnModelClass(TSubclassOf<ASensorModel> modelClass,
ASensor* attachTo);
223 static void Initialize();
static TWeakObjectPtr< USensorMapDataAsset > SensorMapDataAsset