source: issm/trunk/src/c/objects/Params/BoolParam.h@ 9777

Last change on this file since 9777 was 9777, checked in by Eric.Larour, 14 years ago

Discarded Marshall, Demarshall and MarshallSize routines for parallel compilation, where it is never used.
Only activated according to _SERIAL_ symbol.

File size: 4.6 KB
Line 
1/*! \file BoolParam.h
2 * \brief: header file for triavertexinput object
3 */
4
5
6#ifndef _BOOLPARAM_H_
7#define _BOOLPARAM_H_
8
9/*Headers:*/
10/*{{{1*/
11#ifdef HAVE_CONFIG_H
12 #include <config.h>
13#else
14#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
15#endif
16
17#ifdef _SERIAL_
18#include <mex.h>
19#endif
20
21#include "./Param.h"
22#include "../../include/include.h"
23#include "../../shared/shared.h"
24/*}}}*/
25
26class BoolParam: public Param{
27
28 public:
29 /*just hold 3 values for 3 vertices: */
30 int enum_type;
31 IssmBool value;
32
33 /*BoolParam constructors, destructors: {{{1*/
34 BoolParam();
35 BoolParam(int enum_type,IssmBool value);
36 ~BoolParam();
37 /*}}}*/
38 /*Object virtual functions definitions:{{{1 */
39 void Echo();
40 void DeepEcho();
41 int Id();
42 int MyRank();
43 #ifdef _SERIAL_
44 void Marshall(char** pmarshalled_dataset);
45 int MarshallSize();
46 void Demarshall(char** pmarshalled_dataset);
47 #endif
48 int Enum();
49 Object* copy();
50 /*}}}*/
51 /*Param vritual function definitions: {{{1*/
52 int EnumType(){return enum_type;}
53 void GetParameterValue(bool* pbool){*pbool=value;}
54 void GetParameterValue(int* pinteger){_error_("Bool param of enum %i (%s) cannot return an integer",enum_type,EnumToStringx(enum_type));}
55 void GetParameterValue(int** pintarray,int* pM){_error_("Bool param of enum %i (%s) cannot return an array of integers",enum_type,EnumToStringx(enum_type));}
56 void GetParameterValue(int** pintarray,int* pM,int* pN){_error_("Bool param of enum %i (%s) cannot return an array of integers",enum_type,EnumToStringx(enum_type));}
57 void GetParameterValue(double* pdouble){_error_("Bool param of enum %i (%s) cannot return a double",enum_type,EnumToStringx(enum_type));}
58 void GetParameterValue(char** pstring){_error_("Bool param of enum %i (%s) cannot return a string",enum_type,EnumToStringx(enum_type));}
59 void GetParameterValue(char*** pstringarray,int* pM){_error_("Bool param of enum %i (%s) cannot return a string arrayl",enum_type,EnumToStringx(enum_type));}
60 void GetParameterValue(double** pdoublearray,int* pM){_error_("Bool param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
61 void GetParameterValue(double** pdoublearray,int* pM, int* pN){_error_("Bool param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
62 void GetParameterValue(double*** parray, int* pM,int** pmdims, int** pndims){_error_("Bool param of enum %i (%s) cannot return a matrix array",enum_type,EnumToStringx(enum_type));}
63 void GetParameterValue(Vec* pvec){_error_("Bool param of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
64 void GetParameterValue(Mat* pmat){_error_("Bool param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
65 void GetParameterValue(FILE** pfid){_error_("Bool param of enum %i (%s) cannot return a FILE",enum_type,EnumToStringx(enum_type));}
66
67 void SetValue(bool boolean){this->value=boolean;}
68 void SetValue(int integer){this->value=(bool)integer;}
69 void SetValue(double scalar){this->value=(bool)scalar;}
70 void SetValue(char* string){_error_("Bool param of enum %i (%s) cannot hold a string",enum_type,EnumToStringx(enum_type));}
71 void SetValue(char** stringarray,int M){_error_("Bool param of enum %i (%s) cannot hold a string array",enum_type,EnumToStringx(enum_type));}
72 void SetValue(double* doublearray,int M){_error_("Bool param of enum %i (%s) cannot hold a double array",enum_type,EnumToStringx(enum_type));}
73 void SetValue(double* pdoublearray,int M,int N){_error_("Bool param of enum %i (%s) cannot hold a double array",enum_type,EnumToStringx(enum_type));}
74 void SetValue(int* intarray,int M){_error_("Bool param of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
75 void SetValue(int* pintarray,int M,int N){_error_("Bool param of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
76 void SetValue(Vec vec){_error_("Bool param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
77 void SetValue(Mat mat){_error_("Bool param of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
78 void SetValue(FILE* fid){_error_("Bool param of enum %i (%s) cannot hold a FILE",enum_type,EnumToStringx(enum_type));}
79 void SetValue(double** array, int M, int* mdim_array, int* ndim_array){_error_("Bool param of enum %i (%s) cannot hold an array of matrices",enum_type,EnumToStringx(enum_type));}
80 void UnitConversion(int direction_enum);
81
82 char* GetParameterName(void);
83 #ifdef _SERIAL_
84 void SetMatlabField(mxArray* dataref);
85 #endif
86 /*}}}*/
87};
88#endif /* _BOOLPARAM_H */
Note: See TracBrowser for help on using the repository browser.