RemoveBlendShapeCommand.cpp dnacalib/commands/RemoveBlendShapeCommand.h dnacalib/CommandImplBase.h dnacalib/dna/DNA.h dnacalib/dna/DNACalibDNAReaderImpl.h dnacalib/types/Aliases.h dnac::RemoveBlendShapeCommand::Impl dnac //CopyrightEpicGames,Inc.AllRightsReserved. #include"dnacalib/commands/RemoveBlendShapeCommand.h" #include"dnacalib/CommandImplBase.h" #include"dnacalib/dna/DNA.h" #include"dnacalib/dna/DNACalibDNAReaderImpl.h" #include"dnacalib/types/Aliases.h" namespacednac{ classRemoveBlendShapeCommand::Impl:publicCommandImplBase<Impl>{ private: usingSuper=CommandImplBase<Impl>; public: explicitImpl(MemoryResource*memRes_): Super{memRes_}, blendShapeIndices{memRes_}{ } voidsetBlendShapeIndex(std::uint16_tblendShapeIndex_){ blendShapeIndices.resize(1); blendShapeIndices[0]=blendShapeIndex_; } voidsetBlendShapeIndices(ConstArrayView<std::uint16_t>blendShapeIndices_){ blendShapeIndices.assign(blendShapeIndices_.begin(),blendShapeIndices_.end()); } voidrun(DNACalibDNAReaderImpl*output){ output->removeBlendShapes(ConstArrayView<std::uint16_t>{blendShapeIndices}); } private: Vector<std::uint16_t>blendShapeIndices; }; RemoveBlendShapeCommand::RemoveBlendShapeCommand(MemoryResource*memRes):pImpl{makeScoped<Impl>(memRes)}{ } RemoveBlendShapeCommand::RemoveBlendShapeCommand(std::uint16_tblendShapeIndex,MemoryResource*memRes): pImpl{makeScoped<Impl>(memRes)}{ pImpl->setBlendShapeIndex(blendShapeIndex); } RemoveBlendShapeCommand::RemoveBlendShapeCommand(ConstArrayView<std::uint16_t>blendShapeIndices,MemoryResource*memRes): pImpl{makeScoped<Impl>(memRes)}{ pImpl->setBlendShapeIndices(blendShapeIndices); } RemoveBlendShapeCommand::~RemoveBlendShapeCommand()=default; RemoveBlendShapeCommand::RemoveBlendShapeCommand(RemoveBlendShapeCommand&&)=default; RemoveBlendShapeCommand&RemoveBlendShapeCommand::operator=(RemoveBlendShapeCommand&&)=default; voidRemoveBlendShapeCommand::setBlendShapeIndex(std::uint16_tblendShapeIndex){ pImpl->setBlendShapeIndex(blendShapeIndex); } voidRemoveBlendShapeCommand::setBlendShapeIndices(ConstArrayView<std::uint16_t>blendShapeIndices){ pImpl->setBlendShapeIndices(blendShapeIndices); } voidRemoveBlendShapeCommand::run(DNACalibDNAReader*output){ pImpl->run(static_cast<DNACalibDNAReaderImpl*>(output)); } }//namespacednac