/*--------------------------------------------------------------------------*/ int get_with_mesh_arg(char *fname,int pos,rhs_opts opts[], BOOL * withMesh) { int m,n,l,first_opt=FirstOpt(),kopt; if (pos < first_opt) { if (VarType(pos)) { GetRhsVar(pos,MATRIX_OF_BOOLEAN_DATATYPE, &m, &n, &l); CheckLength(pos,m*n,1); *withMesh = *(istk(l)); } else { /** global value can be modified **/ setDefWithMesh( FALSE ); *withMesh = getDefWithMesh() ; } } else if ((kopt=FindOpt("mesh",opts))) { GetRhsVar(kopt,MATRIX_OF_BOOLEAN_DATATYPE, &m, &n, &l); CheckLength(kopt,m*n,1); *withMesh = *(istk(l)); } else { /** global value can be modified **/ setDefWithMesh( FALSE ); *withMesh = getDefWithMesh() ; } return 1; }
/*--------------------------------------------------------------------------*/ int get_with_mesh_arg(void* _pvCtx, char *fname, int pos, rhs_opts opts[], BOOL * withMesh) { int first_opt = FirstOpt(), kopt; if (pos < first_opt) { int* piAddr = 0; int iType = 0; int iData = 0; getVarAddressFromPosition(_pvCtx, pos, &piAddr); getVarType(_pvCtx, piAddr, &iType); if (iType) { getScalarBoolean(_pvCtx, piAddr, &iData); *withMesh = iData; } else { /** global value can be modified **/ setDefWithMesh(FALSE); *withMesh = getDefWithMesh(); } } else if ((kopt = FindOpt("mesh", opts))) { int* piAddr = 0; int iData = 0; getVarAddressFromPosition(_pvCtx, kopt, &piAddr); getScalarBoolean(_pvCtx, piAddr, &iData); *withMesh = iData; } else { /** global value can be modified **/ setDefWithMesh(FALSE); *withMesh = getDefWithMesh(); } return 1; }