Ignore:
Timestamp:
12/17/20 12:57:00 (3 years ago)
Author:
ymipsl
Message:

bug fix in chaining transformations

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/node/grid.cpp

    r1990 r1994  
    19561956      hasTransform=transformationPath.hasTransform()  ; 
    19571957       
    1958       if (hasTransform && hadTransform) hasRemainTransform=true ; 
    1959  
    19601958      if (hasTransform && !hadTransform) 
    19611959      { 
     
    19841982            dstDomain->createAlias(dstElementId) ; 
    19851983            if (srcElementId=="" && srcElement.type==TYPE_DOMAIN)  dstDomain->duplicateAttributes(srcElement.domain) ; // make a copy 
    1986             else dstDomain->duplicateAttributes(CDomain::get(srcElementId)) ; // make a copy 
     1984            else dstDomain->duplicateAttributes(dstElement.domain) ; // make a copy 
    19871985            CTransformation<CDomain>* transformation = CTransformation<CDomain>::createTransformation(transType,"") ; 
    19881986            auto srcTransform = CTransformation<CDomain>::getTransformation(transType, transId) ; 
     
    20112009            dstAxis->createAlias(dstElementId) ; 
    20122010            if (srcElementId=="" && srcElement.type==TYPE_AXIS)  dstAxis->duplicateAttributes(srcElement.axis) ; // make a copy 
    2013             else dstAxis->duplicateAttributes(CAxis::get(srcElementId)) ; // make a copy 
     2011            else dstAxis->duplicateAttributes(dstElement.axis) ; // make a copy 
    20142012            CTransformation<CAxis>* transformation = CTransformation<CAxis>::createTransformation(transType,"") ; 
    20152013            auto srcTransform = CTransformation<CAxis>::getTransformation(transType, transId) ; 
     
    20382036            dstScalar->createAlias(dstElementId) ; 
    20392037            if (srcElementId=="" && srcElement.type==TYPE_SCALAR)  dstScalar->duplicateAttributes(srcElement.scalar) ; // make a copy 
    2040             else dstScalar->duplicateAttributes(CScalar::get(srcElementId)) ; // make a copy 
     2038            else dstScalar->duplicateAttributes(dstElement.scalar) ; // make a copy 
    20412039            CTransformation<CScalar>* transformation = CTransformation<CScalar>::createTransformation(transType,"") ; 
    20422040            auto srcTransform = CTransformation<CScalar>::getTransformation(transType, transId) ; 
     
    20642062      { 
    20652063        string srcElementId=transformationPath.getNextElementSrcId() ; 
     2064 
    20662065        if (srcElement.type==TYPE_DOMAIN)       
    20672066        { 
    20682067          CDomain* domain ; 
     2068          if (srcElementId=="") srcElementId=srcElement.domain->getId() ;  
    20692069          if (!CDomain::has(srcElementId))  
    20702070          { 
     
    20822082        {    
    20832083          CAxis* axis ; 
     2084          if (srcElementId=="") srcElementId=srcElement.axis->getId() ;  
    20842085          if (!CAxis::has(srcElementId))  
    20852086          { 
     
    20972098        { 
    20982099          CScalar* scalar ; 
     2100          if (srcElementId=="") srcElementId=srcElement.scalar->getId() ;  
    20992101          if (!CScalar::has(srcElementId))  
    21002102          { 
     
    21102112        } 
    21112113      } 
     2114       
     2115      if (transformationPath.hasTransform() && hadTransform) hasRemainTransform=true ; 
    21122116    }   
    21132117     
     2118 
    21142119    if (hadTransform) 
    21152120    { 
Note: See TracChangeset for help on using the changeset viewer.