2019-12-26 15:33:43 -05:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
2019-09-17 19:12:19 -04:00
|
|
|
|
|
|
|
|
#include "RigVMModel/Nodes/RigVMParameterNode.h"
|
|
|
|
|
|
2022-09-24 13:31:25 -04:00
|
|
|
#include UE_INLINE_GENERATED_CPP_BY_NAME(RigVMParameterNode)
|
|
|
|
|
|
2020-01-22 17:58:55 -05:00
|
|
|
const FString URigVMParameterNode::ParameterName = TEXT("Parameter");
|
|
|
|
|
const FString URigVMParameterNode::DefaultName = TEXT("Default");
|
2019-09-17 19:12:19 -04:00
|
|
|
const FString URigVMParameterNode::ValueName = TEXT("Value");
|
|
|
|
|
|
|
|
|
|
URigVMParameterNode::URigVMParameterNode()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FString URigVMParameterNode::GetNodeTitle() const
|
|
|
|
|
{
|
|
|
|
|
return GetParameterName().ToString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FName URigVMParameterNode::GetParameterName() const
|
|
|
|
|
{
|
2020-01-22 17:58:55 -05:00
|
|
|
URigVMPin* ParameterPin = FindPin(ParameterName);
|
|
|
|
|
if (ParameterPin == nullptr)
|
|
|
|
|
{
|
|
|
|
|
return NAME_None;
|
|
|
|
|
}
|
|
|
|
|
return *ParameterPin->GetDefaultValue();
|
2019-09-17 19:12:19 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool URigVMParameterNode::IsInput() const
|
|
|
|
|
{
|
|
|
|
|
URigVMPin* ValuePin = FindPin(ValueName);
|
|
|
|
|
if (ValuePin == nullptr)
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
return ValuePin->GetDirection() == ERigVMPinDirection::Output;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FString URigVMParameterNode::GetCPPType() const
|
|
|
|
|
{
|
|
|
|
|
URigVMPin* ValuePin = FindPin(ValueName);
|
|
|
|
|
if (ValuePin == nullptr)
|
|
|
|
|
{
|
|
|
|
|
return FString();
|
|
|
|
|
}
|
|
|
|
|
return ValuePin->GetCPPType();
|
|
|
|
|
}
|
|
|
|
|
|
2020-01-22 17:58:55 -05:00
|
|
|
UObject* URigVMParameterNode::GetCPPTypeObject() const
|
2019-09-17 19:12:19 -04:00
|
|
|
{
|
|
|
|
|
URigVMPin* ValuePin = FindPin(ValueName);
|
|
|
|
|
if (ValuePin == nullptr)
|
|
|
|
|
{
|
|
|
|
|
return nullptr;
|
|
|
|
|
}
|
2020-01-22 17:58:55 -05:00
|
|
|
return ValuePin->GetCPPTypeObject();
|
2019-09-17 19:12:19 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FString URigVMParameterNode::GetDefaultValue() const
|
|
|
|
|
{
|
|
|
|
|
|
2022-03-07 10:20:24 -05:00
|
|
|
URigVMPin* ValuePin = FindPin(DefaultName);
|
2019-09-17 19:12:19 -04:00
|
|
|
if (ValuePin == nullptr)
|
|
|
|
|
{
|
|
|
|
|
return FString();
|
|
|
|
|
}
|
|
|
|
|
return ValuePin->GetDefaultValue();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FRigVMGraphParameterDescription URigVMParameterNode::GetParameterDescription() const
|
|
|
|
|
{
|
|
|
|
|
FRigVMGraphParameterDescription Parameter;
|
|
|
|
|
Parameter.Name = GetParameterName();
|
|
|
|
|
Parameter.bIsInput = IsInput();
|
|
|
|
|
Parameter.CPPType = GetCPPType();
|
2020-01-22 17:58:55 -05:00
|
|
|
Parameter.CPPTypeObject = GetCPPTypeObject();
|
2019-09-17 19:12:19 -04:00
|
|
|
Parameter.DefaultValue = GetDefaultValue();
|
|
|
|
|
return Parameter;
|
|
|
|
|
}
|
2022-09-24 13:31:25 -04:00
|
|
|
|