OpendTect  6.3
paramsetget.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: N. Hemstra
8  Date: May 2005
9 ________________________________________________________________________
10 
11 -*/
12 
15 #define mSetFloatInterval( str, newval ) \
16 { \
17  mDynamicCastGet(Attrib::FloatGateParam*,param,desc.getParam(str)) \
18  const Interval<float> oldval( param->getFValue(0), param->getFValue(1) ); \
19  if ( chtr_.set(oldval,newval) ) param->setValue( newval ); \
20 }
21 
22 #define mSetFloat( str, newval ) \
23 { \
24  Attrib::ValParam* param = desc.getValParam( str ); \
25  const float oldval = param->getFValue(); \
26  if ( chtr_.set(oldval,newval) ) \
27  param->setValue( newval ); \
28 }
29 
30 #define mSetDouble( str, newval ) \
31 { \
32  Attrib::ValParam* param = desc.getValParam( str ); \
33  const double oldval = param->getDValue(); \
34  if ( chtr_.set(oldval,newval) ) \
35  param->setValue( newval ); \
36 }
37 
38 #define mSetInt( str, newval ) \
39 { \
40  Attrib::ValParam* param = desc.getValParam( str ); \
41  const int oldval = param->getIntValue(); \
42  if ( chtr_.set(oldval,newval) ) \
43  param->setValue( newval ); \
44 }
45 
46 #define mSetBool( str, newval ) \
47 { \
48  mDynamicCastGet(Attrib::BoolParam*,param,desc.getValParam(str)) \
49  const bool oldval = param->getBoolValue(); \
50  if ( chtr_.set(oldval,newval) ) \
51  param->setValue( newval ); \
52  else\
53  param->setSet();\
54 }
55 
56 #define mSetEnum( str, newval ) \
57 { \
58  mDynamicCastGet(Attrib::EnumParam*,param,desc.getValParam(str)) \
59  const int oldval = param->getIntValue(); \
60  if ( chtr_.set(oldval,newval) ) \
61  param->setValue( newval ); \
62  else\
63  param->setSet();\
64 }
65 
66 #define mSetBinID( str, newval ) \
67 { \
68  mDynamicCastGet(Attrib::BinIDParam*,param,desc.getValParam(str)) \
69  const BinID oldval = param->getValue(); \
70  if ( chtr_.set(oldval,newval) ) \
71  { param->setValue( newval.inl(), 0 ); param->setValue( newval.crl(), 1 ); } \
72 }
73 
74 
75 #define mSetString( str, newval ) \
76 { \
77  Attrib::ValParam* param = desc.getValParam( str ); \
78  BufferString oldval = param->getStringValue(); \
79  if ( chtr_.set(oldval,newval) ) \
80  param->setValue( newval ); \
81 }
82 
83 
84 // Get macros
85 
86 #define mIfGetBool( str, var, setfunc ) \
87 Attrib::ValParam* valparam##var = \
88  const_cast<Attrib::ValParam*>(desc.getValParam(str));\
89 mDynamicCastGet(Attrib::BoolParam*,boolparam##var,valparam##var);\
90 if ( boolparam##var ) \
91 {\
92  bool var;\
93  if ( boolparam##var->isSet() )\
94  var = boolparam##var->getBoolValue(0);\
95  else\
96  var = boolparam##var->getDefaultBoolValue(0);\
97  setfunc;\
98 }
99 
100 #define mIfGetFloat( str, var, setfunc ) \
101 if ( desc.getValParam(str) ) \
102 {\
103  float var = desc.getValParam(str)->getFValue(0);\
104  if ( mIsUdf(var) )\
105  var = desc.getValParam(str)->getDefaultFValue(0);\
106  setfunc;\
107 }
108 
109 #define mIfGetDouble( str, var, setfunc ) \
110 if ( desc.getValParam(str) ) \
111 {\
112  double var = desc.getValParam(str)->getDValue(0);\
113  if ( mIsUdf(var) )\
114  var = desc.getValParam(str)->getDefaultDValue(0);\
115  setfunc;\
116 }
117 
118 #define mIfGetInt( str, var, setfunc ) \
119 if ( desc.getValParam(str) ) \
120 {\
121  int var = desc.getValParam(str)->getIntValue(0);\
122  if ( mIsUdf(var) )\
123  var = desc.getValParam(str)->getDefaultIntValue(0);\
124  setfunc;\
125 }
126 
127 #define mIfGetEnum( str, var, setfunc ) \
128 Attrib::ValParam* valparam##var = \
129  const_cast<Attrib::ValParam*>(desc.getValParam(str));\
130 mDynamicCastGet(Attrib::EnumParam*,enumparam##var,valparam##var);\
131 if ( enumparam##var ) \
132 {\
133  int var;\
134  if ( enumparam##var->isSet() )\
135  var = enumparam##var->getIntValue(0);\
136  else\
137  var = enumparam##var->getDefaultIntValue(0);\
138  setfunc;\
139 }
140 
141 #define mIfGetString( str, var, setfunc ) \
142 if ( desc.getValParam(str) ) \
143 { \
144  BufferString var = desc.getValParam(str)->getStringValue(0); \
145  if ( var.isEmpty() ) \
146  var = desc.getValParam(str)->getDefaultStringValue(0); \
147  setfunc;\
148 }
149 
150 #define mIfGetBinID( str, var, setfunc ) \
151 Attrib::ValParam* valparam##var = \
152  const_cast<Attrib::ValParam*>(desc.getValParam(str));\
153 mDynamicCastGet(Attrib::BinIDParam*,binidparam##var,valparam##var);\
154 if ( binidparam##var ) \
155 { \
156  BinID var; \
157  var = binidparam##var->getValue(); \
158  if ( mIsUdf(var.inl()) || mIsUdf(var.crl()) )\
159  var = binidparam##var->getDefaultBinIDValue();\
160  setfunc; \
161 }
162 
163 #define mIfGetFloatInterval( str, var, setfunc ) \
164 Attrib::ValParam* valparam##var =\
165  const_cast<Attrib::ValParam*>(desc.getValParam(str));\
166 if ( valparam##var ) \
167 { \
168  Interval<float> var; \
169  var.start = valparam##var->getFValue(0); \
170  var.stop = valparam##var->getFValue(1); \
171  if ( mIsUdf(var.start) || mIsUdf(var.stop) )\
172  {\
173  mDynamicCastGet(Attrib::FloatGateParam*,gateparam##var,valparam##var);\
174  if ( gateparam##var ) \
175  var = gateparam##var->getDefaultGateValue();\
176  }\
177  setfunc; \
178 }

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017