Files
UnrealEngine/Engine/Plugins/Animation/GeneSplicer/Source/GeneSplicerModule/Private/SpliceData.cpp
2025-05-18 13:04:45 +08:00

40 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "SpliceData.h"
#include "RegionAffiliationReader.h"
#include "DNAReader.h"
#include "FMemoryResource.h"
#include "genesplicer/splicedata/SpliceData.h"
FSpliceData::FSpliceData() :
SpliceDataPtr{ new gs4::SpliceData{FMemoryResource::Instance()} }
{
}
FSpliceData::~FSpliceData() = default;
FSpliceData::FSpliceData(FSpliceData&&) = default;
FSpliceData& FSpliceData::operator=(FSpliceData&&) = default;
gs4::SpliceData* FSpliceData::Unwrap() const
{
return SpliceDataPtr.Get();
};
void FSpliceData::RegisterGenePool(const FString& name, const FRegionAffiliationReader& RegionAffiliationReader, const TSharedPtr<FGenePool>& GenePool) {
SpliceDataPtr->registerGenePool(TCHAR_TO_ANSI(*name), RegionAffiliationReader.Unwrap(), GenePool->Unwrap());
}
void FSpliceData::UnregisterGenePool(const FString& name) {
SpliceDataPtr->unregisterGenePool(TCHAR_TO_ANSI(*name));
}
TSharedPtr<FPoolSpliceParams> FSpliceData::GetPoolParams(const FString& name) {
FPoolSpliceParams* temp = new FPoolSpliceParams{ SpliceDataPtr->getPoolParams(TCHAR_TO_ANSI(*name)) };
return MakeShareable<FPoolSpliceParams>(temp);
}
void FSpliceData::SetBaseArchetype(TSharedPtr<const IDNAReader> baseArchetype) {
SpliceDataPtr->setBaseArchetype(baseArchetype->Unwrap());
}