// Copyright Epic Games, Inc. All Rights Reserved. #include "Commands/DNACalibSetLODsCommand.h" #include "DNACalibDNAReader.h" #include "DNACalibUtils.h" #include "FMemoryResource.h" #include "VecArray.h" #include "dnacalib/commands/SetLODsCommand.h" #include "dnacalib/dna/DNACalibDNAReader.h" class FDNACalibSetLODsCommand::Impl { public: Impl() : Command{new dnac::SetLODsCommand{FMemoryResource::Instance()}} { } void SetLODs(TArrayView LODs) { Command->setLODs(ViewOf(LODs)); } void Run(FDNACalibDNAReader* Output) { Command->run(static_cast(Output->Unwrap())); } private: TUniquePtr Command; }; FDNACalibSetLODsCommand::FDNACalibSetLODsCommand() : ImplPtr{new Impl{}} { } FDNACalibSetLODsCommand::FDNACalibSetLODsCommand(TArrayView LODs) : ImplPtr{new Impl{}} { ImplPtr->SetLODs(LODs); } FDNACalibSetLODsCommand::~FDNACalibSetLODsCommand() = default; FDNACalibSetLODsCommand::FDNACalibSetLODsCommand(FDNACalibSetLODsCommand&&) = default; FDNACalibSetLODsCommand& FDNACalibSetLODsCommand::operator=(FDNACalibSetLODsCommand&&) = default; void FDNACalibSetLODsCommand::SetLODs(TArrayView LODs) { ImplPtr->SetLODs(LODs); } void FDNACalibSetLODsCommand::Run(FDNACalibDNAReader* Output) { ImplPtr->Run(Output); }