Files
2025-05-18 13:04:45 +08:00

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();
};