SetNeutralJointRotationsCommand.cpp dnacalib/commands/SetNeutralJointRotationsCommand.h dnacalib/CommandImplBase.h dnacalib/dna/DNA.h dnacalib/dna/DNACalibDNAReaderImpl.h dnacalib/types/Aliases.h dnac::SetNeutralJointRotationsCommand::Impl dnac //CopyrightEpicGames,Inc.AllRightsReserved. #include"dnacalib/commands/SetNeutralJointRotationsCommand.h" #include"dnacalib/CommandImplBase.h" #include"dnacalib/dna/DNA.h" #include"dnacalib/dna/DNACalibDNAReaderImpl.h" #include"dnacalib/types/Aliases.h" namespacednac{ classSetNeutralJointRotationsCommand::Impl:publicCommandImplBase<Impl>{ private: usingSuper=CommandImplBase<Impl>; public: explicitImpl(MemoryResource*memRes_): Super{memRes_}, rotations{memRes_}{ } voidsetRotations(ConstArrayView<Vector3>rotations_){ rotations.assign(rotations_.begin(),rotations_.end()); } voidsetRotations(ConstArrayView<float>xs,ConstArrayView<float>ys,ConstArrayView<float>zs){ rotations.xs.assign(xs.begin(),xs.end()); rotations.ys.assign(ys.begin(),ys.end()); rotations.zs.assign(zs.begin(),zs.end()); } voidrun(DNACalibDNAReaderImpl*output){ output->setNeutralJointRotations(ConstArrayView<float>{rotations.xs}, ConstArrayView<float>{rotations.ys}, ConstArrayView<float>{rotations.zs}); } private: RawVector3Vectorrotations; }; SetNeutralJointRotationsCommand::SetNeutralJointRotationsCommand(MemoryResource*memRes):pImpl{makeScoped<Impl>(memRes)}{ } SetNeutralJointRotationsCommand::SetNeutralJointRotationsCommand(ConstArrayView<Vector3>rotations,MemoryResource*memRes): pImpl{makeScoped<Impl>(memRes)}{ pImpl->setRotations(rotations); } SetNeutralJointRotationsCommand::SetNeutralJointRotationsCommand(ConstArrayView<float>xs, ConstArrayView<float>ys, ConstArrayView<float>zs, MemoryResource*memRes): pImpl{makeScoped<Impl>(memRes)}{ pImpl->setRotations(xs,ys,zs); } SetNeutralJointRotationsCommand::~SetNeutralJointRotationsCommand()=default; SetNeutralJointRotationsCommand::SetNeutralJointRotationsCommand(SetNeutralJointRotationsCommand&&)=default; SetNeutralJointRotationsCommand&SetNeutralJointRotationsCommand::operator=(SetNeutralJointRotationsCommand&&)=default; voidSetNeutralJointRotationsCommand::setRotations(ConstArrayView<Vector3>rotations){ pImpl->setRotations(rotations); } voidSetNeutralJointRotationsCommand::setRotations(ConstArrayView<float>xs,ConstArrayView<float>ys,ConstArrayView<float>zs){ pImpl->setRotations(xs,ys,zs); } voidSetNeutralJointRotationsCommand::run(DNACalibDNAReader*output){ pImpl->run(static_cast<DNACalibDNAReaderImpl*>(output)); } }//namespacednac