Changeset 22587


Ignore:
Timestamp:
03/20/18 17:10:19 (7 years ago)
Author:
erobo
Message:

CHG: added functions to DependentObject

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

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/DependentObject.cpp

    r20810 r22587  
    1818        this->type=0;
    1919        this->index=-1;
     20        this->response_value=0.;
    2021}
    2122/*}}}*/
     
    2728        if(in_type!=0 && in_type!=1)_error_("cannot create an DependentObject of type " << in_type);
    2829        if(in_type==1)_error_("not implemented yet!");
     30        this->response_value=0.;
     31
     32}
     33/*}}}*/
     34DependentObject::DependentObject(char* in_name, int in_type,int in_index,IssmDouble in_response){/*{{{*/
     35
     36        this->name=xNew<char>(strlen(in_name)+1); xMemCpy<char>(this->name,in_name,strlen(in_name)+1);
     37        this->type=in_type;
     38        this->index=in_index;
     39        if(in_type!=0 && in_type!=1)_error_("cannot create an DependentObject of type " << in_type);
     40        if(in_type==1)_error_("not implemented yet!");
     41        this->response_value=in_response;
    2942
    3043}
     
    3750/*Object virtual functions definitions:*/
    3851Object* DependentObject::copy(void) { /*{{{*/
    39         return new DependentObject(name,type,index);
     52        return new DependentObject(name,type,index,response_value);
    4053} /*}}}*/
    4154void DependentObject::DeepEcho(void){/*{{{*/
     
    8598        }
    8699        else femmodel->Responsex(poutput_value,this->name);
    87 
    88100}
    89101/*}}}*/
     102IssmDouble DependentObject::GetValue(void){/*{{{*/
     103        return this->response_value;
     104}
     105/*}}}*/
     106void DependentObject::AddValue(IssmDouble in_value){/*{{{*/
     107        this->response_value+=in_value;
     108}
     109/*}}}*/
     110void DependentObject::ResetResponseValue(){/*{{{*/
     111        this->response_value=0.;
     112}
     113/*}}}*/
  • issm/trunk-jpl/src/c/classes/DependentObject.h

    r20810 r22587  
    2020                int type;  /*0: scalar, 1: vertex*/
    2121                int index;  /*0: scalar, 1: vertex*/
     22                IssmDouble response_value;
    2223
    23                 /*DependentObject constructors, destructors {{{*/
     24                /*DependentObject constructors, destructors */
    2425                DependentObject();
    2526                DependentObject(char* name, int type,int index);
     27                DependentObject(char* name, int type,int index,IssmDouble in_response);
    2628                ~DependentObject();
    27                 /*}}}*/
    28                 /*Object virtual functions definitions:{{{ */
     29
     30                /*Object virtual functions definitions*/
    2931                Object* copy(void);
    3032                void  DeepEcho();
     
    3234                int   Id();
    3335                int   ObjectEnum();
    34                 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){/*{{{*/
    35                         _error_("not implemented yet!");
    36                 }
    37                 /*}}}*/
    38                 /*}}}*/
     36                void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){_error_("not implemented yet!"); };
    3937
    4038                /*DependentObject methods: */
    4139                int  NumDependents(void);
    4240                void Responsex(IssmDouble* poutput_value,FemModel* femmodel);
     41                IssmDouble GetValue(void);
     42                void AddValue(IssmDouble in_value);
     43                void ResetResponseValue(void);
    4344
    4445};
Note: See TracChangeset for help on using the changeset viewer.