Ice Sheet System Model
4.18
Code documentation
src
c
classes
Params
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*/
18
VectorParam::VectorParam
(){
/*{{{*/
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
/*}}}*/
34
VectorParam::~VectorParam
(){
/*{{{*/
35
delete
value
;
36
}
37
/*}}}*/
38
39
/*Object virtual functions definitions:*/
40
Param
*
VectorParam::copy
() {
/*{{{*/
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: */
70
void
VectorParam::GetParameterValue
(
Vector<IssmDouble>
** poutput){
/*{{{*/
71
Vector<IssmDouble>
* output=NULL;
72
73
if
(
value
){
74
output=
value
->
Duplicate
();
75
value
->
Copy
(output);
76
}
77
*poutput=output;
78
}
79
/*}}}*/
80
void
VectorParam::SetValue
(
Vector<IssmDouble>
* vector){
/*{{{*/
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 >
Generated on Thu Jul 2 2020 08:09:18 for Ice Sheet System Model by
1.8.19