Agrarsense
|
#include <SimulatorJsonParser.h>
Static Public Member Functions | |
static void | ParseAndOperateJSONFile (const FString &Path) |
Static Private Member Functions | |
static void | ParseVehicle (const TSharedPtr< FJsonObject > &JsonObject) |
static void | ParsePropOrFoliage (const TSharedPtr< FJsonObject > &JsonObject, const FString &ObjectType) |
static void | SpawnSensorToVehicle (AVehicle *Vehicle, const TSharedPtr< FJsonObject > &SensorObject, bool HideVehicleMeshForCameras=false) |
static void | SpawnSensorWorld (const TSharedPtr< FJsonObject > &SensorObject) |
static void | SpawnWalker (const TSharedPtr< FJsonObject > &JsonObject) |
static void | ParseWalkerSpawnPoints (const TSharedPtr< FJsonObject > &ParametersObject, FWalkerParameters &WalkerParams) |
static void | ChangeWeather (const TSharedPtr< FJsonObject > &JsonObject) |
static void | ParseAndSetDroneParameters (APIDDrone *DronePtr, const TSharedPtr< FJsonObject > &JsonObject) |
static void | ParseAndSetWheeledVehicleParameters (AVehicle *VehiclePtr, const TSharedPtr< FJsonObject > &JsonObject) |
static void | HandleSpectatorMovement (const TSharedPtr< FJsonObject > &JsonObject, AActor *Actor, const FTransform &Transform) |
static void | AttachActorToSpectatorCamera (AActor *ActorPtr) |
static void | ParseAndSetSemanticColors (const TSharedPtr< FJsonObject > &JsonObject) |
static void | ParseCommands (const TSharedPtr< FJsonObject > &JsonObject) |
static void | ParseVolumeDeletion (const TSharedPtr< FJsonObject > &JsonObject) |
static void | ParseDataCapture (const TSharedPtr< FJsonObject > &JsonObject) |
static FTransform | ParseTransform (const FString &FieldName, const TSharedPtr< FJsonObject > &Object) |
static FVector4 | ParseVector4 (const FString &FieldName, const TSharedPtr< FJsonObject > &Object) |
static FThermalCameraParameters | ParseThermalCameraParameters (const TSharedPtr< FJsonObject > &ParametersObject) |
static int32 | GetIntValueOrDefault (const TSharedPtr< FJsonObject > &JsonObject, const FString &FieldName, int32 DefaultValue) |
template<typename T > | |
static T | ParseParameters (const TSharedPtr< FJsonObject > &ParametersObject) |
Static Private Attributes | |
static bool | IsDataCapture = false |
static TArray< ASensor * > | SpawnedSensorsForDataCapture |
Static UBlueprintFunctionLibrary that reads and parses JSON file content. It processes the parsed data and attempts to spawn objects as defined within the JSON file.
Definition at line 34 of file SimulatorJsonParser.h.
|
staticprivate |
Definition at line 867 of file SimulatorJsonParser.cpp.
References ASensor::GetSensorModel(), and UAgrarsenseStatics::GetSpectator().
Referenced by SpawnSensorWorld().
|
staticprivate |
Definition at line 667 of file SimulatorJsonParser.cpp.
References AWeather::GetCurrentWeather(), UAgrarsenseStatics::GetWeatherActor(), and AWeather::UpdateWeather().
Referenced by ParseAndOperateJSONFile().
|
staticprivate |
Definition at line 1163 of file SimulatorJsonParser.cpp.
Referenced by SpawnWalker().
|
staticprivate |
Definition at line 819 of file SimulatorJsonParser.cpp.
References UAgrarsenseStatics::GetSimulationLevelManager(), UAgrarsenseStatics::GetSpectator(), ASimulationLevelManager::TakeManualControlOfVehicle(), ASpectator::TeleportSpectator(), and Transform.
Referenced by ParseVehicle(), SpawnSensorWorld(), and SpawnWalker().
|
static |
Try to load json file from Path and operate it based on the JSON content.
Path | full path to the JSON file, ex. C:\Agrarsense\Examples\ExampleJsonFiles\lidar.json |
Definition at line 64 of file SimulatorJsonParser.cpp.
References ChangeWeather(), IsDataCapture, UAgrarsenseSettings::IsPlayingInMainMenu(), SimulatorLog::Log(), ParseAndSetSemanticColors(), ParseCommands(), ParseDataCapture(), ParsePropOrFoliage(), ParseVehicle(), ParseVolumeDeletion(), SpawnedSensorsForDataCapture, SpawnSensorWorld(), and SpawnWalker().
Referenced by UROSCommands::HandleSpawnObjects(), and SDragAndDropWidget::OnDrop().
|
staticprivate |
Definition at line 707 of file SimulatorJsonParser.cpp.
References UPhysicsUtilities::AlignTransformFromGroundInMeters(), APIDDrone::ChangeDroneParameters(), FDroneParameters::CollisionsEnabled, FDroneParameters::CreateInnerOverlapSensor, FDroneParameters::DroneAction, FDroneParameters::DroneEndAction, GetDroneAction(), GetDroneEndAction(), FDroneParameters::InnerOverlapRadiusMeters, FDroneParameters::OverlapRadiusMeters, ParseTransform(), FDroneParameters::Points, APIDDrone::SetDrawDebugPoints(), APIDDrone::SetShowForwardArrow(), FDroneParameters::ShowForwardArrow, and FDroneParameters::VisualizeOverlap.
Referenced by ParseVehicle().
|
staticprivate |
Definition at line 912 of file SimulatorJsonParser.cpp.
References UMaterialParameterCollectionUtilities::LoadMaterialParameterCollectionInstance(), SimulatorLog::Log(), and UMaterialParameterCollectionUtilities::UpdateMaterialCollectionVectorValue().
Referenced by ParseAndOperateJSONFile().
|
staticprivate |
Definition at line 803 of file SimulatorJsonParser.cpp.
References AVehicle::GetVehicleParameters(), and AVehicle::SetVehicleParameters().
Referenced by ParseVehicle().
|
staticprivate |
Definition at line 960 of file SimulatorJsonParser.cpp.
Referenced by ParseAndOperateJSONFile().
|
staticprivate |
Definition at line 1017 of file SimulatorJsonParser.cpp.
References UPhysicsUtilities::AlignTransformFromGroundInMeters(), FCaptureData::CapturePositions, FCaptureData::CaptureRotatedViews, ParseTransform(), FCaptureData::Sensors, ADataCapture::SetupDataCapture(), SpawnedSensorsForDataCapture, FCaptureData::UseGPSLocation, and FCaptureData::UseHeightAboveGround.
Referenced by ParseAndOperateJSONFile().
|
inlinestaticprivate |
Templated function to parse parameters from JSON object into specific struct. Requires the struct type T to have a StaticStruct method compatible with FJsonObjectConverter::JsonObjectToUStruct.
SensorObject | The JSON object from which to parse the parameters. |
Definition at line 95 of file SimulatorJsonParser.h.
|
staticprivate |
Definition at line 282 of file SimulatorJsonParser.cpp.
References UEnumUtilities::ConvertStringToFoliageType(), UEnumUtilities::ConvertStringToPropType(), ParseTransform(), UAssetLibrary::SpawnFoliage(), and UAssetLibrary::SpawnProp().
Referenced by ParseAndOperateJSONFile().
|
staticprivate |
Definition at line 1139 of file SimulatorJsonParser.cpp.
References FThermalCameraParameters::AllowCustomNoiseResolution, FThermalCameraParameters::CameraParameters, FThermalCameraParameters::ColdColor, FThermalCameraParameters::HeightResolutionNoise, ParseVector4(), FThermalCameraParameters::WarmColor, and FThermalCameraParameters::WidthResolutionNoise.
Referenced by SpawnSensorWorld().
|
staticprivate |
Definition at line 1080 of file SimulatorJsonParser.cpp.
Referenced by ParseAndSetDroneParameters(), ParseDataCapture(), ParsePropOrFoliage(), ParseVehicle(), ParseVolumeDeletion(), ParseWalkerSpawnPoints(), SpawnSensorToVehicle(), and SpawnSensorWorld().
|
staticprivate |
Definition at line 1121 of file SimulatorJsonParser.cpp.
Referenced by ParseThermalCameraParameters().
|
staticprivate |
Definition at line 209 of file SimulatorJsonParser.cpp.
References UPhysicsUtilities::AlignTransformFromGroundInMeters(), UEnumUtilities::ConvertStringToVehicleType(), Drone, HandleSpectatorMovement(), ParseAndSetDroneParameters(), ParseAndSetWheeledVehicleParameters(), ParseTransform(), SpawnSensorToVehicle(), and UAssetLibrary::SpawnVehicle().
Referenced by ParseAndOperateJSONFile().
|
staticprivate |
Definition at line 987 of file SimulatorJsonParser.cpp.
References ADeletionVolume::ChangeOverlapBounds(), ADeletionVolume::DestroyOverlappingActors(), and ParseTransform().
Referenced by ParseAndOperateJSONFile().
|
staticprivate |
Definition at line 631 of file SimulatorJsonParser.cpp.
References ParseTransform(), and FWalkerParameters::Points.
Referenced by SpawnWalker().
|
staticprivate |
Definition at line 314 of file SimulatorJsonParser.cpp.
References UEnumUtilities::ConvertStringToSensorType(), DepthCamera, DVSCamera, InstanceSegmentationCamera, Lidar, ParseTransform(), Radar, RGBCamera, SemanticSegmentationCamera, ThermalCamera, and Vehicle.
Referenced by ParseVehicle().
|
staticprivate |
Definition at line 422 of file SimulatorJsonParser.cpp.
References UPhysicsUtilities::AlignTransformFromGroundInMeters(), AttachActorToSpectatorCamera(), UEnumUtilities::ConvertStringToSensorType(), DepthCamera, DVSCamera, ASimulationLevelManager::GetSensorsManager(), UAgrarsenseStatics::GetSimulationLevelManager(), HandleSpectatorMovement(), InstanceSegmentationCamera, IsDataCapture, Lidar, SimulatorLog::Log(), ParseThermalCameraParameters(), ParseTransform(), Radar, RGBCamera, SemanticSegmentationCamera, SpawnedSensorsForDataCapture, and ThermalCamera.
Referenced by ParseAndOperateJSONFile().
|
staticprivate |
Definition at line 545 of file SimulatorJsonParser.cpp.
References UEnumUtilities::ConvertStringToWalkerActionType(), UEnumUtilities::ConvertStringToWalkerEndActionType(), UEnumUtilities::ConvertStringToWalkerType(), FWalkerParameters::CreateTransformTopic, GetIntValueOrDefault(), HandleSpectatorMovement(), SimulatorLog::Log(), NONE, ParseWalkerSpawnPoints(), FWalkerParameters::Points, Roaming, UAssetLibrary::SpawnWalker(), Walker, FWalkerParameters::WalkerAction, FWalkerParameters::WalkerEndAction, FWalkerParameters::WalkerSpeed, and FWalkerParameters::WalkerType.
Referenced by ParseAndOperateJSONFile().
|
staticprivate |
Definition at line 107 of file SimulatorJsonParser.h.
Referenced by ParseAndOperateJSONFile(), and SpawnSensorWorld().
|
staticprivate |
Definition at line 109 of file SimulatorJsonParser.h.
Referenced by ParseAndOperateJSONFile(), ParseDataCapture(), and SpawnSensorWorld().