OpendTect-6_4  6.4
uistratlayermodel.h
Go to the documentation of this file.
1 #ifndef uistratlayermodel_h
2 #define uistratlayermodel_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Bert
9  Date: Oct 2010
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "uiwellattribmod.h"
16 #include "uimainwin.h"
17 #include "uistring.h"
18 class CtxtIOObj;
19 class Wavelet;
20 class SeisTrcBuf;
21 class StratSynth;
22 class PropertyRef;
23 class SyntheticData;
24 class TimeDepthModel;
27 class uiToolBar;
28 class uiStratSynthDisp;
33 class uiStratLayerModelLMProvider;
34 namespace Strat { class LayerModel; class LayerSequenceGenDesc; }
35 
36 
37 mExpClass(uiWellAttrib) uiStratLayerModel : public uiMainWin
39 public:
40  friend class uiStratLayerModelManager;
41 
43  const char* disptype=0,int opt=0);
45 
46  void go() { show(); }
47 
48  static const char* sKeyModeler2Use();
49  static void initClass();
50 
52  uiToolBar* analysisToolBar() { return analtb_; }
53 
54  void setNrModels(int);
55  int nrModels() const;
56  const Strat::LayerSequenceGenDesc& genDesc() const { return desc_; }
57  const Strat::LayerModel& layerModelOriginal() const;
58  Strat::LayerModel& layerModelOriginal();
59  const Strat::LayerModel& layerModelEdited() const;
60  Strat::LayerModel& layerModelEdited();
61  const Strat::LayerModel& layerModel() const;
62  Strat::LayerModel& layerModel();
63  const char* levelName() const;
64  const StratSynth& currentStratSynth() const;
65  StratSynth& currentStratSynth();
66  const StratSynth& normalStratSynth() const;
67  const StratSynth& editStratSynth() const;
68  bool isEditUsed() const;
69  const PropertyRefSelection& modelProperties() const;
70  const ObjectSet<const TimeDepthModel>& d2TModels() const;
71  const Wavelet* wavelet() const;
72  MultiID genDescID() const;
73 
76  Notifier<uiStratLayerModel> saveRequired; // CallBacker: CBCapsule<IOPar>
77  Notifier<uiStratLayerModel> retrieveRequired;// CallBacker: CBCapsule<IOPar>
78 
79  bool checkUnscaledWavelet();
80 
81  static void doBasicLayerModel(); //do not use this
82  static void doLayerModel(const char* modnm,int opt=0);
83  //do not use the above function
84  static void doBasicLayerModel(uiParent*);
85  static void doLayerModel(uiParent*,const char* modnm,
86  int opt=0);
87  static uiStratLayerModel* getUILayerModel();
88 
89  void displayFRText(bool yn,bool isbrine=true);
90  uiStratLayerModelDisp* getLayModelDisp() const { return moddisp_; }
91  void displayFRResult(bool usefr,bool parschanged,
92  bool isbrine);
93  void prepareFluidRepl();
94  void resetFluidRepl();
95 
96  //Utility
97  //SyntheticData* getCurrentSyntheticData() const;
98 
99  void setSynthView(const uiWorldRect& wr);
100  const uiWorldRect& curSynthView() const;
101 
102 protected:
103 
110 
112  uiStratLayerModelLMProvider& lmp_;
115  /*mDeprecated*/ bool mostlyfilledwithbrine_;
118 
119 
120  bool canShowFlattened() const;
121  void setWinTitle();
122  void handleNewModel();
123  void setModelProps();
124  void setElasticProps();
125  bool selElasticProps(ElasticPropSelection&);
126  bool openGenDesc();
127  bool saveGenDesc() const;
128  bool saveGenDescIfNecessary(
129  bool allowcancel=true) const;
130  void doGenModels(bool forceupdsynth,
131  bool overridedispeach=false);
132  void calcAndSetDisplayEach(bool overridepar);
133  bool closeOK();
134 
135  void fillDisplayPars(IOPar&) const;
136  void fillWorkBenchPars(IOPar&) const;
137  void fillSyntheticsPars(IOPar&) const;
138  bool useDisplayPars(const IOPar&);
139  bool useSyntheticsPars(const IOPar&);
140 
141 
142  void openGenDescCB(CallBacker*) { openGenDesc(); }
143  void saveGenDescCB(CallBacker*) { saveGenDesc(); }
144  void manPropsCB(CallBacker*);
145  void snapshotCB(CallBacker*);
146  void synthDispParsChangedCB(CallBacker*);
147  void lmDispParsChangedCB(CallBacker*);
148  void selPropChgCB(CallBacker*);
149  void infoChanged(CallBacker*);
150  void selElasticPropsCB(CallBacker*);
151 
152  void initWin(CallBacker*);
153  void dispEachChg(CallBacker*);
154  void mkSynthChg(CallBacker*);
155  void levelChg(CallBacker*);
156  void flattenChg(CallBacker*);
157  void lmViewChangedCB(CallBacker*);
158  void seqSel(CallBacker*);
159  void modEd(CallBacker*);
160  void modDispRangeChanged(CallBacker*);
161  void syntheticsChangedCB(CallBacker*);
162  void viewChgedCB(CallBacker*);
163  void wvltChg(CallBacker*);
164  void modSelChg(CallBacker*);
165  void genModels(CallBacker*);
166  void xPlotReq(CallBacker*);
167  void nrModelsChangedCB(CallBacker*);
168  void helpCB(CallBacker*);
169 
170 public:
171  uiStratSynthDisp* getSynthDisp() const { return synthdisp_; }
172 };
173 
174 
175 #endif
Definition: uitoolbar.h:31
#define mExpClass(module)
Definition: commondefs.h:160
User interface main window.
Definition: uimainwin.h:36
To be able to send and/or receive CallBacks, inherit from this class.
Definition: callback.h:272
Definition: propertyref.h:176
User parameters to compute values for an elastic layer (den,p/s-waves).
Definition: elasticpropsel.h:25
uiToolBar * analysisToolBar()
Definition: uistratlayermodel.h:52
bool needtoretrievefrpars_
Definition: uistratlayermodel.h:116
Collection of LayerGenerator&#39;s that can generate a full LayerSequence.
Definition: stratlayseqgendesc.h:39
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
uiStratLayerModelDisp * getLayModelDisp() const
Definition: uistratlayermodel.h:90
uiStratLayModEditTools * modtools_
Definition: uistratlayermodel.h:108
uiStratGenDescTools * gentools_
Definition: uistratlayermodel.h:107
Ref Data for a (usually petrophysical) property.
Definition: propertyref.h:42
Definition: wavelet.h:25
Notifier< uiStratLayerModel > saveRequired
Definition: uistratlayermodel.h:76
Definition: uiparent.h:26
Definition: syntheticdata.h:38
Notifier< uiStratLayerModel > retrieveRequired
Definition: uistratlayermodel.h:77
CtxtIOObj & descctio_
Definition: uistratlayermodel.h:113
uiStratSynthDisp * getSynthDisp() const
Definition: uistratlayermodel.h:171
Holds an IOObjCtxt plus a pointer to an IOObj and/or an IOPar.
Definition: ctxtioobj.h:142
#define mDeclInstanceCreatedNotifierAccess(clss)
Definition: callback.h:450
uiStratSynthDisp * synthdisp_
Definition: uistratlayermodel.h:106
bool mostlyfilledwithbrine_
Definition: uistratlayermodel.h:115
Notifier< uiStratLayerModel > newModels
Definition: uistratlayermodel.h:74
void go()
Definition: uistratlayermodel.h:46
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:47
const Strat::LayerSequenceGenDesc & genDesc() const
Definition: uistratlayermodel.h:56
uiToolBar * analtb_
Definition: uistratlayermodel.h:109
Strat::LayerSequenceGenDesc & desc_
Definition: uistratlayermodel.h:111
uiLayerSequenceGenDesc * seqdisp_
Definition: uistratlayermodel.h:104
Definition: uistratlaymodtools.h:27
Stratigraphy.
Definition: stratlevel.h:26
uiStratLayerModelLMProvider & lmp_
Definition: uistratlayermodel.h:112
uiStratLayerModelDisp * moddisp_
Definition: uistratlayermodel.h:105
set of seismic traces.
Definition: seisbuf.h:31
bool automksynth_
Definition: uistratlayermodel.h:117
void saveGenDescCB(CallBacker *)
Definition: uistratlayermodel.h:143
Base class for LayerSequenceGenDesc editors - with factory.
Definition: uistratlayseqgendesc.h:37
ElasticPropSelection * elpropsel_
Definition: uistratlayermodel.h:114
void openGenDescCB(CallBacker *)
Definition: uistratlayermodel.h:142
A model consisting of layer sequences.
Definition: stratlayermodel.h:36
Definition: uistratlayermodel.h:37
Definition: uistratlaymoddisp.h:47
Converts between time, depth and velocity given a model. The velocity model can be either RMO-velocit...
Definition: velocitycalc.h:31
Definition: uistratlaymodtools.h:63
Definition: uistratsynthdisp.h:44
Compound key consisting of ints.
Definition: multiid.h:25
static void initClass()
Notifier< uiStratLayerModel > waveletChanged
Definition: uistratlayermodel.h:75
Definition: stratsynth.h:60

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