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

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