Changeset 9385


Ignore:
Timestamp:
08/23/11 11:08:34 (14 years ago)
Author:
Mathieu Morlighem
Message:

Fixed crash

Location:
issm/trunk/src
Files:
1 added
1 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h

    r9380 r9385  
    552552        HydrologyWaterVyEnum,
    553553        SpcDynamicEnum,
     554        NumberOfEdgesEnum,
    554555        MaximumNumberOfEnums
    555556};
  • issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp

    r9381 r9385  
    494494                case HydrologyWaterVyEnum : return "HydrologyWaterVy";
    495495                case SpcDynamicEnum : return "SpcDynamic";
     496                case NumberOfEdgesEnum : return "NumberOfEdges";
    496497                default : return "unknown";
    497498
  • issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp

    r9383 r9385  
    2121        int numberofedges;
    2222        int numpenalties;
     23        int numberofelements;
    2324
    2425        /*DataSet*/
     
    2728        /*Fetch parameters: */
    2829        iomodel->constants->FindParam(&prognostic_DG,PrognosticDGEnum);
     30        iomodel->constants->FindParam(&numberofelements,NumberOfElementsEnum);
     31        iomodel->constants->FindParam(&numberofedges,NumberOfEdgesEnum);
    2932
    3033        /*Recover pointer: */
  • issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp

    r9381 r9385  
    492492        else if (strcmp(name,"HydrologyWaterVy")==0) return HydrologyWaterVyEnum;
    493493        else if (strcmp(name,"SpcDynamic")==0) return SpcDynamicEnum;
     494        else if (strcmp(name,"NumberOfEdges")==0) return NumberOfEdgesEnum;
    494495        else _error_("Enum %s not found",name);
    495496
  • issm/trunk/src/m/model/marshall.m

    r9381 r9385  
    3333%Quick fix: add some fields needed by parameters
    3434WriteData(fid,'numberofvertices',md.numberofnodes,{'Integer'});
     35WriteData(fid,'numberofedges',size(md.edges,1),{'Integer'});
    3536
    3637%close file
     
    248249        error(['WriteData error message: data type: ' num2str(data_type) ' not supported yet! (' EnumToString(enum) ')']);
    249250end
     251% }}}
     252function enum=BuildEnum(string) % {{{
     253%BUILDENUM - build enum out of string
     254%
     255%   Usage:
     256%      enum=BuildEnum(string)
     257
     258if findstr(string,'icesheet'),
     259        indices=findstr(string,'icesheet');
     260        for i=1:length(indices),
     261                string(indices(i):(indices(i)+7))='IceSheet';
     262        end
     263end
     264
     265if findstr(string,'iceshelf'),
     266        indices=findstr(string,'iceshelf');
     267        for i=1:length(indices),
     268                string(indices(i):(indices(i)+7))='IceShelf';
     269        end
     270end
     271
     272if strncmpi(string,'elementon',9),
     273        string(1:9)='ElementOn';
     274        string(10)=upper(string(10));
     275end
     276
     277if strncmpi(string,'nodeon',6),
     278        string(1:6)='NodeOn';
     279        string(7)=upper(string(7));
     280end
     281
     282if strncmpi(string,'numberof',8),
     283        string(1:8)='NumberOf';
     284        string(9)=upper(string(9));
     285end
     286
     287if findstr(string,'_'),
     288        indices=findstr(string,'_');
     289        for i=1:length(indices),
     290                string(indices(i)+1)=upper(string(indices(i)+1));
     291        end
     292        string(indices)=[];
     293end
     294
     295if findstr(string,'2d'),
     296        indices=findstr(string,'2d');
     297        for i=1:length(indices),
     298                string(indices(i)+1)=upper(string(indices(i)+1));
     299        end
     300end
     301
     302if findstr(string,'3d'),
     303        indices=findstr(string,'3d');
     304        for i=1:length(indices),
     305                string(indices(i)+1)=upper(string(indices(i)+1));
     306        end
     307end
     308
     309%take first letter of string and make it uppercase:
     310string(1)=upper(string(1));
     311
     312%Get Enum
     313enum=eval([string 'Enum']);
    250314% }}}
    251315function code=TypeToCode(data_type) % {{{1
Note: See TracChangeset for help on using the changeset viewer.