// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "genesplicer/GeneSplicerDNAReader.h" #include "genesplicer/dna/Aliases.h" #include "genesplicer/dna/ReaderImpl.h" #include "genesplicer/dna/WriterImpl.h" #include #include #include namespace gs4 { #ifdef _MSC_VER #pragma warning(push) #pragma warning(disable : 4250) #endif class GeneSplicerDNAReaderImpl : public ReaderImpl, public WriterImpl { public: explicit GeneSplicerDNAReaderImpl(MemoryResource* memRes_); // Reader methods void unload(DataLayer layer) override; // GSWriter methods void setJointGroups(Vector&& jointGroups); using WriterImpl::setVertexPositions; void setVertexPositions(std::uint16_t meshIndex, RawVector3Vector&& positions); using WriterImpl::setVertexNormals; void setVertexNormals(std::uint16_t meshIndex, RawVector3Vector&& normals); using WriterImpl::setNeutralJointTranslations; void setNeutralJointTranslations(RawVector3Vector&& translations); using WriterImpl::setNeutralJointRotations; void setNeutralJointRotations(RawVector3Vector&& rotations); void setSkinWeights(std::uint16_t meshIndex, Vector&& rawSkinWeights); void setBlendShapeTargets(std::uint16_t meshIndex, Vector&& blendShapeTargets); }; #ifdef _MSC_VER #pragma warning(pop) #endif } // namespace gs4