SetNeutralJointTranslationsCommand.cpp dnacalib/commands/SetNeutralJointTranslationsCommand.h dnacalib/CommandImplBase.h dnacalib/dna/DNA.h dnacalib/dna/DNACalibDNAReaderImpl.h dnacalib/types/Aliases.h dnac::SetNeutralJointTranslationsCommand::Impl dnac //CopyrightEpicGames,Inc.AllRightsReserved. #include"dnacalib/commands/SetNeutralJointTranslationsCommand.h" #include"dnacalib/CommandImplBase.h" #include"dnacalib/dna/DNA.h" #include"dnacalib/dna/DNACalibDNAReaderImpl.h" #include"dnacalib/types/Aliases.h" namespacednac{ classSetNeutralJointTranslationsCommand::Impl:publicCommandImplBase<Impl>{ private: usingSuper=CommandImplBase<Impl>; public: explicitImpl(MemoryResource*memRes_): Super{memRes_}, translations{memRes_}{ } voidsetTranslations(ConstArrayView<Vector3>translations_){ translations.assign(translations_.begin(),translations_.end()); } voidsetTranslations(ConstArrayView<float>xs,ConstArrayView<float>ys,ConstArrayView<float>zs){ translations.xs.assign(xs.begin(),xs.end()); translations.ys.assign(ys.begin(),ys.end()); translations.zs.assign(zs.begin(),zs.end()); } voidrun(DNACalibDNAReaderImpl*output){ output->setNeutralJointTranslations(ConstArrayView<float>{translations.xs}, ConstArrayView<float>{translations.ys}, ConstArrayView<float>{translations.zs}); } private: RawVector3Vectortranslations; }; SetNeutralJointTranslationsCommand::SetNeutralJointTranslationsCommand(MemoryResource*memRes):pImpl{makeScoped<Impl>(memRes)}{ } SetNeutralJointTranslationsCommand::SetNeutralJointTranslationsCommand(ConstArrayView<Vector3>translations, MemoryResource*memRes): pImpl{makeScoped<Impl>(memRes)}{ pImpl->setTranslations(translations); } SetNeutralJointTranslationsCommand::SetNeutralJointTranslationsCommand(ConstArrayView<float>xs, ConstArrayView<float>ys, ConstArrayView<float>zs, MemoryResource*memRes): pImpl{makeScoped<Impl>(memRes)}{ pImpl->setTranslations(xs,ys,zs); } SetNeutralJointTranslationsCommand::~SetNeutralJointTranslationsCommand()=default; SetNeutralJointTranslationsCommand::SetNeutralJointTranslationsCommand(SetNeutralJointTranslationsCommand&&)=default; SetNeutralJointTranslationsCommand&SetNeutralJointTranslationsCommand::operator=(SetNeutralJointTranslationsCommand&&)=default; voidSetNeutralJointTranslationsCommand::setTranslations(ConstArrayView<Vector3>translations){ pImpl->setTranslations(translations); } voidSetNeutralJointTranslationsCommand::setTranslations(ConstArrayView<float>xs, ConstArrayView<float>ys, ConstArrayView<float>zs){ pImpl->setTranslations(xs,ys,zs); } voidSetNeutralJointTranslationsCommand::run(DNACalibDNAReader*output){ pImpl->run(static_cast<DNACalibDNAReaderImpl*>(output)); } }//namespacednac