Changeset 20888


Ignore:
Timestamp:
07/12/16 14:17:58 (9 years ago)
Author:
Mathieu Morlighem
Message:

CHG: centralize code that converts number to enums

Location:
issm/trunk-jpl/src/c
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/Makefile.am

    r20687 r20888  
    9999                                        ./shared/io/Print/PrintfFunction.cpp\
    100100                                        ./shared/io/Comm/IssmComm.cpp\
     101                                        ./shared/io/Marshalling/IoCodeConversions.cpp \
    101102                                        ./shared/LatLong/Ll2xyx.cpp\
    102103                                        ./shared/LatLong/Xy2llx.cpp\
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp

    r20697 r20888  
    8888                                sscanf(variabledescriptors[i],"scaled_%s",tag);
    8989
    90                                 /*Convert tag to field name*/
    91                                 char* fieldname = NULL;
     90                                /*Get field name and input enum from tag*/
     91                                char* fieldname  = NULL;
    9292                                int   param_enum = -1;
    93                                 if(strcmp(tag,"Thickness")==0){
    94                                         const char* field = "md.geometry.thickness";
    95                                         param_enum        = ThicknessEnum;
    96                                         fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1));
    97                                 }
    98                                 else if(strcmp(tag,"MaterialsRheologyB")==0){
    99                                         const char* field = "md.materials.rheology_B";
    100                                         param_enum        = MaterialsRheologyBEnum;
    101                                         fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1));
    102                                 }
    103                                 else if(strcmp(tag,"SmbMassBalance")==0){
    104                                         const char* field = "md.smb.mass_balance";
    105                                         param_enum        = SmbMassBalanceEnum;
    106                                         fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1));
    107                                 }
    108                                 else if(strcmp(tag,"FrictionCoefficient")==0){
    109                                         const char* field = "md.friction.coefficient";
    110                                         param_enum        = FrictionCoefficientEnum;
    111                                         fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1));
    112                                 }
    113                                 else{
    114                                         _error_("Tag \""<<tag<<"\" not supported yet");
    115                                 }
     93                                FieldAndEnumFromCode(&param_enum,&fieldname,tag);
    11694
    11795                                /*Recover data: */
  • issm/trunk-jpl/src/c/shared/io/io.h

    r19198 r20888  
    1616#include "./Print/Print.h"
    1717#include "./Marshalling/Marshalling.h"
     18#include "./Marshalling/IoCodeConversions.h"
    1819
    1920#endif  /* _IO_H_ */
Note: See TracChangeset for help on using the changeset viewer.