Ice Sheet System Model  4.18
Code documentation
VectorParam.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 /*VectorParam constructors and destructor*/
19  return;
20 }
21 /*}}}*/
22 VectorParam::VectorParam(int in_enum_type,Vector<IssmDouble>* in_value){/*{{{*/
23 
24  enum_type=in_enum_type;
25 
26  value=NULL;
27 
28  if(in_value){
29  value=in_value->Duplicate();
30  in_value->Copy(value);
31  }
32 }
33 /*}}}*/
35  delete value;
36 }
37 /*}}}*/
38 
39 /*Object virtual functions definitions:*/
41 
42  return new VectorParam(this->enum_type,this->value);
43 
44 }
45 /*}}}*/
46 void VectorParam::DeepEcho(void){/*{{{*/
47 
48  _printf_("VectorParam:\n");
49  _printf_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
50  value->Echo();
51 }
52 /*}}}*/
53 void VectorParam::Echo(void){/*{{{*/
54 
55  _printf_("VectorParam:\n");
56  _printf_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")\n");
57 
58 }
59 /*}}}*/
60 int VectorParam::Id(void){ return -1; }/*{{{*/
61 /*}}}*/
62 int VectorParam::ObjectEnum(void){/*{{{*/
63 
64  return VectorParamEnum;
65 
66 }
67 /*}}}*/
68 
69 /*VectorParam virtual functions definitions: */
71  Vector<IssmDouble>* output=NULL;
72 
73  if(value){
74  output=value->Duplicate();
75  value->Copy(output);
76  }
77  *poutput=output;
78 }
79 /*}}}*/
81 
82  /*avoid leak: */
83  delete value;
84 
85  /*copy: */
86  value=vector->Duplicate();
87  vector->Copy(value);
88 }
89 /*}}}*/
VectorParam::enum_type
int enum_type
Definition: VectorParam.h:24
Param
Definition: Param.h:21
VectorParam::VectorParam
VectorParam()
Definition: VectorParam.cpp:18
_printf_
#define _printf_(StreamArgs)
Definition: Print.h:22
VectorParam::Echo
void Echo()
Definition: VectorParam.cpp:53
Vector::Duplicate
Vector< doubletype > * Duplicate(void)
Definition: Vector.h:230
VectorParam::value
Vector< IssmDouble > * value
Definition: VectorParam.h:25
VectorParam::~VectorParam
~VectorParam()
Definition: VectorParam.cpp:34
Vector::Echo
void Echo(void)
Definition: Vector.h:131
EnumToStringx
const char * EnumToStringx(int enum_in)
Definition: EnumToStringx.cpp:15
VectorParam::ObjectEnum
int ObjectEnum()
Definition: VectorParam.cpp:62
VectorParam::GetParameterValue
void GetParameterValue(bool *pbool)
Definition: VectorParam.h:42
VectorParam::copy
Param * copy()
Definition: VectorParam.cpp:40
VectorParam::Id
int Id()
Definition: VectorParam.cpp:60
VectorParam::SetValue
void SetValue(bool boolean)
Definition: VectorParam.h:60
Vector::Copy
void Copy(Vector *to)
Definition: Vector.h:319
VectorParamEnum
@ VectorParamEnum
Definition: EnumDefinitions.h:1321
VectorParam::DeepEcho
void DeepEcho()
Definition: VectorParam.cpp:46
Vector< IssmDouble >