diff --git a/unreal/Blocks/Blocks.uproject b/unreal/Blocks/Blocks.uproject index ba3e1b24..d3f7802f 100644 --- a/unreal/Blocks/Blocks.uproject +++ b/unreal/Blocks/Blocks.uproject @@ -1,6 +1,6 @@ { "FileVersion": 3, - "EngineAssociation": "5.1", + "EngineAssociation": "5.6", "Category": "", "Description": "", "Modules": [ diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/LightActorBase.cpp b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/LightActorBase.cpp index d5f7b5fd..063867cf 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/LightActorBase.cpp +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/LightActorBase.cpp @@ -1,6 +1,7 @@ // Copyright (C) Microsoft Corporation. All rights reserved. #include "LightActorBase.h" +#include "Components/LocalLightComponent.h" // Returns true if able to set intensity on all light components // False if any item is nullptr @@ -38,7 +39,7 @@ bool ALightActorBase::SetRadius(float NewRadius) { for(int i = 0; i < lightComponents.Num(); i++) { ULocalLightComponent* localLightComponent = - dynamic_cast(lightComponents[i]); + Cast(lightComponents[i]); if (localLightComponent != nullptr) { localLightComponent->SetAttenuationRadius(NewRadius); diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Renderers/GISRenderer.cpp b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Renderers/GISRenderer.cpp index 3c7357f1..148d1037 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Renderers/GISRenderer.cpp +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Renderers/GISRenderer.cpp @@ -23,6 +23,7 @@ #include "bing_maps_utils.hpp" #include "tile_info.hpp" +#include "core_sim/log_level.hpp" AGISRenderer::AGISRenderer() : SimServer(nullptr), diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Renderers/GISRenderer.h b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Renderers/GISRenderer.h index 9702cf03..e1ebfe78 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Renderers/GISRenderer.h +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Renderers/GISRenderer.h @@ -6,6 +6,7 @@ #include #include #include +#include #include "CoreMinimal.h" #include "GameFramework/Actor.h" diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Renderers/ProcMeshActor.cpp b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Renderers/ProcMeshActor.cpp index 29234fc5..57ac48c1 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Renderers/ProcMeshActor.cpp +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Renderers/ProcMeshActor.cpp @@ -5,6 +5,7 @@ #include "KismetProceduralMeshLibrary.h" #include "Materials/Material.h" #include "Materials/MaterialInstanceDynamic.h" +#include // Sets default values AProcMeshActor::AProcMeshActor() { diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Robot/UnrealRobotLink.cpp b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Robot/UnrealRobotLink.cpp index 85dc5554..94921caa 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Robot/UnrealRobotLink.cpp +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Robot/UnrealRobotLink.cpp @@ -11,6 +11,7 @@ #include "UnrealLogger.h" #include "core_sim/link/geometry/unreal_mesh.hpp" #include "core_sim/math_utils.hpp" +#include "UnrealHelpers.h" namespace projectairsim = microsoft::projectairsim; diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/GPULidar.cpp b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/GPULidar.cpp index 651ecc79..8a0904b5 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/GPULidar.cpp +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/GPULidar.cpp @@ -22,6 +22,7 @@ #include "UObject/ConstructorHelpers.h" #include "UnrealCameraRenderRequest.h" #include "UnrealLogger.h" +#include "UnrealTransforms.h" namespace projectairsim = microsoft::projectairsim; @@ -128,12 +129,12 @@ void UGPULidar::SetupSceneCapture( } // Hide debug points in case "draw-debug-points" is set to true - OutSceneCaptureComp->HideComponent( - Cast(UnrealWorld->LineBatcher)); - OutSceneCaptureComp->HideComponent( - Cast(UnrealWorld->PersistentLineBatcher)); - OutSceneCaptureComp->HideComponent( - Cast(UnrealWorld->ForegroundLineBatcher)); + OutSceneCaptureComp->HideComponent(Cast( + UnrealWorld->GetLineBatcher(UWorld::ELineBatcherType::World))); + OutSceneCaptureComp->HideComponent(Cast( + UnrealWorld->GetLineBatcher(UWorld::ELineBatcherType::WorldPersistent))); + OutSceneCaptureComp->HideComponent(Cast( + UnrealWorld->GetLineBatcher(UWorld::ELineBatcherType::Foreground))); OutSceneCaptureComp->RegisterComponent(); auto RenderTarget = NewObject(); diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/ImagePackingAsyncTask.cpp b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/ImagePackingAsyncTask.cpp index ac57511f..ecd6d4b9 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/ImagePackingAsyncTask.cpp +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/ImagePackingAsyncTask.cpp @@ -5,6 +5,7 @@ #include #include "core_sim/message/image_message.hpp" +#include "UnrealLogger.h" namespace projectairsim = microsoft::projectairsim; diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/ImagePackingAsyncTask.h b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/ImagePackingAsyncTask.h index 5135c9ba..3d470db3 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/ImagePackingAsyncTask.h +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/ImagePackingAsyncTask.h @@ -8,6 +8,7 @@ #include "UnrealCameraRenderRequest.h" #include "core_sim/sensors/camera.hpp" #include "core_sim/transforms/transform_utils.hpp" +#include "UnrealCamera.h" // This class follows the example template in Unreal's AsyncWork.h for // FAutoDeleteAsyncTask that deletes itself after completion on a background diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/LidarIntensitySceneViewExtension.cpp b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/LidarIntensitySceneViewExtension.cpp index c2b6d8a9..cecf1c71 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/LidarIntensitySceneViewExtension.cpp +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/LidarIntensitySceneViewExtension.cpp @@ -11,6 +11,7 @@ #include "SceneRendering.h" #include "LidarIntensityShader.h" +#include "PostProcess/SceneFilterRendering.h" static const bool DEBUG_RENDER_TO_VIEWPORT = false; @@ -196,12 +197,12 @@ void FLidarIntensitySceneViewExtension::PrePostProcessPass_RenderThread( FScreenPassPipelineState(VertexShader, PixelShader, DefaultBlendState, DepthStencilState), [&](FRHICommandListImmediate& RHICmdList) { - VertexShader->SetParameters(RHICmdList, View); + VertexShader->SetParameters(RHICmdList.GetScratchShaderParameters(), View); SetShaderParameters(RHICmdList, VertexShader, VertexShader.GetVertexShader(), *PostProcessMaterialParameters); - PixelShader->SetParameters(RHICmdList, View); + PixelShader->SetParameters(RHICmdList.GetScratchShaderParameters(), View); SetShaderParameters(RHICmdList, PixelShader, PixelShader.GetPixelShader(), *PostProcessMaterialParameters); @@ -288,12 +289,12 @@ void FLidarIntensitySceneViewExtension::PrePostProcessPass_RenderThread( RDG_EVENT_NAME("FCopyBufferToCPUPass"), CopyPassParameters, ERDGPassFlags::Readback, [this, &InitialData, PointCloudBufferRDG, BufferSize](FRHICommandList& RHICmdList) { - InitialData = (float*)RHILockBuffer(PointCloudBufferRDG->GetRHI(), 0, + InitialData = (float*)RHICmdList.LockBuffer(PointCloudBufferRDG->GetRHI(), 0, BufferSize, RLM_ReadOnly); FMemory::Memcpy(LidarPointCloudData.data(), InitialData, BufferSize); - RHIUnlockBuffer(PointCloudBufferRDG->GetRHI()); + RHICmdList.UnlockBuffer(PointCloudBufferRDG->GetRHI()); }); } diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/LidarIntensitySceneViewExtension.h b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/LidarIntensitySceneViewExtension.h index f90ddd1e..83e3be38 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/LidarIntensitySceneViewExtension.h +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/LidarIntensitySceneViewExtension.h @@ -17,12 +17,10 @@ class FLidarIntensitySceneViewExtension : public FSceneViewExtensionBase { FSceneView& InView) override {}; virtual void BeginRenderViewFamily(FSceneViewFamily& InViewFamily) override {}; virtual void PreRenderViewFamily_RenderThread( - FRHICommandListImmediate& RHICmdList, + FRDGBuilder& GraphBuilder, FSceneViewFamily& InViewFamily) override {}; - virtual void PreRenderView_RenderThread(FRHICommandListImmediate& RHICmdList, + virtual void PreRenderView_RenderThread(FRDGBuilder& GraphBuilder, FSceneView& InView) override {}; - virtual void PostRenderBasePass_RenderThread( - FRHICommandListImmediate& RHICmdList, FSceneView& InView) override {}; // Only implement this, called right before post processing begins. virtual void PrePostProcessPass_RenderThread( diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/LidarIntensityShader.h b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/LidarIntensityShader.h index 673ae5e8..916d07d5 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/LidarIntensityShader.h +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/LidarIntensityShader.h @@ -2,18 +2,18 @@ #include "CoreMinimal.h" #include "UnrealCameraRenderRequest.h" -#include "Runtime/Engine/Classes/Engine/TextureRenderTarget2D.h" +#include "Engine/TextureRenderTarget2D.h" #include "RHI.h" #include "RHIStaticStates.h" -#include "Runtime/RenderCore/Public/ShaderParameterUtils.h" -#include "Runtime/RenderCore/Public/RenderResource.h" -#include "Runtime/Renderer/Public/MaterialShader.h" -#include "Runtime/RenderCore/Public/RenderGraphResources.h" +#include "ShaderParameterUtils.h" +#include "RenderResource.h" +#include "MaterialShader.h" +#include "RenderGraphResources.h" // FScreenPassTextureViewportParameters and FScreenPassTextureInput -#include "Runtime/Renderer/Private/ScreenPass.h" -#include "Runtime/Renderer/Private/SceneTextureParameters.h" +#include "ScreenPass.h" +#include "SceneTextureParameters.h" BEGIN_SHADER_PARAMETER_STRUCT(FLidarIntensityShaderInputParameters, ) SHADER_PARAMETER_STRUCT_REF(FViewUniformShaderParameters, View) @@ -51,9 +51,9 @@ class FLidarIntensityPS : public FLidarIntensityShader { const ShaderMetaType::CompiledShaderInitializerType& Initializer) : FLidarIntensityShader(Initializer) {} - void SetParameters(FRHICommandList& RHICmdList, const FSceneView& View) { + void SetParameters(FRHIBatchedShaderParameters& BatchedParameters, const FSceneView& View) { FGlobalShader::SetParameters( - RHICmdList, RHICmdList.GetBoundPixelShader(), View.ViewUniformBuffer); + BatchedParameters, View.ViewUniformBuffer); } static void ModifyCompilationEnvironment( @@ -73,8 +73,8 @@ class FLidarIntensityVS : public FLidarIntensityShader { const ShaderMetaType::CompiledShaderInitializerType& Initializer) : FLidarIntensityShader(Initializer) {} - void SetParameters(FRHICommandList& RHICmdList, const FSceneView& View) { + void SetParameters(FRHIBatchedShaderParameters& BatchedParameters, const FSceneView& View) { FGlobalShader::SetParameters( - RHICmdList, RHICmdList.GetBoundVertexShader(), View.ViewUniformBuffer); + BatchedParameters, View.ViewUniformBuffer); } }; \ No newline at end of file diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealCamera.cpp b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealCamera.cpp index a22bc114..a4fba2b4 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealCamera.cpp +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealCamera.cpp @@ -31,6 +31,7 @@ #include "core_sim/message/image_message.hpp" #include "core_sim/sensors/camera.hpp" #include "core_sim/transforms/transform_utils.hpp" +#include "UnrealTransforms.h" namespace projectairsim = microsoft::projectairsim; @@ -146,12 +147,12 @@ void UUnrealCamera::LoadCameraMaterials() { void HideDebugDrawComponent(USceneCaptureComponent2D* CaptureComponent, UWorld* UnrealWorld) { + CaptureComponent->HideComponent(Cast( + UnrealWorld->GetLineBatcher(UWorld::ELineBatcherType::World))); CaptureComponent->HideComponent( - Cast(UnrealWorld->LineBatcher)); - CaptureComponent->HideComponent( - Cast(UnrealWorld->PersistentLineBatcher)); - CaptureComponent->HideComponent( - Cast(UnrealWorld->ForegroundLineBatcher)); + Cast(UnrealWorld->GetLineBatcher(UWorld::ELineBatcherType::WorldPersistent))); + CaptureComponent->HideComponent(Cast( + UnrealWorld->GetLineBatcher(UWorld::ELineBatcherType::Foreground))); } void UUnrealCamera::CreateComponents() { @@ -915,7 +916,7 @@ void UUnrealCamera::OnRendered( FTextureRenderTargetResource* RtResource = CaptureComponent->TextureTarget->GetRenderTargetResource(); if (RtResource) { - FRHITexture2D* Texture = RtResource->GetRenderTargetTexture(); + FRHITexture* Texture = RtResource->GetRenderTargetTexture(); // Copy pixel values out of Unreal's RHI UnrealCameraRenderRequest::RenderResult ImageResult; auto bIsDepthImage = diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealCameraRenderRequest.cpp b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealCameraRenderRequest.cpp index 4915b0e6..8f8b78bc 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealCameraRenderRequest.cpp +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealCameraRenderRequest.cpp @@ -18,7 +18,7 @@ void OnEndPlay() { ImageWrapperModule = nullptr; } -void ReadPixels(FRHITexture2D* Texture, bool bPixelsAsFloat, +void ReadPixels(FRHITexture* Texture, bool bPixelsAsFloat, RenderResult* ImageResult) { FRHICommandListImmediate& RHICmdList = GetImmediateCommandList_ForRenderCommand(); diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealCameraRenderRequest.h b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealCameraRenderRequest.h index ce2a0e16..865b080d 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealCameraRenderRequest.h +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealCameraRenderRequest.h @@ -4,6 +4,7 @@ #pragma once #include "CoreMinimal.h" +#include "core_sim/clock.hpp" namespace UnrealCameraRenderRequest { @@ -23,7 +24,7 @@ void OnEndPlay(); void OnBeginPlay(); -void ReadPixels(FRHITexture2D* Texture, bool bPixelsAsFloat, +void ReadPixels(FRHITexture* Texture, bool bPixelsAsFloat, RenderResult* ImageResult); bool CompressUsingImageWrapper(const TArray& UnCompressed, diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealDistanceSensor.cpp b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealDistanceSensor.cpp index 15f85202..79829da0 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealDistanceSensor.cpp +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealDistanceSensor.cpp @@ -12,6 +12,7 @@ #include "Runtime/Core/Public/Async/ParallelFor.h" #include "Runtime/Engine/Classes/Kismet/KismetMathLibrary.h" #include "UnrealLogger.h" +#include "UnrealTransforms.h" namespace projectairsim = microsoft::projectairsim; diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealLidar.cpp b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealLidar.cpp index b505e49b..6aa7528c 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealLidar.cpp +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealLidar.cpp @@ -12,6 +12,8 @@ #include "Runtime/Core/Public/Async/ParallelFor.h" #include "Runtime/Engine/Classes/Kismet/KismetMathLibrary.h" #include "UnrealLogger.h" +#include "UnrealTransforms.h" +#include "core_sim/clock.hpp" namespace projectairsim = microsoft::projectairsim; diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealLidar.h b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealLidar.h index 3ef6bab0..c66b943d 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealLidar.h +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealLidar.h @@ -12,6 +12,7 @@ #include "core_sim/clock.hpp" #include "core_sim/sensors/lidar.hpp" #include "core_sim/transforms/transform_utils.hpp" +#include // comment so that generated.h is always the last include file with clang-format #include "UnrealLidar.generated.h" diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealRadar.cpp b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealRadar.cpp index f94a1cc7..03eba43e 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealRadar.cpp +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/Sensors/UnrealRadar.cpp @@ -483,8 +483,8 @@ inline projectairsim::Kinematics UUnrealRadar::GetKinematicsFromActor( // cast to get their kinematics. projectairsim::Kinematics Kin; // constructs with zero values - const AUnrealRobot* RobotActor = Cast(Actor); - const AUnrealEnvActor* EnvActor = Cast(Actor); + const AUnrealRobot* RobotActor = Cast(Actor); + const AUnrealEnvActor* EnvActor = Cast(Actor); if (RobotActor) { Kin = RobotActor->GetKinematics(); diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/UnrealHelpers.h b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/UnrealHelpers.h index d6051c07..e4293867 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/UnrealHelpers.h +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/UnrealHelpers.h @@ -28,6 +28,7 @@ #include "Runtime/Engine/Classes/Engine/StaticMesh.h" #include "UnrealLogger.h" #include "core_sim/transforms/transform_utils.hpp" +#include "ProceduralMeshComponent.h" // comment so that generated.h is always the last include file with clang-format #include "UnrealHelpers.generated.h" diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/UnrealLogger.h b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/UnrealLogger.h index 09bbe445..0091fcdc 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/UnrealLogger.h +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/UnrealLogger.h @@ -11,9 +11,9 @@ DECLARE_LOG_CATEGORY_EXTERN(SimPlugin, All, All); class UnrealLogger { public: - template + template static void Log(microsoft::projectairsim::LogLevel level, - const TCHAR (&format)[N], ArgTypes... args); + UE::Core::TCheckedFormatString format, ArgTypes... args); static void LogSim(const std::string& module, microsoft::projectairsim::LogLevel level, @@ -23,9 +23,9 @@ class UnrealLogger { static std::string GetTimeStamp(); }; -template +template inline void UnrealLogger::Log(microsoft::projectairsim::LogLevel level, - const TCHAR (&format)[N], ArgTypes... args) { + UE::Core::TCheckedFormatString format, ArgTypes... args) { FString LogMessage = FString::Printf(format, args...); // Output to Unreal's native log file/console diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/UnrealScene.cpp b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/UnrealScene.cpp index c836103f..10042395 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/UnrealScene.cpp +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/UnrealScene.cpp @@ -19,6 +19,7 @@ #include "UnrealLogger.h" #include "World/WeatherLib.h" #include "core_sim/clock.hpp" +#include "Sensors/UnrealCamera.h" namespace projectairsim = microsoft::projectairsim; @@ -606,7 +607,6 @@ bool AUnrealScene::GetSimBoundingBox3D( nlohmann::json AUnrealScene::Get3DBoundingBoxServiceMethod( const std::string& object_name, int box_alignment) { - FRotator BoxRotation; FOrientedBox OrientedBox; projectairsim::BBox3D OutBBox; auto BoxAlignment = diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/UnrealScene.h b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/UnrealScene.h index eed03143..d39a6ba1 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/UnrealScene.h +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/UnrealScene.h @@ -114,7 +114,7 @@ class AUnrealScene : public AActor { TimeNano unreal_time; bool using_unreal_physics; - std::unique_ptr world_api; + std::unique_ptr world_api; std::shared_ptr time_of_day; std::vector objects_; diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/UnrealSimLoader.cpp b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/UnrealSimLoader.cpp index 0ad674da..3bd6d2d0 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/UnrealSimLoader.cpp +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/UnrealSimLoader.cpp @@ -14,6 +14,7 @@ #include "UnrealLogger.h" #include "UnrealScene.h" #include "simserver.hpp" +#include "Constant.h" #ifdef ENABLE_CESIUM #include "Cesium3DTileset.h" diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/World/WorldSimApi.cpp b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/World/WorldSimApi.cpp index 2fa4ec2b..27a6f760 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/World/WorldSimApi.cpp +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/Private/World/WorldSimApi.cpp @@ -12,6 +12,8 @@ #include "assimp/postprocess.h" #include "assimp/scene.h" #include "core_sim/actor/env_actor.hpp" +#include "assimp/Importer.hpp" +#include "core_sim/geodetic_converter.hpp" namespace projectairsim = microsoft::projectairsim; @@ -1243,7 +1245,7 @@ std::vector WorldSimApi::swapTextures(const std::string& tag, } if (invalidChoice) continue; - dynamic_cast(shuffler)->SwapTexture( + Cast(shuffler)->SwapTexture( tex_id, component_id, material_id); swappedObjectNames.push_back(TCHAR_TO_UTF8(*shuffler->GetName())); } diff --git a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/ProjectAirSim.Build.cs b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/ProjectAirSim.Build.cs index 4db4fca4..43d1f49d 100644 --- a/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/ProjectAirSim.Build.cs +++ b/unreal/Blocks/Plugins/ProjectAirSim/Source/ProjectAirSim/ProjectAirSim.Build.cs @@ -8,9 +8,7 @@ public class ProjectAirSim : ModuleRules { public ProjectAirSim(ReadOnlyTargetRules Target) : base(Target) { - CppStandard = CppStandardVersion.Cpp17; PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; - PrivatePCHHeaderFile = "Public/ProjectAirSim.h"; // Allow Unreal's default setting for IWYU instead of setting explicitly // bEnforceIWYU = true; // UE <= 5.1 @@ -18,8 +16,6 @@ public ProjectAirSim(ReadOnlyTargetRules Target) : base(Target) bEnableExceptions = true; - // Silence MSVC 14.25.28610 deprecation warning from Eigen - PublicDefinitions.Add("_SILENCE_CXX17_RESULT_OF_DEPRECATION_WARNING"); string buildType = (Target.Configuration == UnrealTargetConfiguration.Debug || Target.Configuration == UnrealTargetConfiguration.DebugGame) @@ -44,7 +40,6 @@ public ProjectAirSim(ReadOnlyTargetRules Target) : base(Target) if (Target.Platform == UnrealTargetPlatform.Win64) { List liststrIncludes = new List { - ModuleDirectory + "/Private", PluginDirectory + "/SimLibs/core_sim/include", PluginDirectory + "/SimLibs/simserver/include", PluginDirectory + "/SimLibs/physics/include", @@ -62,6 +57,7 @@ public ProjectAirSim(ReadOnlyTargetRules Target) : base(Target) if (buildType == "Debug") liststrIncludes.Add(PluginDirectory + "/SimLibs/lvmon/include"); + liststrIncludes.Add(Path.Combine(GetModuleDirectory("Renderer"), "Internal")); PrivateIncludePaths.AddRange(liststrIncludes); } diff --git a/unreal/Blocks/Source/Blocks.Target.cs b/unreal/Blocks/Source/Blocks.Target.cs index 79a596dc..990cd7de 100644 --- a/unreal/Blocks/Source/Blocks.Target.cs +++ b/unreal/Blocks/Source/Blocks.Target.cs @@ -8,7 +8,7 @@ public class BlocksTarget : TargetRules public BlocksTarget(TargetInfo Target) : base(Target) { Type = TargetType.Game; - DefaultBuildSettings = BuildSettingsVersion.V2; + DefaultBuildSettings = BuildSettingsVersion.Latest; IncludeOrderVersion = EngineIncludeOrderVersion.Latest; // from UE5.1 ExtraModuleNames.AddRange(new string[] { "Blocks" }); diff --git a/unreal/Blocks/Source/BlocksEditor.Target.cs b/unreal/Blocks/Source/BlocksEditor.Target.cs index b1b3e6c7..49921cc9 100644 --- a/unreal/Blocks/Source/BlocksEditor.Target.cs +++ b/unreal/Blocks/Source/BlocksEditor.Target.cs @@ -8,7 +8,7 @@ public class BlocksEditorTarget : TargetRules public BlocksEditorTarget(TargetInfo Target) : base(Target) { Type = TargetType.Editor; - DefaultBuildSettings = BuildSettingsVersion.V2; + DefaultBuildSettings = BuildSettingsVersion.Latest; IncludeOrderVersion = EngineIncludeOrderVersion.Latest; // from UE5.1 ExtraModuleNames.AddRange(new string[] { "Blocks" });