Changeset 5473


Ignore:
Timestamp:
08/23/10 00:24:51 (15 years ago)
Author:
Eric.Larour
Message:

Key off enums instead of descriptors.

Location:
issm/trunk/src/c/modules/Responsex
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/modules/Responsex/Responsex.cpp

    r5286 r5473  
    1616#include "../modules.h"
    1717
    18 void Responsex(double* presponse,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* materials, Parameters* parameters,const char* response_descriptor,bool process_units){
     18void Responsex(double* responses,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* materials, Parameters* parameters,char* response_descriptor,bool process_units){
    1919
    20         if(strcmp(response_descriptor,"MinVel")==0){
    21                 MinVelx( presponse, elements,nodes, vertices, loads, materials, parameters,process_units);
     20        switch (StringToEnum(response_descriptor)){
     21               
     22                case MinVelEnum: MinVelx( responses, elements,nodes, vertices, loads, materials, parameters,process_units); break;
     23                case MaxVelEnum: MaxVelx( responses, elements,nodes, vertices, loads, materials, parameters,process_units); break;
     24                case MinVxEnum:  MinVxx( responses, elements,nodes, vertices, loads, materials, parameters,process_units);  break;
     25                case MaxVxEnum:  MaxVxx( responses, elements,nodes, vertices, loads, materials, parameters,process_units);  break;
     26                case MaxAbsVxEnum: MaxAbsVxx( responses, elements,nodes, vertices, loads, materials, parameters,process_units); break;
     27                case MinVyEnum:  MinVyx( responses, elements,nodes, vertices, loads, materials, parameters,process_units);  break;
     28                case MaxVyEnum:  MaxVyx( responses, elements,nodes, vertices, loads, materials, parameters,process_units);  break;
     29                case MaxAbsVyEnum: MaxAbsVyx( responses, elements,nodes, vertices, loads, materials, parameters,process_units); break;
     30                case MinVzEnum: MinVzx( responses, elements,nodes, vertices, loads, materials, parameters,process_units);   break;
     31                case MaxVzEnum: MaxVzx( responses, elements,nodes, vertices, loads, materials, parameters,process_units);   break;
     32                case MaxAbsVzEnum: MaxAbsVzx( responses, elements,nodes, vertices, loads, materials, parameters,process_units); break;
     33                case MassFluxEnum: MassFluxx( responses, elements,nodes, vertices, loads, materials, parameters,process_units); break;
     34                case SurfaceAbsVelMisfitEnum: SurfaceAbsVelMisfitx( responses, elements,nodes, vertices, loads, materials, parameters,process_units); break;
     35                case SurfaceRelVelMisfitEnum: SurfaceRelVelMisfitx( responses, elements,nodes, vertices, loads, materials, parameters,process_units); break;
     36                case SurfaceLogVelMisfitEnum: SurfaceLogVelMisfitx( responses, elements,nodes, vertices, loads, materials, parameters,process_units); break;
     37                case SurfaceLogVxVyMisfitEnum: SurfaceLogVxVyMisfitx( responses, elements,nodes, vertices, loads, materials, parameters,process_units); break;
     38                case SurfaceAverageVelMisfitEnum: SurfaceAverageVelMisfitx( responses, elements,nodes, vertices, loads, materials, parameters,process_units); break;
     39                case ThicknessAbsMisfitEnum: ThicknessAbsMisfitx( responses, elements,nodes, vertices, loads, materials, parameters,process_units); break;
     40                default: ISSMERROR(" response descriptor \"%s\" not supported yet!",response_descriptor); break;
    2241        }
    23         else if(strcmp(response_descriptor,"MaxVel")==0){
    24                 MaxVelx( presponse, elements,nodes, vertices, loads, materials, parameters,process_units);
    25         }
    26         else if(strcmp(response_descriptor,"MinVx")==0){
    27                 MinVxx( presponse, elements,nodes, vertices, loads, materials, parameters,process_units);
    28         }
    29         else if(strcmp(response_descriptor,"MaxVx")==0){
    30                 MaxVxx( presponse, elements,nodes, vertices, loads, materials, parameters,process_units);
    31         }
    32         else if(strcmp(response_descriptor,"MaxAbsVx")==0){
    33                 MaxAbsVxx( presponse, elements,nodes, vertices, loads, materials, parameters,process_units);
    34         }
    35         else if(strcmp(response_descriptor,"MinVy")==0){
    36                 MinVyx( presponse, elements,nodes, vertices, loads, materials, parameters,process_units);
    37         }
    38         else if(strcmp(response_descriptor,"MaxVy")==0){
    39                 MaxVyx( presponse, elements,nodes, vertices, loads, materials, parameters,process_units);
    40         }
    41         else if(strcmp(response_descriptor,"MaxAbsVy")==0){
    42                 MaxAbsVyx( presponse, elements,nodes, vertices, loads, materials, parameters,process_units);
    43         }
    44         else if(strcmp(response_descriptor,"MinVz")==0){
    45                 MinVzx( presponse, elements,nodes, vertices, loads, materials, parameters,process_units);
    46         }
    47         else if(strcmp(response_descriptor,"MaxVz")==0){
    48                 MaxVzx( presponse, elements,nodes, vertices, loads, materials, parameters,process_units);
    49         }
    50         else if(strcmp(response_descriptor,"MaxAbsVz")==0){
    51                 MaxAbsVzx( presponse, elements,nodes, vertices, loads, materials, parameters,process_units);
    52         }
    53         else if(strncmp(response_descriptor,"MassFlux",8)==0){
    54                 MassFluxx(presponse,elements,nodes,vertices,loads,materials,parameters,response_descriptor,process_units);
    55         }
    56         else if(strcmp(response_descriptor,"SurfaceAbsVelMisfit")==0){
    57                 SurfaceAbsVelMisfitx( presponse, elements,nodes, vertices, loads, materials, parameters,process_units);
    58         }
    59         else if(strcmp(response_descriptor,"SurfaceRelVelMisfit")==0){
    60                 SurfaceRelVelMisfitx( presponse, elements,nodes, vertices, loads, materials, parameters,process_units);
    61         }
    62         else if(strcmp(response_descriptor,"SurfaceLogVelMisfit")==0){
    63                 SurfaceLogVelMisfitx( presponse, elements,nodes, vertices, loads, materials, parameters,process_units);
    64         }
    65         else if(strcmp(response_descriptor,"SurfaceLogVxVyMisfit")==0){
    66                 SurfaceLogVxVyMisfitx( presponse, elements,nodes, vertices, loads, materials, parameters,process_units);
    67         }
    68         else if(strcmp(response_descriptor,"SurfaceAverageVelMisfit")==0){
    69                 SurfaceAverageVelMisfitx( presponse, elements,nodes, vertices, loads, materials, parameters,process_units);
    70         }
    71         else if(strcmp(response_descriptor,"ThicknessAbsMisfit")==0){
    72                 ThicknessAbsMisfitx( presponse, elements,nodes, vertices, loads, materials, parameters,process_units);
    73         }
    74         else{
    75                 ISSMERROR(" response descriptor \"%s\" not supported yet!",response_descriptor);
    76         }
     42
    7743}
  • issm/trunk/src/c/modules/Responsex/Responsex.h

    r5281 r5473  
    99#include "../../Container/Container.h"
    1010
    11 void Responsex(double* presponse,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* materials, Parameters* parameters,const char* response_descriptor,bool process_units);
     11void Responsex(double* presponse,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* materials, Parameters* parameters,char* response_descriptor,bool process_units);
    1212
    1313#endif  /* _RESPONSESXX_H */
Note: See TracChangeset for help on using the changeset viewer.