From 4fb8b9e9b4950bd6c0228ae59e06d0944430441e Mon Sep 17 00:00:00 2001 From: Christophe Meynard Date: Wed, 18 Sep 2024 14:16:08 +0200 Subject: [PATCH] MMVII: ImportGCP: use pattern to select free points with mAddInfoFree --- MMVII/include/MMVII_enums.h | 1 + MMVII/src/ConvertFormat/ImportGCP.cpp | 25 ++++++++++++++++++------- MMVII/src/Serial/ElemStrToVal.cpp | 1 + 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/MMVII/include/MMVII_enums.h b/MMVII/include/MMVII_enums.h index cdd1656b5c..c612fe3a96 100755 --- a/MMVII/include/MMVII_enums.h +++ b/MMVII/include/MMVII_enums.h @@ -208,6 +208,7 @@ enum class eTyUEr eCreateDir, eRemoveFile, eEmptyPattern, + eBadPattern, eBadXmlTopTag, eParseBadClose, eJSonBadPunct, diff --git a/MMVII/src/ConvertFormat/ImportGCP.cpp b/MMVII/src/ConvertFormat/ImportGCP.cpp index a39e910666..70c8882623 100644 --- a/MMVII/src/ConvertFormat/ImportGCP.cpp +++ b/MMVII/src/ConvertFormat/ImportGCP.cpp @@ -2,6 +2,7 @@ #include "MMVII_MMV1Compat.h" #include "MMVII_DeclareCste.h" #include "MMVII_BundleAdj.h" +#include /** \file cConvCalib.cpp testgit @@ -46,7 +47,7 @@ class cAppli_ImportGCP : public cMMVII_Appli std::vector mPatternTransfo; double mMulCoord; double mSigma; - std::string mAddInfoFree; + std::string mPatternAddInfoFree; }; cAppli_ImportGCP::cAppli_ImportGCP(const std::vector & aVArgs,const cSpecMMVII_Appli & aSpec) : @@ -55,7 +56,8 @@ cAppli_ImportGCP::cAppli_ImportGCP(const std::vector & aVArgs,const mL0 (0), mLLast (-1), mMulCoord (1.0), - mSigma (1.0) + mSigma (1.0), + mPatternAddInfoFree("") { } @@ -80,7 +82,7 @@ cCollecSpecArg2007 & cAppli_ImportGCP::ArgOpt(cCollecSpecArg2007 & anArgObl) << AOpt2007(mMulCoord,"MulCoord","Coordinate multiplier, used to change unity as meter to mm") << AOpt2007(mSigma,"Sigma","Sigma for all coords (covar is 0). -1 to make all points free",{eTA2007::HDV}) << AOpt2007(mComment,"Comment","Character for commented line") - << AOpt2007(mAddInfoFree,"AddInfoFree","All points whose Additional Info is set to this value are Free") + << AOpt2007(mPatternAddInfoFree,"AddInfoFree","All points whose Additional Info matches this pattern are Free") ; } @@ -120,11 +122,20 @@ int cAppli_ImportGCP::Exe() size_t aRankP_InF = mFormat.find('N'); size_t aRankA_InF = mFormat.find('A'); - bool aHasAdditionalInfo = aRankA_InF != mFormat.npos; size_t aRankP = (aRankP_InF cE2Str::tMapE2Str cE2Str::mE2S {eTyUEr::eCreateDir,"MkDir"}, {eTyUEr::eRemoveFile,"RmFile"}, {eTyUEr::eEmptyPattern,"EmptyPattern"}, + {eTyUEr::eBadPattern,"BadPattern"}, {eTyUEr::eBadXmlTopTag,"XmlTopTag"}, {eTyUEr::eParseBadClose,"ParseBadClose"}, {eTyUEr::eJSonBadPunct,"JSonBadPunct"},