RenameMeshCommand.cpp dnacalib/commands/RenameMeshCommand.h dnacalib/commands/RenameResourceCommand.h dnacalib/dna/DNACalibDNAReaderImpl.h dnacalib/types/Aliases.h cstring dnac::RenameMeshCommand::Impl dnac //CopyrightEpicGames,Inc.AllRightsReserved. #include"dnacalib/commands/RenameMeshCommand.h" #include"dnacalib/commands/RenameResourceCommand.h" #include"dnacalib/dna/DNACalibDNAReaderImpl.h" #include"dnacalib/types/Aliases.h" #include<cstring> namespacednac{ #ifdef__clang__ #pragmaclangdiagnosticpush #pragmaclangdiagnosticignored"-Wweak-vtables" #endif classRenameMeshCommand::Impl:publicRenameResourceCommand<Impl>{ private: usingSuper=RenameResourceCommand<Impl>; public: explicitImpl(MemoryResource*memRes_):Super{memRes_}{ } private: std::uint16_tgetNameCount(constdna::Reader*input)constoverride{ returninput->getMeshCount(); } StringViewgetNameByIndex(constdna::Reader*input,std::uint16_tindex_)constoverride{ returninput->getMeshName(index_); } voidsetNameByIndex(dna::Writer*output,std::uint16_tindex_,constchar*name)override{ output->setMeshName(index_,name); } }; #ifdef__clang__ #pragmaclangdiagnosticpop #endif RenameMeshCommand::RenameMeshCommand(MemoryResource*memRes):pImpl{makeScoped<Impl>(memRes)}{ } RenameMeshCommand::RenameMeshCommand(std::uint16_tmeshIndex,constchar*newName,MemoryResource*memRes): pImpl{makeScoped<Impl>(memRes)}{ pImpl->setName(meshIndex,newName); } RenameMeshCommand::RenameMeshCommand(constchar*oldName,constchar*newName,MemoryResource*memRes): pImpl{makeScoped<Impl>(memRes)}{ pImpl->setName(oldName,newName); } RenameMeshCommand::~RenameMeshCommand()=default; RenameMeshCommand::RenameMeshCommand(RenameMeshCommand&&)=default; RenameMeshCommand&RenameMeshCommand::operator=(RenameMeshCommand&&)=default; voidRenameMeshCommand::setName(std::uint16_tmeshIndex,constchar*newName){ pImpl->setName(meshIndex,newName); } voidRenameMeshCommand::setName(constchar*oldName,constchar*newName){ pImpl->setName(oldName,newName); } voidRenameMeshCommand::run(DNACalibDNAReader*output){ pImpl->run(static_cast<DNACalibDNAReaderImpl*>(output)); } }//namespacednac