OpendTect  6.3
elasticpropsel.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: Bruno
8  Date: May 2011
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "generalmod.h"
14 #include "elasticprop.h"
15 #include "uistrings.h"
16 
17 class IOObj;
18 
25 public:
26 
27  ElasticPropSelection(bool withswave=true);
29  const ElasticPropSelection& elp)
30  { *this = elp; }
33 
34  ElasticPropertyRef& getByIdx( int idx ) { return gt(idx); }
35  const ElasticPropertyRef& getByIdx( int idx ) const { return gt(idx); }
37  { return gt(tp); }
39  { return gt(tp); }
40 
41  static ElasticPropSelection* getByDBKey(const DBKey&);
42  static ElasticPropSelection* getByIOObj(const IOObj*);
43  bool put(const IOObj*) const;
44 
45  bool isValidInput(uiString*
46  errmsg = 0) const;
47 
48  void fillPar(IOPar&) const;
49  bool usePar(const IOPar&);
50 
51 protected:
52 
54  ElasticPropertyRef& gt(int idx) const;
55 
56  void mkEmpty();
57 
58 };
59 
60 
67 {
68 public:
70  const PropertyRefSelection& rps)
71  : elasticprops_(eps), refprops_(rps) {}
72 
73  float getVal(const ElasticPropertyRef& ef,
74  const float* proprefvals,
75  int proprefsz) const
76  { return getVal(ef.formula(),proprefvals, proprefsz); }
77 
78  void getVals(float& den,float& pbel,float& svel,
79  const float* proprefvals,int proprefsz) const;
80 
81 protected:
82 
85 
86  float getVal(const ElasticFormula& ef,
87  const float* proprefvals,
88  int proprefsz) const;
89 };
90 
91 
98 {
99 public:
100  ElasticPropGuess(const PropertyRefSelection&,
102 protected:
103 
104  void guessQuantity(const PropertyRefSelection&,
106  bool guessQuantity(const PropertyRef&,ElasticFormula::Type);
107 
109 };
#define mExpClass(module)
Definition: commondefs.h:157
bool put(ascostream &) const
Definition: propertyref.h:174
Computes elastic properties using parameters in ElasticPropSelection and PropertyRefSelection.
Definition: elasticpropsel.h:66
User parameters to compute values for an elastic layer (den,p/s-waves).
Definition: elasticpropsel.h:23
Definition: ioobj.h:57
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
Elastic formula def to generate elastic layers.
Definition: elasticprop.h:23
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
Type
Definition: elasticprop.h:27
ElasticPropertyRef & getByIdx(int idx)
Definition: elasticpropsel.h:34
Ref Data for a (usually petrophysical) property.
Definition: propertyref.h:40
ElasticFormula & formula()
Definition: elasticprop.h:118
Definition: uistring.h:88
const ElasticPropertyRef & getByType(ElasticFormula::Type tp) const
Definition: elasticpropsel.h:38
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
const PropertyRefSelection & refprops_
Definition: elasticpropsel.h:84
mODTextTranslationClass(ElasticPropSelection) public ElasticPropSelection(const ElasticPropSelection &elp)
Definition: elasticpropsel.h:28
ElasticPropertyRef & getByType(ElasticFormula::Type tp)
Definition: elasticpropsel.h:36
Guesses elastic properties using parameters in ElasticPropSelection and PropertyRefSelection.
Definition: elasticpropsel.h:97
NamedObject & operator=(const NamedObject &)
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
ElasticPropSelection & elasticprops_
Definition: elasticpropsel.h:108
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
float getVal(const ElasticPropertyRef &ef, const float *proprefvals, int proprefsz) const
Definition: elasticpropsel.h:73
Elastic property reference data.
Definition: elasticprop.h:106
ElasticPropGen(const ElasticPropSelection &eps, const PropertyRefSelection &rps)
Definition: elasticpropsel.h:69
const ElasticPropertyRef & getByIdx(int idx) const
Definition: elasticpropsel.h:35
const ElasticPropSelection & elasticprops_
Definition: elasticpropsel.h:83

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