Files
UnrealEngineUWP/Engine/Plugins/Runtime/Metasound/Source/MetasoundFrontend/Public/NodeTemplates/MetasoundFrontendNodeTemplateReroute.h
Rob Gay 2b17ace435 Node Template Preprocessor Updates
- Conform template build step nominclature to "Document Preprocessing" (as it may be used either directly before building or at time post serialization)
- Use new preprocessor to cache edge data for more performant reroute template processing
#rb phil.popp
#rnx
#jira UE-160476
#preflight 62fbe79fad3bd8ad645963ec

[CL 21413130 by Rob Gay in ue5-main branch]
2022-08-16 16:19:43 -04:00

39 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "MetasoundFrontendController.h"
#include "MetasoundFrontendDocument.h"
#include "MetasoundFrontendNodeTemplateRegistry.h"
#include "MetasoundFrontendTransform.h"
#include "Templates/SharedPointer.h"
#include "UObject/NoExportTypes.h"
namespace Metasound
{
namespace Frontend
{
class METASOUNDFRONTEND_API FRerouteNodeTemplate : public INodeTemplate
{
public:
static const FMetasoundFrontendClassName ClassName;
static const FMetasoundFrontendVersion Version;
static const FNodeRegistryKey& GetRegistryKey();
static FMetasoundFrontendNodeInterface CreateNodeInterfaceFromDataType(FName InDataType);
virtual ~FRerouteNodeTemplate() = default;
virtual TUniquePtr<INodeTransform> GenerateNodeTransform(FMetasoundFrontendDocument& InPreprocessedDocument) const override;
virtual const FMetasoundFrontendClass& GetFrontendClass() const override;
virtual const FMetasoundFrontendVersion& GetVersion() const override;
virtual bool IsValidNodeInterface(const FMetasoundFrontendNodeInterface& InNodeInterface) const override;
#if WITH_EDITOR
virtual bool HasRequiredConnections(FConstNodeHandle InNodeHandle) const override;
#endif // WITH_EDITOR
};
} // namespace Frontend
} // namespace Metasound