Changeset 894 for XIOS/trunk/src/node
- Timestamp:
- 07/08/16 15:28:10 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/node/field.cpp
r887 r894 906 906 std::vector<CAxis*> vecAxis; 907 907 std::vector<CScalar*> vecScalar; 908 908 std::vector<int> axisDomainOrderTmp; 909 909 910 if (!domain_ref.isEmpty()) 910 911 { 911 912 StdString tmp = domain_ref.getValue(); 912 913 if (CDomain::has(domain_ref)) 914 { 913 915 vecDom.push_back(CDomain::get(domain_ref)); 916 axisDomainOrderTmp.push_back(2); 917 } 914 918 else 915 919 ERROR("CField::solveGridReference(void)", … … 920 924 { 921 925 if (CAxis::has(axis_ref)) 926 { 922 927 vecAxis.push_back(CAxis::get(axis_ref)); 928 axisDomainOrderTmp.push_back(1); 929 } 923 930 else 924 931 ERROR("CField::solveGridReference(void)", … … 929 936 { 930 937 if (CScalar::has(scalar_ref)) 938 { 931 939 vecScalar.push_back(CScalar::get(scalar_ref)); 940 axisDomainOrderTmp.push_back(0); 941 } 932 942 else 933 943 ERROR("CField::solveGridReference(void)", 934 944 << "Invalid reference to scalar '" << scalar_ref.getValue() << "'."); 935 945 } 946 947 CArray<int,1> axisDomainOrder(axisDomainOrderTmp.size()); 948 for (int idx = 0; idx < axisDomainOrderTmp.size(); ++idx) 949 { 950 axisDomainOrder(idx) = axisDomainOrderTmp[idx]; 951 } 936 952 937 953 // Warning: the gridId shouldn't be set as the grid_ref since it could be inherited 938 StdString gridId = CGrid::generateId(vecDom, vecAxis, vecScalar );954 StdString gridId = CGrid::generateId(vecDom, vecAxis, vecScalar,axisDomainOrder); 939 955 if (CGrid::has(gridId)) 940 956 this->grid = CGrid::get(gridId); 941 957 else 942 this->grid = CGrid::createGrid(gridId, vecDom, vecAxis, vecScalar );958 this->grid = CGrid::createGrid(gridId, vecDom, vecAxis, vecScalar,axisDomainOrder); 943 959 } 944 960 else
Note: See TracChangeset
for help on using the changeset viewer.