OpendTect  6.3
uistratlayermodel.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: Oct 2010
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uiwellattribmod.h"
14 #include "uimainwin.h"
15 #include "uistring.h"
16 class CtxtIOObj;
17 class Wavelet;
18 class SeisTrcBuf;
19 class StratSynth;
20 class PropertyRef;
21 class SyntheticData;
22 class TimeDepthModel;
25 class uiToolBar;
26 class uiIOObjSelDlg;
27 class uiStratSynthDisp;
32 class uiStratLayerModelLMProvider;
33 namespace Strat { class LayerModel; class LayerSequenceGenDesc; }
34 
35 
36 mExpClass(uiWellAttrib) uiStratLayerModel : public uiMainWin
38 public:
40 
42  const char* disptype=0,int opt=0);
44 
45  void go() { show(); }
46 
47  static const char* sKeyModeler2Use();
48 
50  uiToolBar* analysisToolBar() { return analtb_; }
51 
52  const Strat::LayerSequenceGenDesc& genDesc() const { return desc_; }
53  const Strat::LayerModel& layerModelOriginal() const;
54  Strat::LayerModel& layerModelOriginal();
55  const Strat::LayerModel& layerModelEdited() const;
56  Strat::LayerModel& layerModelEdited();
57  const Strat::LayerModel& layerModel() const;
58  Strat::LayerModel& layerModel();
59  BufferString levelName() const;
60  const StratSynth& currentStratSynth() const;
61  StratSynth& currentStratSynth();
62  const StratSynth& normalStratSynth() const;
63  const StratSynth& editStratSynth() const;
64  bool isEditUsed() const;
65  const PropertyRefSelection& modelProperties() const;
66  const ObjectSet<const TimeDepthModel>& d2TModels() const;
67  const Wavelet* wavelet() const;
68  DBKey genDescID() const;
69 
72  Notifier<uiStratLayerModel> saveRequired; // CallBacker: CBCapsule<IOPar>
73  Notifier<uiStratLayerModel> retrieveRequired;// CallBacker: CBCapsule<IOPar>
74 
75  bool checkUnscaledWavelet();
76 
77  static void doBasicLayerModel();
78 
79  uiStratLayerModelDisp* getLayModelDisp() const { return moddisp_; }
80  void displayFRResult(bool usefr,bool parschanged,
81  bool fwd);
82  void prepareFluidRepl();
83  void resetFluidRepl();
84 
85  //Utility
86  //SyntheticData* getCurrentSyntheticData() const;
87 
88  void setSynthView(const uiWorldRect& wr);
89  const uiWorldRect& curSynthView() const;
90 
91 protected:
92 
101  uiStratLayerModelLMProvider& lmp_;
108 
109 
110  bool canShowFlattened() const;
111  void setWinTitle();
112  void handleNewModel();
113  void setModelProps();
114  void setElasticProps();
115  bool selElasticProps(ElasticPropSelection&);
116  bool openGenDesc();
117  bool saveGenDesc() const;
118  bool saveGenDescIfNecessary(
119  bool allowcancel=true) const;
120  void doGenModels(bool forceupdsynth,
121  bool overridedispeach=false);
122  void calcAndSetDisplayEach(bool overridepar);
123  bool closeOK();
124 
125  void fillDisplayPars(IOPar&) const;
126  void fillWorkBenchPars(IOPar&) const;
127  void fillSyntheticsPars(IOPar&) const;
128  bool useDisplayPars(const IOPar&);
129  bool useSyntheticsPars(const IOPar&);
130 
131 
132  void openGenDescCB(CallBacker*) { openGenDesc(); }
133  void saveGenDescCB(CallBacker*) { saveGenDesc(); }
134  void manPropsCB(CallBacker*);
135  void snapshotCB(CallBacker*);
136  void synthDispParsChangedCB(CallBacker*);
137  void lmDispParsChangedCB(CallBacker*);
138  void selPropChgCB(CallBacker*);
139  void infoChanged(CallBacker*);
140  void selElasticPropsCB(CallBacker*);
141 
142  void initWin(CallBacker*);
143  void dispEachChg(CallBacker*);
144  void mkSynthChg(CallBacker*);
145  void levelChg(CallBacker*);
146  void flattenChg(CallBacker*);
147  void lmViewChangedCB(CallBacker*);
148  void seqSel(CallBacker*);
149  void modEd(CallBacker*);
150  void modDispRangeChanged(CallBacker*);
151  void syntheticsChangedCB(CallBacker*);
152  void viewChgedCB(CallBacker*);
153  void wvltChg(CallBacker*);
154  void modSelChg(CallBacker*);
155  void genModels(CallBacker*);
156  void xPlotReq(CallBacker*);
157  void helpCB(CallBacker*);
158 
159 };
Definition: uitoolbar.h:30
#define mExpClass(module)
Definition: commondefs.h:157
User interface main window.
Definition: uimainwin.h:34
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
Definition: propertyref.h:174
User parameters to compute values for an elastic layer (den,p/s-waves).
Definition: elasticpropsel.h:23
uiToolBar * analysisToolBar()
Definition: uistratlayermodel.h:50
bool needtoretrievefrpars_
Definition: uistratlayermodel.h:105
uiIOObjSelDlg * modeldlg_
Definition: uistratlayermodel.h:99
Collection of LayerGenerator&#39;s that can generate a full LayerSequence.
Definition: stratlayseqgendesc.h:37
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
uiStratLayerModelDisp * getLayModelDisp() const
Definition: uistratlayermodel.h:79
uiStratLayModEditTools * modtools_
Definition: uistratlayermodel.h:97
uiStratGenDescTools * gentools_
Definition: uistratlayermodel.h:96
Ref Data for a (usually petrophysical) property.
Definition: propertyref.h:40
Definition: wavelet.h:22
Notifier< uiStratLayerModel > saveRequired
Definition: uistratlayermodel.h:72
Definition: uiparent.h:24
Definition: syntheticdata.h:39
Notifier< uiStratLayerModel > retrieveRequired
Definition: uistratlayermodel.h:73
CtxtIOObj & descctio_
Definition: uistratlayermodel.h:102
Holds an IOObjCtxt plus a pointer to an IOObj and/or an IOPar.
Definition: ctxtioobj.h:24
static void doBasicLayerModel()
Definition: uiodstratlayermodelmgr.h:199
Definition: uiioobjseldlg.h:33
#define mDeclInstanceCreatedNotifierAccess(clss)
Definition: notify.h:235
uiStratSynthDisp * synthdisp_
Definition: uistratlayermodel.h:95
bool mostlyfilledwithbrine_
Definition: uistratlayermodel.h:104
int nrmodels_
Definition: uistratlayermodel.h:107
Notifier< uiStratLayerModel > newModels
Definition: uistratlayermodel.h:70
void go()
Definition: uistratlayermodel.h:45
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
const Strat::LayerSequenceGenDesc & genDesc() const
Definition: uistratlayermodel.h:52
Definition: uiodstratlayermodelmgr.h:38
uiToolBar * analtb_
Definition: uistratlayermodel.h:98
Strat::LayerSequenceGenDesc & desc_
Definition: uistratlayermodel.h:100
uiLayerSequenceGenDesc * seqdisp_
Definition: uistratlayermodel.h:93
Definition: uistratlaymodtools.h:27
Stratigraphy.
Definition: stratlevel.h:25
uiStratLayerModelLMProvider & lmp_
Definition: uistratlayermodel.h:101
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
uiStratLayerModelDisp * moddisp_
Definition: uistratlayermodel.h:94
set of seismic traces.
Definition: seisbuf.h:28
bool automksynth_
Definition: uistratlayermodel.h:106
void saveGenDescCB(CallBacker *)
Definition: uistratlayermodel.h:133
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
Base class for LayerSequenceGenDesc editors - with factory.
Definition: uistratlayseqgendesc.h:35
ElasticPropSelection * elpropsel_
Definition: uistratlayermodel.h:103
void openGenDescCB(CallBacker *)
Definition: uistratlayermodel.h:132
A model consisting of layer sequences.
Definition: stratlayermodel.h:34
Definition: uistratlayermodel.h:36
Definition: uistratlaymoddisp.h:48
Converts between time, depth and velocity given a model. The velocity model can be either RMO-velocit...
Definition: velocitycalc.h:29
Definition: uistratlaymodtools.h:59
Definition: uistratsynthdisp.h:43
Notifier< uiStratLayerModel > waveletChanged
Definition: uistratlayermodel.h:71
Definition: stratsynth.h:44

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