8#include "CoreMinimal.h"
9#include "EngineMinimal.h"
10#include "Kismet/BlueprintFunctionLibrary.h"
11#include "JsonObjectConverter.h"
12#include "Dom/JsonObject.h"
13#include "JsonUtilities.h"
19#include "SimulatorJsonExporter.generated.h"
52 UFUNCTION(BlueprintCallable, Category =
"Json Export Utilities")
53 static FString ExportInstancedActorsToJSON(FString FileName,
const TArray<AInstancedActor*>& Actors);
64 UFUNCTION(BlueprintCallable, Category =
"Json Export Utilities")
65 static FString ExportVehicleAndSensorsToJSON(FString FileName,
AVehicle*
Vehicle,
bool OverrideTransform =
false,
const FTransform&
Transform = FTransform());
73 UFUNCTION(BlueprintCallable, Category =
"Json Export Utilities")
74 static FString ExportWeatherToJSON(
const FString& FileName,
const FWeatherParameters& WeatherParameters);
82 UFUNCTION(BlueprintCallable, Category =
"Json Export Utilities")
83 static FString ExportWalkerToJSON(
const FString& FileName,
AWalker*
Walker);
92 UFUNCTION(BlueprintCallable, Category =
"Json Export Utilities")
93 static FString ExportSensorToJSON(
const FString& FileName,
ASensor* Sensor);
98 UFUNCTION(BlueprintCallable, Category =
"Json Export Utilities")
99 static bool ExportCaptureLocations(TArray<FTransform> Transforms);
103 static TArray<TSharedPtr<FJsonValue>> ParseLidars(
const TArray<ALidar*>& Lidars);
105 static TArray<TSharedPtr<FJsonValue>> ParseCameras(
const TArray<ACamera*>& Cameras);
107 static TArray<TSharedPtr<FJsonValue>> ParseDepthCameras(
const TArray<ADepthCamera*>& DepthCameras);
109 static TArray<TSharedPtr<FJsonValue>> ParseThermalCameras(
const TArray<AThermalCamera*>& ThermalCameras);
111 static TArray<TSharedPtr<FJsonValue>> ParseDVSCameras(
const TArray<ADVSCamera*>& DVSCameras);
113 static TArray<TSharedPtr<FJsonValue>> ParseRadars(
const TArray<ARadar*>& Radars);
115 static TSharedPtr<FJsonObject> CreateSensorJSONObject(
const ASensor* SensorPtr, FString SensorName);
117 static TSharedPtr<FJsonObject> CameraParametersToJSONObject(
const FCameraBaseParameters& Parameters);
119 static void SetSpawnPoint(TSharedPtr<FJsonObject>& ObjectEntry,
const FVector& Location,
const FRotator& Rotation,
const FVector& Scale);
121 static void SetDroneParameters(TSharedPtr<FJsonObject>& ObjectEntry,
AVehicle* VehiclePtr);
129 static FString CreateUniqueFilePath(FString FileName);
132 UFUNCTION(BlueprintCallable, Category =
"Json Export Utilities")
133 static FString ExportAsDroneFollowPath(
const FString& FileName, TArray<FTransform>& Transforms);
135 UFUNCTION(BlueprintCallable, Category =
"Json Export Utilities")
136 static FString ExportAsDataCapture(
const FString& FileName, TArray<FTransform>& Transforms);