8#include "CoreMinimal.h"
9#include "Kismet/BlueprintFunctionLibrary.h"
15#include "SensorFactory.generated.h"
33struct FCameraParameters;
49 UFUNCTION(BlueprintCallable, BlueprintPure, Category =
"Sensor")
61 UFUNCTION(BlueprintCallable, Category =
"Sensor")
62 static ALidar* SpawnLidarSensor(
const FTransform& transform,
const FString sensorIdentifier,
const FString sensorName,
FLidarParameters lidarParameters,
bool SimulateSensor =
true, AActor* Parent =
nullptr);
73 UFUNCTION(BlueprintCallable, Category =
"Sensor")
74 static ACamera* SpawnCamera(
const FTransform& transform,
const FString sensorIdentifier,
const FString sensorName,
FCameraBaseParameters cameraParameters,
bool SimulateSensor =
true, AActor* Parent =
nullptr);
85 UFUNCTION(BlueprintCallable, Category =
"Sensor")
86 static AThermalCamera* SpawnThermalCamera(
const FTransform& transform,
const FString sensorIdentifier,
const FString sensorName,
FThermalCameraParameters thermalCameraParameters,
bool SimulateSensor =
true, AActor* Parent =
nullptr);
97 UFUNCTION(BlueprintCallable, Category =
"Sensor")
98 static ADepthCamera* SpawnDepthCamera(
const FTransform& transform,
const FString sensorIdentifier,
const FString sensorName,
FDepthCameraParameters depthCameraParameters,
bool SimulateSensor =
true, AActor* Parent =
nullptr);
109 UFUNCTION(BlueprintCallable, Category =
"Sensor")
110 static ASemanticSegmentationCamera* SpawnSegmentationCamera(
const FTransform& transform,
const FString sensorIdentifier,
const FString sensorName,
FCameraBaseParameters cameraParameters,
bool SimulateSensor =
true, AActor* Parent =
nullptr);
121 UFUNCTION(BlueprintCallable, Category =
"Sensor")
122 static ADVSCamera* SpawnDVSCamera(
const FTransform& transform,
const FString sensorIdentifier,
const FString sensorName,
FDVSCameraParameters DVSCameraParameters,
bool SimulateSensor, AActor* Parent =
nullptr);
133 UFUNCTION(BlueprintCallable, Category =
"Sensor")
134 static ARadar* SpawnRadar(
const FTransform& transform,
const FString sensorIdentifier,
const FString sensorName,
FRadarParameters radarParameters,
bool SimulateSensor =
true, AActor* Parent =
nullptr);
143 UFUNCTION(BlueprintCallable, Category =
"Sensor")
144 static ACollisionSensor* SpawnCollisionSensor(
const FTransform& transform, AActor* Owner,
const FString sensorIdentifier,
const FString sensorName,
bool SimulateSensor =
true, AActor* Parent =
nullptr);
154 UFUNCTION(BlueprintCallable, Category =
"Sensor")
155 static ATransformSensor* SpawnTransformSensor(
const FTransform& transform,
FTransformSensorParameters Parameters,
const FString sensorIdentifier,
const FString sensorName,
bool SimulateSensor =
true, AActor* Parent =
nullptr);
164 UFUNCTION(BlueprintCallable, Category =
"Sensor")
165 static AOverlapSensor* SpawnOverlapSensor(
const FTransform& transform,
FOverlapSensorParameters Parameters,
const FString sensorIdentifier,
const FString sensorName, AActor* Parent =
nullptr);
180 template <
typename T>
181 static T* SpawnSensor(
const FTransform& transform,
const FString& sensorIdentifier,
const FString& sensorName,
bool SpawnSensorModel =
true, AActor* Parent =
nullptr);
189 static void SetSensorIdentifierAndNameWithFallbacks(
ASensor* sensor,
const FString& sensorIdentifier,
const FString& sensorName);
204 static ASensorModel* SpawnModelClass(TSubclassOf<ASensorModel> modelClass,
ASensor* attachTo);
209 static void Initialize();
static TWeakObjectPtr< USensorMapDataAsset > SensorMapDataAsset