13 #include "attributeenginemod.h" 61 : desc_(d), enabled_(enabled)
62 , issteering_(false) {}
64 const char*
getDesc()
const {
return desc_; }
91 enum Locality { SingleTrace, PossiblyMultiTrace, MultiTrace };
94 Desc(
const char* attrname,
104 void getAncestorIDs(
DescID cid,
109 bool parseDefStr(
const char*);
111 const char* userRef()
const;
112 void setUserRef(
const char*);
114 int nrOutputs()
const;
115 void selectOutput(
int);
116 int selectedOutput()
const;
132 bool isStored()
const;
133 bool isStoredInMem()
const;
134 DBKey getStoredID(
bool recursive=
false)
const;
137 { needprovinit_ = yn; }
139 {
return needprovinit_;}
141 int nrInputs()
const;
144 bool setInput(
int,
const Desc*);
146 const Desc* getInput(
int)
const;
152 bool is2D()
const {
return is2d_; }
153 void set2D(
bool yn ) { is2d_ = yn; }
154 bool isPS()
const {
return isps_; }
155 void setPS(
bool yn ) { isps_ = yn; }
164 bool isIdenticalTo(
const Desc&,
165 bool cmpoutput=
true)
const;
166 bool isIdentifiedBy(
const char*)
const;
167 DescID inputId(
int idx)
const;
170 void addParam(
Param*);
172 const Param* getParam(
const char* key)
const;
173 Param* getParam(
const char* key);
174 const ValParam* getValParam(
const char* key)
const;
175 ValParam* getValParam(
const char* key);
176 void setParamEnabled(
const char* key,
bool yn=
true);
177 bool isParamEnabled(
const char* key)
const;
178 void setParamRequired(
const char* key,
bool yn=
true);
179 bool isParamRequired(
const char* key)
const;
182 void updateDefaultParams();
183 void changeStoredID(
const DBKey&);
186 bool removeInput(
int idx);
187 void removeOutputs();
190 void addOutputDataTypeSameAs(
int);
193 static bool getAttribName(
const char* defstr,
BufferString&);
194 static bool getParamString(
const char* defstr,
197 Desc* getStoredInput()
const;
198 DescID getMultiOutputInputID()
const;
202 Desc* cloneDescAndPropagateInput(
const DescID&,
205 static const char* sKeyInlDipComp();
206 static const char* sKeyCrlDipComp();
207 static const char* sKeyLineDipComp();
209 static void getKeysVals(
const char* defstr,
212 const char* onlyneedkey=0);
220 bool setInput_(
int,
Desc*);
221 Param* findParam(
const char* key);
250 #define mGetIntFromDesc( __desc, var, varstring ) \ 252 var = __desc.getValParam(varstring)->getIntValue(0); \ 254 var = __desc.getValParam(varstring)->getDefaultIntValue(0);\ 257 #define mGetFloatFromDesc( __desc, var, varstring ) \ 259 var = __desc.getValParam(varstring)->getFValue(0); \ 261 var = __desc.getValParam(varstring)->getDefaultFValue(0);\ 265 #define mGetDoubleFromDesc( __desc, var, varstring ) \ 267 var = __desc.getValParam(varstring)->getDValue(0); \ 269 var = __desc.getValParam(varstring)->getDefaultDValue(0);\ 273 #define mGetBoolFromDesc( __desc, var, varstring ) \ 275 Attrib::ValParam* valparam##var = \ 276 const_cast<Attrib::ValParam*>(__desc.getValParam(varstring));\ 277 mDynamicCastGet(Attrib::BoolParam*,boolparam##var,valparam##var);\ 278 if ( boolparam##var ) \ 279 var = boolparam##var->isSet() ? boolparam##var->getBoolValue(0)\ 280 : boolparam##var->getDefaultBoolValue(0);\ 283 #define mGetEnumFromDesc( __desc, var, varstring ) \ 285 Attrib::ValParam* valparam##var = \ 286 const_cast<Attrib::ValParam*>(__desc.getValParam(varstring));\ 287 mDynamicCastGet(Attrib::EnumParam*,enumparam##var,valparam##var);\ 288 if ( enumparam##var ) \ 289 var = enumparam##var->isSet() ? enumparam##var->getIntValue(0)\ 290 : enumparam##var->getDefaultIntValue(0);\ 293 #define mGetStringFromDesc( __desc, var, varstring ) \ 295 var = __desc.getValParam(varstring)->getStringValue(0); \ 296 if ( FixedString(var).isEmpty() )\ 297 var = __desc.getValParam(varstring)->getDefaultStringValue(0); \ 300 #define mGetBinIDFromDesc( __desc, var, varstring ) \ 302 var.inl() = __desc.getValParam(varstring)->getIntValue(0); \ 303 var.crl() = __desc.getValParam(varstring)->getIntValue(1); \ 304 if ( mIsUdf(var.inl()) || mIsUdf(var.crl()) )\ 306 Attrib::ValParam* valparam##var = \ 307 const_cast<Attrib::ValParam*>(__desc.getValParam(varstring));\ 308 mDynamicCastGet(Attrib::BinIDParam*,binidparam##var,valparam##var);\ 309 if ( binidparam##var ) \ 310 var = binidparam##var->getDefaultBinIDValue();\ 312 if ( __desc.descSet()->is2D() ) \ 316 #define mGetFloatIntervalFromDesc( __desc, var, varstring ) \ 318 var.start = __desc.getValParam(varstring)->getFValue(0); \ 319 var.stop = __desc.getValParam(varstring)->getFValue(1); \ 320 if ( mIsUdf(var.start) || mIsUdf(var.stop) )\ 322 Attrib::ValParam* valparam##var = \ 323 const_cast<Attrib::ValParam*>(__desc.getValParam(varstring));\ 324 mDynamicCastGet(Attrib::ZGateParam*,gateparam##var,valparam##var);\ 325 if ( gateparam##var ) \ 326 var = gateparam##var->getDefaultGateValue();\ 330 #define mGetFloat( var, varstring ) \ 331 mGetFloatFromDesc( desc_, var, varstring ) 332 #define mGetInt( var, varstring ) \ 333 mGetIntFromDesc( desc_, var, varstring ) 334 #define mGetBool( var, varstring ) \ 335 mGetBoolFromDesc( desc_, var, varstring ) 336 #define mGetEnum( var, varstring ) \ 337 mGetEnumFromDesc( desc_, var, varstring ) 338 #define mGetString( var, varstring ) \ 339 mGetStringFromDesc( desc_, var, varstring ) 340 #define mGetBinID( var, varstring ) \ 341 mGetBinIDFromDesc( desc_, var, varstring ) 342 #define mGetFloatInterval( var, varstring ) \ 343 mGetFloatIntervalFromDesc( desc_, var, varstring ) 344 #define mGetDouble( var, varstring ) \ 345 mGetDoubleFromDesc( desc_, var, varstring ) Attribute Value Parameter.
Definition: attribparambase.h:92
#define mExpClass(module)
Definition: commondefs.h:157
ObjectSet< Param > params_
Definition: attribdesc.h:237
BufferString userref_
Definition: attribdesc.h:239
DescStatusUpdater statusupdater_
Definition: attribdesc.h:243
Locality locality() const
Definition: attribdesc.h:121
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:51
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
bool issteering_
Definition: attribdesc.h:225
void(* DescDefaultsUpdater)(Desc &)
Definition: attribdesc.h:31
#define mDefSetupClssMemb(clss, typ, memb)
Definition: commondefs.h:125
bool isps_
Definition: attribdesc.h:229
bool usestrcpos_
Definition: attribdesc.h:231
Set of attribute descriptions.
Definition: attribdescset.h:29
bool isSteering() const
Definition: attribdesc.h:125
DescDefaultsUpdater defaultsupdater_
Definition: attribdesc.h:244
bool is2d_
Definition: attribdesc.h:228
AttribDesc ID: each Desc has a unique ID in a set; the boolean isstored allows us to know whether thi...
Definition: attribdescid.h:25
Definition: uistring.h:88
TypeSet< int > outputtypelinks_
Definition: attribdesc.h:224
void setLocality(Locality l)
Definition: attribdesc.h:122
Set of BufferString objects.
Definition: bufstringset.h:25
bool needprovinit_
Definition: attribdesc.h:227
void set2D(bool yn)
Definition: attribdesc.h:153
Set of pointers to objects.
Definition: commontypes.h:28
int seloutput_
Definition: attribdesc.h:240
bool hidden_
Definition: attribdesc.h:226
TypeSet< InputSpec > inputspecs_
Definition: attribdesc.h:233
FixedString Desc()
Definition: keystrs.h:60
void setNeedProvInit(bool yn=true)
Definition: attribdesc.h:136
bool is2D() const
Definition: attribdesc.h:152
Description of an attribute in an Attrib::DescSet. Each attribute has a name (e.g. "Similarity"), a user reference (e.g. "My similarity"), and at least one output. In addition, it may have parameters and inputs. If it has multiple outputs, only one of the outputs are selected.
Definition: attribdesc.h:87
encapsulates the read-access-only part of strings in OD.
Definition: odstring.h:29
Setup class for Attrib::Desc.
Definition: attribdesc.h:37
A parameter that is used by an attribute.
Definition: attribparambase.h:34
void setUsesTrcPos(bool yn)
Definition: attribdesc.h:124
bool usesTracePosition() const
Definition: attribdesc.h:123
DescSet * descset_
Definition: attribdesc.h:241
Locality locality_
Definition: attribdesc.h:230
ObjectSet< Desc > inputs_
Definition: attribdesc.h:234
void setPS(bool yn)
Definition: attribdesc.h:155
void setErrMsg(const uiString str)
Definition: attribdesc.h:162
void(* DescStatusUpdater)(Desc &)
Definition: attribdesc.h:30
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
Definition: attribdesc.h:157
BufferString errmsg_
Definition: horizontracker.h:117
bool isPS() const
Definition: attribdesc.h:154
void setHidden(bool yn)
Definition: attribdesc.h:129
bool isHidden() const
Definition: attribdesc.h:127
uiString errmsg_
Definition: attribdesc.h:245
BufferString attribname_
Definition: attribdesc.h:236
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
DataType
Definition: seistype.h:52
const char * errMsg() const
Definition: horizontracker.h:59
void setSteering(bool yn)
Definition: attribdesc.h:126
bool needProvInit() const
Definition: attribdesc.h:138
SatisfyLevel
Definition: attribdesc.h:157
Semblance Attribute.
Definition: attribdataholder.h:21
TypeSet< Seis::DataType > outputtypes_
Definition: attribdesc.h:223