Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h =================================================================== --- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h (revision 16337) +++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h (revision 16338) @@ -610,6 +610,7 @@ /*}}}*/ /*Coordinate Systems{{{*/ XYEnum, + XZEnum, XYZEnum, /*}}}*/ /*Toolkits{{{*/ Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp =================================================================== --- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp (revision 16337) +++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp (revision 16338) @@ -586,6 +586,7 @@ case BilinearInterpEnum : return "BilinearInterp"; case NearestInterpEnum : return "NearestInterp"; case XYEnum : return "XY"; + case XZEnum : return "XZ"; case XYZEnum : return "XYZ"; case DenseEnum : return "Dense"; case MpiDenseEnum : return "MpiDense"; Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp =================================================================== --- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp (revision 16337) +++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp (revision 16338) @@ -598,6 +598,7 @@ else if (strcmp(name,"BilinearInterp")==0) return BilinearInterpEnum; else if (strcmp(name,"NearestInterp")==0) return NearestInterpEnum; else if (strcmp(name,"XY")==0) return XYEnum; + else if (strcmp(name,"XZ")==0) return XZEnum; else if (strcmp(name,"XYZ")==0) return XYZEnum; else if (strcmp(name,"Dense")==0) return DenseEnum; else if (strcmp(name,"MpiDense")==0) return MpiDenseEnum; Index: ../trunk-jpl/src/c/classes/Node.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Node.cpp (revision 16337) +++ ../trunk-jpl/src/c/classes/Node.cpp (revision 16338) @@ -919,6 +919,7 @@ switch(cs_array[i]){ case PressureEnum: numdofs+=1; break; case XYEnum: numdofs+=2; break; + case XZEnum: numdofs+=2; break; case XYZEnum: numdofs+=3; break; default: _error_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet"); } @@ -969,6 +970,7 @@ switch(cs_array[i]){ case PressureEnum: numdofs+=1; break; case XYEnum: numdofs+=2; break; + case XZEnum: numdofs+=2; break; case XYZEnum: numdofs+=3; break; default: _error_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet"); } @@ -1018,6 +1020,7 @@ switch(cs_array[i]){ case PressureEnum: numdofs+=1; break; case XYEnum: numdofs+=2; break; + case XZEnum: numdofs+=2; break; case XYZEnum: numdofs+=3; break; default: _error_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet"); } @@ -1066,6 +1069,7 @@ switch(cs_array[i]){ case PressureEnum: numdofs+=1; break; case XYEnum: numdofs+=2; break; + case XZEnum: numdofs+=2; break; case XYZEnum: numdofs+=3; break; default: _error_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet"); } @@ -1105,6 +1109,7 @@ switch(cs_array[i]){ case PressureEnum: numdofs+=1; break; case XYEnum: numdofs+=2; break; + case XZEnum: numdofs+=2; break; case XYZEnum: numdofs+=3; break; default: _error_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet"); } @@ -1141,6 +1146,15 @@ transform[(numdofs)*(counter+1) + counter+1] = coord_system[0][0]/norm; counter+=2; break; + case XZEnum: + /*We remove the y component, we need to renormalize x and z: x=[x1 0 x2] y=[-x2 0 x1]*/ + norm = sqrt( coord_system[0][0]*coord_system[0][0] + coord_system[2][0]*coord_system[2][0]); _assert_(norm>1.e-4); + transform[(numdofs)*(counter+0) + counter+0] = coord_system[0][0]/norm; + transform[(numdofs)*(counter+0) + counter+2] = - coord_system[2][0]/norm; + transform[(numdofs)*(counter+1) + counter+0] = coord_system[2][0]/norm; + transform[(numdofs)*(counter+1) + counter+2] = coord_system[0][0]/norm; + counter+=2; + break; case XYZEnum: /*The 3 coordinates are changed (x,y,z)*/ transform[(numdofs)*(counter+0) + counter+0] = coord_system[0][0]; Index: ../trunk-jpl/src/m/enum/XZEnum.m =================================================================== --- ../trunk-jpl/src/m/enum/XZEnum.m (revision 0) +++ ../trunk-jpl/src/m/enum/XZEnum.m (revision 16338) @@ -0,0 +1,11 @@ +function macro=XZEnum() +%XZENUM - Enum of XZ +% +% WARNING: DO NOT MODIFY THIS FILE +% this file has been automatically generated by src/c/shared/Enum/Synchronize.sh +% Please read src/c/shared/Enum/README for more information +% +% Usage: +% macro=XZEnum() + +macro=StringToEnum('XZ'); Index: ../trunk-jpl/src/m/enum/EnumDefinitions.py =================================================================== --- ../trunk-jpl/src/m/enum/EnumDefinitions.py (revision 16337) +++ ../trunk-jpl/src/m/enum/EnumDefinitions.py (revision 16338) @@ -578,6 +578,7 @@ def BilinearInterpEnum(): return StringToEnum("BilinearInterp")[0] def NearestInterpEnum(): return StringToEnum("NearestInterp")[0] def XYEnum(): return StringToEnum("XY")[0] +def XZEnum(): return StringToEnum("XZ")[0] def XYZEnum(): return StringToEnum("XYZ")[0] def DenseEnum(): return StringToEnum("Dense")[0] def MpiDenseEnum(): return StringToEnum("MpiDense")[0]