Ice Sheet System Model  4.18
Code documentation
MatrixParam.cpp
Go to the documentation of this file.
1 
5 /*header files: */
6 /*{{{*/
7 #ifdef HAVE_CONFIG_H
8  #include <config.h>
9 #else
10 #error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
11 #endif
12 
13 #include "../classes.h"
14 #include "../../shared/shared.h"
15 /*}}}*/
16 
17 /*MatrixParam constructors and destructor*/
19  return;
20 }
21 /*}}}*/
22 MatrixParam::MatrixParam(int in_enum_type,Matrix<IssmDouble>* in_value){/*{{{*/
23 
24  enum_type=in_enum_type;
25  value=NULL;
26 
27  if(in_value){
28  value=in_value->Duplicate();
29  }
30 }
31 /*}}}*/
33  delete value;
34 }
35 /*}}}*/
36 
37 /*Object virtual functions definitions:*/
39 
40  return new MatrixParam(this->enum_type,this->value);
41 
42 }
43 /*}}}*/
44 void MatrixParam::DeepEcho(void){/*{{{*/
45 
46  _printf_("MatrixParam:\n");
47  _printf_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
48  this->value->Echo();
49 }
50 /*}}}*/
51 void MatrixParam::Echo(void){/*{{{*/
52 
53  _printf_("MatrixParam:\n");
54  _printf_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
55 
56 }
57 /*}}}*/
58 int MatrixParam::Id(void){ return -1; }/*{{{*/
59 /*}}}*/
60 int MatrixParam::ObjectEnum(void){/*{{{*/
61 
62  return MatrixParamEnum;
63 
64 }
65 /*}}}*/
66 
67 /*MatrixParam virtual functions definitions: */
69  Matrix<IssmDouble>* output=NULL;
70 
71  if(value){
72  output=value->Duplicate();
73  }
74  *poutput=output;
75 }
76 /*}}}*/
78 
79  /*avoid leak: */
80  delete value;
81 
82  /*copy: */
83  value=matrix->Duplicate();
84 }
85 /*}}}*/
Matrix< IssmDouble >
MatrixParam::Echo
void Echo()
Definition: MatrixParam.cpp:51
MatrixParam::copy
Param * copy()
Definition: MatrixParam.cpp:38
Param
Definition: Param.h:21
_printf_
#define _printf_(StreamArgs)
Definition: Print.h:22
MatrixParam::DeepEcho
void DeepEcho()
Definition: MatrixParam.cpp:44
MatrixParamEnum
@ MatrixParamEnum
Definition: EnumDefinitions.h:1172
MatrixParam::enum_type
int enum_type
Definition: MatrixParam.h:24
MatrixParam::Id
int Id()
Definition: MatrixParam.cpp:58
MatrixParam::value
Matrix< IssmDouble > * value
Definition: MatrixParam.h:25
MatrixParam::ObjectEnum
int ObjectEnum()
Definition: MatrixParam.cpp:60
EnumToStringx
const char * EnumToStringx(int enum_in)
Definition: EnumToStringx.cpp:15
Matrix::Duplicate
Matrix< doubletype > * Duplicate(void)
Definition: Matrix.h:252
MatrixParam::SetValue
void SetValue(bool boolean)
Definition: MatrixParam.h:60
MatrixParam::~MatrixParam
~MatrixParam()
Definition: MatrixParam.cpp:32
MatrixParam::MatrixParam
MatrixParam()
Definition: MatrixParam.cpp:18
MatrixParam::GetParameterValue
void GetParameterValue(bool *pbool)
Definition: MatrixParam.h:42
Matrix::Echo
void Echo(void)
Definition: Matrix.h:159