template <class Type,class TBase>  cElNuage3DMaille_FromImProf<Type,TBase>::cElNuage3DMaille_FromImProf
(
     const std::string &             aDir,
     const cXML_ParamNuage3DMaille & aNuage,
     Fonc_Num  aFMasq,
     Fonc_Num  aFProf,
     bool      WithEmpyData,
     bool      aDequant

)  :
   cElNuage3DMaille(aDir,aNuage,aFMasq,WithEmpyData), 
   mIm        (mSzData.x,mSzData.y),
   mTIm       (mIm),
   mProf0     (aNuage.Image_Profondeur().Val().OrigineAlti()),
   mResolProf (aNuage.Image_Profondeur().Val().ResolutionAlti()),
   mDequant   (aDequant)
{
    if (mDequant && (!WithEmpyData))
    {
        ElImplemDequantifier aDeq(mSzData);
        aDeq.DoDequantif(mSzData,aFProf);
        ELISE_COPY(mIm.all_pts(),aDeq.ImDeqReelle(),mIm.out());

    }
    else
    {
       ELISE_COPY ( mIm.all_pts(), aFProf, mIm.out());
    }
}
示例#2
0
Fonc_Num  AdaptDynOut(Fonc_Num aFonc,const cXML_ParamNuage3DMaille & aTargetNuage,const cXML_ParamNuage3DMaille & aCurNuage)
{
    const cImage_Profondeur & ipIn = aCurNuage.Image_Profondeur().Val();
    const cImage_Profondeur & ipOut = aTargetNuage.Image_Profondeur().Val();
    aFonc = aFonc*  ipIn.ResolutionAlti() +ipIn.OrigineAlti();
    aFonc = (aFonc-ipOut.OrigineAlti()) / ipOut.ResolutionAlti() ;
    return aFonc;
}
Fonc_Num Pix2Pix
         (
             const cXML_ParamNuage3DMaille &Out,
             const cXML_ParamNuage3DMaille & In,
             const std::string & aDir
         )
{
   const cImage_Profondeur & aIP = In.Image_Profondeur().Val();
   return Pix2Pix
          (
             Out,
             Tiff_Im::StdConvGen(aDir+aIP.Image(),1,true,false).in(),
             In
          );
}
Fonc_Num Z2Pix(const cXML_ParamNuage3DMaille & aCloud,Fonc_Num aF)
{
   const cImage_Profondeur & aIP = aCloud.Image_Profondeur().Val();
   return (aF-aIP.OrigineAlti()) /  aIP.ResolutionAlti()  ;
}
Fonc_Num Pix2Z(const cXML_ParamNuage3DMaille & aCloud,Fonc_Num aF)
{
   const cImage_Profondeur & aIP = aCloud.Image_Profondeur().Val();
   return aIP.OrigineAlti() + aIP.ResolutionAlti() * aF ;
}