cAppli_MPI2Mnt::cAppli_MPI2Mnt(int argc,char ** argv) : mDS (1.0), mDeZoom (2), mDirMTD ("PIMs-TmpMnt/"), mDirBasc ("PIMs-TmpBasc/"), mNameMerge ("PIMs-Merged.xml"), mNameOriMerge ("PIMs-ZNUM-Merged.xml"), mNameOriMasq ("PIMs-Merged_Masq.xml"), mRepIsAnam (false), mDoMnt (true), mDoOrtho (false), mMasqImGlob (""), mDebug (false) { ElInitArgMain ( argc,argv, LArgMain() << EAMC(mName,"Dir or PMI-Type (QuickMac ....)",eSAM_None,ListOfVal(eNbTypeMMByP)), //pas gerable par les vCommandes... LArgMain() << EAM(mDS,"DS",true,"Downscale, Def=1.0") << EAM(mRep,"Repere",true,"Repair (Euclid or Cyl)",eSAM_IsExistFileRP) << EAM(mPat,"Pat",true,"Pattern, def = all existing clouds", eSAM_IsPatFile) << EAM(mDoMnt,"DoMnt",true," Compute DTM , def=true (use false to return only ortho)") << EAM(mDoOrtho,"DoOrtho",true,"Generate ortho photo, def=false") << EAM(mMasqImGlob,"MasqImGlob",true,"Global Masq for ortho: if used, give full name of masq (e.g. MasqGlob.tif) ",eSAM_IsExistFileRP) << EAM(mDebug,"Debug",true,"Debug !!!",eSAM_InternalUse) ); if (mDoOrtho && (!EAMIsInit(&mDoMnt))) mDoMnt = mDoOrtho; if (MMVisualMode) return; mCFPI = new cChantierFromMPI(mName,mDS,mPat); mDirApp = mCFPI->mFullDirChantier; mICNM = cInterfChantierNameManipulateur::BasicAlloc(mDirApp); mSetIm = mICNM->Get(mCFPI->mStrPat); if (EAMIsInit(&mRep)) { bool IsOrthoXCSte=false; bool IsAnamXCsteOfCart=false; mRepIsAnam = RepereIsAnam(mDirApp+mRep,IsOrthoXCSte,IsAnamXCsteOfCart); } ELISE_fp::MkDirSvp(mDirApp+mDirBasc); if (EAMIsInit(&mRep)) mStrRep = " Repere=" + mRep; // cMMByImNM * mMMI; mTargetGeom = mDirApp+mDirMTD+ TheStringLastNuageMM ; }
cAppliTarama::cAppliTarama(int argc,char ** argv) : cAppliWithSetImage(argc-1,argv+1,0) { NoInit = "XXXXXXXXXX"; // MemoArg(argc,argv); MMD_InitArgcArgv(argc,argv); std::string aDir,aPat,aFullDir; std::string Aero; int Zoom = 8; std::string NOREP = "NO-REPERE"; std::string Repere = NOREP; std::string DirOut = "TA"; double aZMoy = 0; int aKNadir = -1; double aIncidMax = 1e5; bool UnUseAXC = false; ElInitArgMain ( argc,argv, LArgMain() << EAMC(aFullDir,"Full Image (Dir+Pat)", eSAM_IsPatFile) << EAMC(Aero,"Orientation", eSAM_IsExistDirOri), LArgMain() << EAM(Zoom,"Zoom",true,"Resolution, (Def=8, must be pow of 2)",eSAM_IsPowerOf2) << EAM(Repere,"Repere",true,"Local coordinate system as created with RepLocBascule",eSAM_IsExistFile) << EAM(DirOut,"Out",true,"Directory for output (Deg=TA)") << EAM(aZMoy,"ZMoy",true,"Average value of Z") << EAM(aKNadir,"KNadir",true,"KBest image or Nadir (when exist)") << EAM(aIncidMax,"IncMax",true,"Maximum incidence of image", eSAM_NoInit) << EAM(UnUseAXC,"UnUseAXC",true,"Internal use for unanamorphosed ortho",eSAM_InternalUse) ); if (!MMVisualMode) { #if (ELISE_windows) replace( aFullDir.begin(), aFullDir.end(), '\\', '/' ); #endif SplitDirAndFile(aDir,aPat,aFullDir); StdCorrecNameOrient(Aero,aDir); MMD_InitArgcArgv(argc,argv); std::string aCom = MM3dBinFile( "MICMAC" ) + MMDir() + std::string("include/XML_MicMac/MM-TA.xml ") + std::string(" WorkDir=") +aDir + std::string(" ") + std::string(" +PatternAllIm=") + QUOTE(aPat) + std::string(" ") + std::string(" +Zoom=") + ToString(Zoom) + std::string(" +Aero=") + Aero + std::string(" +DirMEC=") + DirOut ; if (EAMIsInit(&aIncidMax)) { aCom = aCom + " +DoIncid=true +IncidMax=" + ToString(aIncidMax) + " " + " +ZMoy=" + ToString(AltiMoy()) + " " ; ; } if (EAMIsInit(&aKNadir)) aCom = aCom + " +KBestMasqNadir=" + ToString(aKNadir); if (EAMIsInit(&aZMoy)) { aCom = aCom + " +FileZMoy=File-ZMoy.xml" + " +ZMoy=" + ToString(aZMoy); } if (EAMIsInit(&UnUseAXC)) aCom = aCom + " +UnUseAXC=" + ToString(UnUseAXC); if (Repere!=NOREP) { bool IsOrthoXCste; bool IsAnamXsteOfCart; if (RepereIsAnam(aDir+Repere,IsOrthoXCste,IsAnamXsteOfCart)) { aCom = aCom + std::string(" +DoAnam=true ") + std::string(" +DoIncid=true ") + std::string(" +ParamAnam=") + Repere; } else { aCom = aCom + std::string(" +Repere=") + Repere ; } } #if (ELISE_windows) aCom = "\"" + aCom + "\""; #endif std::cout << "Com = " << aCom << "\n"; mResult = system_call(aCom.c_str()); } else { mResult = EXIT_SUCCESS; } }