OpendTect  6.3
uiwelllogcalc.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: Bert
8  Date: June 2009
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uiwellmod.h"
14 #include "uidialog.h"
15 #include "bufstringset.h"
16 #include "dbkey.h"
17 #include "propertyref.h"
18 
19 class uiUnitSel;
20 class uiGenInput;
21 class uiCheckBox;
22 class uiComboBox;
23 class uiMathFormula;
24 namespace Math { class Formula; }
25 namespace Well { class D2TModel; class Log; class LogSet; class Track;}
26 
27 
32 public:
34  bool rockphysmode=false);
35  ~uiWellLogCalc();
36 
37  bool haveNewLogs() const { return havenew_; }
38 
39  void setOutputLogName(const char* nm);
40  const char* getOutputLogName() const;
41 
42 protected:
43 
50 
53  float zsampintv_;
56  bool havenew_;
57 
58  struct InpData
59  {
60  InpData( const Well::Log* w=0, bool n=false )
61  : wl_(w), shift_(0), specidx_(-1)
62  , isconst_(false), constval_(0) {}
63  bool operator ==( const InpData& id ) const
64  { return wl_ == id.wl_; }
65  const Well::Log* wl_;
66  int shift_;
67  int specidx_;
68  bool isconst_;
69  float constval_;
70  };
71 
72  void getAllLogs();
73  bool useForm(const TypeSet<PropertyRef::StdType>* t=0);
74  Well::Log* getLog4InpIdx(Well::LogSet&,int varnr);
75  void setUnits4Log(int);
76  void fillSRFld(int);
77 
78  bool getInpDatas(Well::LogSet&,TypeSet<InpData>&);
79  Well::Log* getInpLog(Well::LogSet&,int,bool);
80  bool calcLog(Well::Log&,const TypeSet<InpData>&,
81  Well::Track&,const Well::D2TModel*);
82 
83  void initWin(CallBacker*);
84  void rockPhysReq(CallBacker*);
85  void feetSel(CallBacker*);
86  void formSet(CallBacker*);
87  void formUnitSel(CallBacker*);
88  void inpSel(CallBacker*);
89  void vwLog(CallBacker*);
90 
91  bool acceptOK();
92 
93 };
#define mExpClass(module)
Definition: commondefs.h:157
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
Depth to time model.
Definition: welld2tmodel.h:25
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:51
Selector for UnitOfMeasure&#39;s.
Definition: uiunitsel.h:36
uiGenInput * nmfld_
Definition: uiwelllogcalc.h:45
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
Well log.
Definition: welllog.h:40
float zsampintv_
Definition: uiwelllogcalc.h:53
Definition: dbkey.h:98
Set of Well::Log&#39;s.
Definition: welllogset.h:24
Combo box.
Definition: uicombobox.h:30
int shift_
Definition: uiwelllogcalc.h:66
Definition: uiparent.h:24
uiUnitSel * outunfld_
Definition: uiwelllogcalc.h:48
Set of BufferString objects.
Definition: bufstringset.h:25
bool haveNewLogs() const
Definition: uiwelllogcalc.h:37
Definition: uidialog.h:40
bool havenew_
Definition: uiwelllogcalc.h:56
Definition: uiwelllogcalc.h:58
const DBKeySet wellids_
Definition: uiwelllogcalc.h:55
int specidx_
Definition: uiwelllogcalc.h:67
Math formula: (expression, inputs, units, calculation, storage).
Definition: mathformula.h:64
Set of (small) copyable elements.
Definition: commontypes.h:26
Definition: wellcommon.h:16
InpData(const Well::Log *w=0, bool n=false)
Definition: uiwelllogcalc.h:60
uiMathFormula * formfld_
Definition: uiwelllogcalc.h:44
Well track.
Definition: welltrack.h:22
General Input Element.
Definition: uigeninput.h:56
Well::LogSet & superwls_
Definition: uiwelllogcalc.h:51
const Well::Log * wl_
Definition: uiwelllogcalc.h:65
uiGenInput * srfld_
Definition: uiwelllogcalc.h:46
Definition: uimathformula.h:32
float constval_
Definition: uiwelllogcalc.h:69
Dialog for marker specifications.
Definition: uiwelllogcalc.h:30
Math::Formula & form_
Definition: uiwelllogcalc.h:52
uiCheckBox * ftbox_
Definition: uiwelllogcalc.h:47
float Log(float)
Definition: math2.h:27
bool isconst_
Definition: uiwelllogcalc.h:68
BufferStringSet lognms_
Definition: uiwelllogcalc.h:54
Definition: uibutton.h:130
uiComboBox * interppolfld_
Definition: uiwelllogcalc.h:49

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