Files
UnrealEngineUWP/Engine/Source/Developer/MeshBuilder/Public/IMeshBuilderModule.h
Rolando Caloca 5b82f15def Copying //UE4/Dev-RenderPlat-Staging@11388153 to //UE4/Main
#rb none
#rnx

[CL 11388545 by Rolando Caloca in Main branch]
2020-02-12 13:27:19 -05:00

31 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Modules/ModuleInterface.h"
#include "Modules/ModuleManager.h"
#include "Interfaces/ITargetPlatform.h"
#include "Interfaces/ITargetPlatformManagerModule.h"
class IMeshBuilderModule : public IModuleInterface
{
public:
static inline IMeshBuilderModule& GetForPlatform(const ITargetPlatform* TargetPlatform)
{
check(TargetPlatform);
return FModuleManager::LoadModuleChecked<IMeshBuilderModule>(TargetPlatform->GetMeshBuilderModuleName());
}
static inline IMeshBuilderModule& GetForRunningPlatform()
{
const ITargetPlatform* TargetPlatform = GetTargetPlatformManagerRef().GetRunningTargetPlatform();
return GetForPlatform(TargetPlatform);
}
virtual void AppendToDDCKey(FString& DDCKey) { }
virtual bool BuildMesh(class FStaticMeshRenderData& OutRenderData, class UObject* Mesh, const class FStaticMeshLODGroup& LODGroup) { return false; }
virtual bool BuildSkeletalMesh(class USkeletalMesh* SkeletalMesh, int32 LODIndex, const bool bRegenDepLODs) { return false; }
};