You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
Some DCC may close a 3d scene without closing the application, in that case they must be able to close the DirectLink source as well. With the simplified DirectLink API (FDatasmithDirectLink) this was only achievable by creating a new scene that would override the existing one, which is not desirable in this case. Our C# exporters can only use the simplified API at the moment and this seems like a common enough use-case to be added to FDatasmithDirectLink. #jira UE-140665 #rb Johan.Duparc #preflight 6290fa2db83292836e093ea2 #preflight 62953a005370042eb043f84a [CL 20433116 by benoit deschenes in ue5-main branch]
40 lines
835 B
C++
40 lines
835 B
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "Containers/UnrealString.h"
|
|
#include "CoreTypes.h"
|
|
#include "Logging/LogMacros.h"
|
|
#include "Templates/SharedPointer.h"
|
|
#include "Templates/UniquePtr.h"
|
|
|
|
DECLARE_LOG_CATEGORY_EXTERN(LogDatasmithDirectLinkExporterAPI, Log, All);
|
|
|
|
|
|
class IDatasmithScene;
|
|
|
|
namespace DirectLink
|
|
{
|
|
class FEndpoint;
|
|
}
|
|
|
|
class DATASMITHEXPORTER_API FDatasmithDirectLink
|
|
{
|
|
public:
|
|
static int32 ValidateCommunicationSetup();
|
|
static bool Shutdown();
|
|
|
|
public:
|
|
FDatasmithDirectLink();
|
|
|
|
bool InitializeForScene(const TSharedRef<IDatasmithScene>& Scene);
|
|
bool UpdateScene(const TSharedRef<IDatasmithScene>& Scene);
|
|
|
|
/**
|
|
* Close the initialized DirectLink source if any.
|
|
*/
|
|
void CloseCurrentSource();
|
|
|
|
static TSharedRef<DirectLink::FEndpoint, ESPMode::ThreadSafe> GetEnpoint();
|
|
};
|