Skip to content

Commit 0e79501

Browse files
committed
fix MMV2_MesIm_2_MMV1
1 parent 7fb444c commit 0e79501

File tree

1 file changed

+63
-62
lines changed

1 file changed

+63
-62
lines changed

MMVII/src/Exports/MMV2_MesIm_2_MMV1.cpp

Lines changed: 63 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,19 @@ class cAppli_MMV2_MesIm_2_MMV1 : public cMMVII_Appli
1717
cCollecSpecArg2007 & ArgObl(cCollecSpecArg2007 & anArgObl) override;
1818
cCollecSpecArg2007 & ArgOpt(cCollecSpecArg2007 & anArgOpt) override;
1919

20-
cPhotogrammetricProject mPhProj;
21-
std::string mSpecImIn;
22-
std::string mNameFile;
23-
bool mShow;
20+
cPhotogrammetricProject mPhProj;
21+
std::string mSpecImIn;
22+
std::string mNameFile;
23+
bool mShow;
24+
bool mFiltNONE;
2425

2526
};
2627

2728
cAppli_MMV2_MesIm_2_MMV1::cAppli_MMV2_MesIm_2_MMV1(const std::vector<std::string> & aVArgs,const cSpecMMVII_Appli & aSpec) :
28-
cMMVII_Appli (aVArgs,aSpec),
29-
mPhProj (*this),
30-
mShow (false)
29+
cMMVII_Appli (aVArgs,aSpec),
30+
mPhProj (*this),
31+
mShow (false),
32+
mFiltNONE (true)
3133

3234
{
3335
}
@@ -46,6 +48,7 @@ cCollecSpecArg2007 & cAppli_MMV2_MesIm_2_MMV1::ArgOpt(cCollecSpecArg2007 & anArg
4648
{
4749
return anArgOpt
4850
<< AOpt2007(mShow,"ShowD","Show details",{eTA2007::HDV})
51+
<< AOpt2007(mFiltNONE,"FiltNONE","Do not export points with name starting with NONE",{eTA2007::HDV})
4952
;
5053
}
5154

@@ -57,66 +60,64 @@ int cAppli_MMV2_MesIm_2_MMV1::Exe()
5760
std::vector<std::string> aVecIm = VectMainSet(0);//interface to MainSet
5861

5962
#if (MMVII_KEEP_LIBRARY_MMV1)
63+
6064
//MicMac v1
6165
cSetOfMesureAppuisFlottants aDico;
6266

67+
6368
for (const std::string& aCImage : aVecIm)
6469
{
65-
66-
cSetMesGndPt aSetMes;
67-
68-
//load GCPs
69-
// mPhProj.LoadGCP3D(aSetMes);
70-
71-
//load image measurements
72-
mPhProj.LoadIm(aSetMes,aCImage);
73-
74-
//image measurements to export
75-
cSetMesPtOf1Im aSetMesOut(FileOfPath(aCImage));
76-
77-
//MicMac v1
78-
cMesureAppuiFlottant1Im aMAF;
79-
80-
for(const auto & aVMes : aSetMes.MesImInit())
81-
{
82-
std::string aNameImage = aVMes.NameIm();
83-
std::vector<cMesIm1Pt> aVMesIm = aVMes.Measures();
84-
85-
//MicMac v1
86-
aMAF.NameIm() = aNameImage;
87-
88-
for(const auto & aMes : aVMes.Measures())
89-
{
90-
std::string aGcpName = aMes.mNamePt;
91-
cPt2dr aPtIm = aMes.mPt;
92-
93-
//MicMac v1
94-
cOneMesureAF1I aOAF1I;
95-
Pt2dr aPt;
96-
aPt.x = aPtIm.x();
97-
aPt.y = aPtIm.y();
98-
aOAF1I.NamePt() = aGcpName;
99-
aOAF1I.PtIm() = aPt;
100-
101-
if(mShow)
102-
{
103-
std::cout << aNameImage << "," << aGcpName << "," << aPtIm.x() << "," << aPtIm.y() << std::endl;
104-
}
105-
106-
//add to the dico
107-
aMAF.OneMesureAF1I().push_back(aOAF1I);
108-
109-
}
110-
111-
112-
}
113-
114-
//append to the dico
115-
aDico.MesureAppuiFlottant1Im().push_back(aMAF);
116-
}
117-
118-
//write image measure in MicMac v1 .xml format
119-
MakeFileXML(aDico,mNameFile);
70+
//std::string aNameImage = aCImage;
71+
72+
if(mPhProj.HasMeasureIm(aCImage))
73+
{
74+
//MicMac v1
75+
cMesureAppuiFlottant1Im aMAF;
76+
aMAF.NameIm() = aCImage;
77+
78+
//retreive set of measure in an image
79+
cSetMesPtOf1Im aSet = mPhProj.LoadMeasureIm(aCImage);
80+
81+
if(mShow)
82+
{
83+
std::cout << "Image: " << aCImage
84+
<< "\t#Nb Img Measure: " << aSet.Measures().size()
85+
<< std::endl;
86+
}
87+
88+
//retreive vector of measure of a point in an image
89+
for(const auto & aMes : aSet.Measures())
90+
{
91+
std::string aGcpName = aMes.mNamePt;
92+
if (!(mFiltNONE && (aGcpName.substr(0, 4) == "NONE")))
93+
{
94+
cPt2dr aPtIm = aMes.mPt;
95+
96+
//MicMac v1
97+
cOneMesureAF1I aOAF1I;
98+
Pt2dr aPt;
99+
aPt.x = aPtIm.x();
100+
aPt.y = aPtIm.y();
101+
aOAF1I.NamePt() = aGcpName;
102+
aOAF1I.PtIm() = aPt;
103+
104+
if(mShow)
105+
{
106+
std::cout << aMAF.NameIm() << "," << aGcpName << "," << aPtIm.x() << "," << aPtIm.y() << std::endl;
107+
}
108+
109+
//add to the dico
110+
aMAF.OneMesureAF1I().push_back(aOAF1I);
111+
}
112+
}
113+
114+
//append to the dico
115+
aDico.MesureAppuiFlottant1Im().push_back(aMAF);
116+
}
117+
}
118+
119+
//write image measure in MicMac v1 .xml format
120+
MakeFileXML(aDico,mNameFile);
120121
#else // (MMVII_KEEP_LIBRARY_MMV1)
121122
StdOut() << " \n\n";
122123
StdOut() << " ********************************************************************************************************\n";

0 commit comments

Comments
 (0)