RemoveJointAnimationCommand.cpp dnacalib/commands/RemoveJointAnimationCommand.h dnacalib/CommandImplBase.h dnacalib/dna/DNA.h dnacalib/dna/DNACalibDNAReaderImpl.h dnacalib/types/Aliases.h dnac::RemoveJointAnimationCommand::Impl dnac //CopyrightEpicGames,Inc.AllRightsReserved. #include"dnacalib/commands/RemoveJointAnimationCommand.h" #include"dnacalib/CommandImplBase.h" #include"dnacalib/dna/DNA.h" #include"dnacalib/dna/DNACalibDNAReaderImpl.h" #include"dnacalib/types/Aliases.h" namespacednac{ classRemoveJointAnimationCommand::Impl:publicCommandImplBase<Impl>{ private: usingSuper=CommandImplBase<Impl>; public: explicitImpl(MemoryResource*memRes_): Super{memRes_}, jointIndices{memRes_}{ } voidsetJointIndex(std::uint16_tjointIndex_){ jointIndices.resize(1); jointIndices[0]=jointIndex_; } voidsetJointIndices(ConstArrayView<std::uint16_t>jointIndices_){ jointIndices.assign(jointIndices_.begin(),jointIndices_.end()); } voidrun(DNACalibDNAReaderImpl*output){ output->removeJointAnimations(ConstArrayView<std::uint16_t>{jointIndices}); } private: Vector<std::uint16_t>jointIndices; }; RemoveJointAnimationCommand::RemoveJointAnimationCommand(MemoryResource*memRes):pImpl{makeScoped<Impl>(memRes)}{ } RemoveJointAnimationCommand::RemoveJointAnimationCommand(std::uint16_tjointIndex,MemoryResource*memRes): pImpl{makeScoped<Impl>(memRes)}{ pImpl->setJointIndex(jointIndex); } RemoveJointAnimationCommand::RemoveJointAnimationCommand(ConstArrayView<std::uint16_t>jointIndices,MemoryResource*memRes): pImpl{makeScoped<Impl>(memRes)}{ pImpl->setJointIndices(jointIndices); } RemoveJointAnimationCommand::~RemoveJointAnimationCommand()=default; RemoveJointAnimationCommand::RemoveJointAnimationCommand(RemoveJointAnimationCommand&&)=default; RemoveJointAnimationCommand&RemoveJointAnimationCommand::operator=(RemoveJointAnimationCommand&&)=default; voidRemoveJointAnimationCommand::setJointIndex(std::uint16_tjointIndex){ pImpl->setJointIndex(jointIndex); } voidRemoveJointAnimationCommand::setJointIndices(ConstArrayView<std::uint16_t>jointIndices){ pImpl->setJointIndices(jointIndices); } voidRemoveJointAnimationCommand::run(DNACalibDNAReader*output){ pImpl->run(static_cast<DNACalibDNAReaderImpl*>(output)); } }//namespacednac