Changeset 12167


Ignore:
Timestamp:
05/01/12 16:37:42 (13 years ago)
Author:
cborstad
Message:

additional modifications for a threshold value of an inverse parameter

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/branches/trunk-jpl-damage/src/c/objects/Inputs/ControlInput.cpp

    r11984 r12167  
    8282        printf("---minvalues: \n");  if (minvalues)   minvalues->Echo();
    8383        printf("---maxvalues: \n");  if (maxvalues)   maxvalues->Echo();
     84        printf("---threshvalues: \n");  if (threshvalues)   threshvalues->Echo();
    8485        printf("---gradient: \n");   if (gradient)    gradient->Echo();
    8586}
     
    159160        }
    160161
     162        /*marshal threshvalues*/
     163        if(!threshvalues){
     164                flag=0;
     165                memcpy(marshalled_dataset,&flag,sizeof(flag));marshalled_dataset+=sizeof(flag);
     166        }
     167        else{
     168                flag=1;
     169                memcpy(marshalled_dataset,&flag,sizeof(flag));marshalled_dataset+=sizeof(flag);
     170                this->threshvalues->Marshall(&marshalled_dataset);
     171        }
     172
    161173        /*marshal gradient*/
    162174        if(!gradient){
     
    188200        if(minvalues)size+=minvalues->MarshallSize();
    189201        if(maxvalues)size+=maxvalues->MarshallSize();
     202        if(threshvalues)size+=threshvalues->MarshallSize();
    190203        if(gradient)   size+=gradient->MarshallSize();
    191204        return size;
     
    278291        }
    279292
     293        /*Demarshal threshvalues*/
     294        memcpy(&flag,marshalled_dataset,sizeof(int));marshalled_dataset+=sizeof(int);
     295        if(flag){
     296                memcpy(&input_enum_type,marshalled_dataset,sizeof(int)); marshalled_dataset+=sizeof(int);
     297                if(input_enum_type==PentaP1InputEnum){
     298                        threshvalues=new PentaP1Input();
     299                        threshvalues->Demarshall(&marshalled_dataset);
     300                }
     301                else if(input_enum_type==TriaP1InputEnum){
     302                        threshvalues=new TriaP1Input();
     303                        threshvalues->Demarshall(&marshalled_dataset);
     304                }
     305                else _error_("Not supported yet");
     306        }
     307        else{
     308                threshvalues=NULL;
     309        }
     310
    280311        /*Demarshal gradient*/
    281312        memcpy(&flag,marshalled_dataset,sizeof(int));marshalled_dataset+=sizeof(int);
     
    322353        if(minvalues)   output->minvalues=(Input*)this->minvalues->copy();
    323354        if(maxvalues)   output->maxvalues=(Input*)this->maxvalues->copy();
     355        if(threshvalues)   output->threshvalues=(Input*)this->threshvalues->copy();
    324356        if(gradient)    output->gradient=(Input*)this->gradient->copy();
    325357
Note: See TracChangeset for help on using the changeset viewer.