OpendTect  6.3
uistratsynthdisp.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: Nov 2010
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uiwellattribmod.h"
14 #include "uigroup.h"
15 #include "uiflatviewslicepos.h"
16 #include "uistring.h"
17 #include "stratsynthlevelset.h"
19 
20 class TimeDepthModel;
21 class SeisTrcBuf;
22 class StratSynth;
23 class SyntheticData;
24 class PropertyRef;
26 class TaskRunner;
27 class Wavelet;
28 class uiButton;
29 class uiComboBox;
30 class uiFlatViewer;
32 class uiPushButton;
33 class uiSynthGenDlg;
34 class uiWaveletIOObjSel;
35 class uiSynthSlicePos;
36 class uiToolButton;
37 class uiToolButtonSetup;
38 namespace Strat { class LayerModel; class LayerModelProvider; }
39 namespace FlatView { class AuxData; }
40 namespace PreStackView { class uiSyntheticViewer2DMainWin; }
41 
42 
43 mExpClass(uiWellAttrib) uiStratSynthDisp : public uiGroup
45 public:
48 
52 
53  const Strat::LayerModel& layerModel() const;
54  const char* levelName(const int idx=0) const;
55  DBKey waveletID() const;
56  const Wavelet* getWavelet() const;
57  inline const StratSynth& curSS() const
58  { return *(!useed_ ? stratsynth_ : edstratsynth_); }
59  inline StratSynth& curSS()
60  { return *(!useed_ ? stratsynth_ : edstratsynth_); }
61  inline const StratSynth& altSS() const
62  { return *(useed_ ? stratsynth_ : edstratsynth_); }
63  const StratSynth& normalSS() const { return *stratsynth_; }
64  const StratSynth& editSS() const { return *edstratsynth_; }
65 
66  const ObjectSet<SyntheticData>& getSynthetics() const;
67  RefMan<SyntheticData> getCurrentSyntheticData(bool wva=true) const;
68  RefMan<SyntheticData> getSyntheticData(const char* nm);
69  const PropertyRefSelection& modelPropertyRefs() const;
70 
71  const ObjectSet<const TimeDepthModel>* d2TModels() const;
72 
73  void setFlattened(bool flattened,bool trigger=true);
74  void setDispMrkrs(const BufferStringSet,
76  void setSelectedTrace(int);
77  void setDispEach(int);
78  void setZDataRange(const Interval<double>&,bool indpt);
79  void setDisplayZSkip(float zskip,bool withmodchg);
80 
81  const uiWorldRect& curView(bool indepth) const;
82  void setZoomView(const uiWorldRect&);
83 
84  uiFlatViewer* viewer() { return vwr_; }
85 
92 
93  void addTool(const uiToolButtonSetup&);
94  void addViewerToControl(uiFlatViewer&);
95 
96  void modelChanged();
97  bool haveUserScaleWavelet();
98  void displaySynthetic(ConstRefMan<SyntheticData>);
99  void reDisplayPostStackSynthetic(bool wva=true);
100  void cleanSynthetics();
101  float centralTrcShift() const;
102  void setCurrentSynthetic(bool wva);
103  void setSnapLevelSensitive(bool);
104  bool prepareElasticModel();
105 
106  uiMultiFlatViewControl* control() { return control_; }
107 
108  void fillPar(IOPar&) const;
109  void fillPar(IOPar&,bool) const;
110  bool usePar(const IOPar&);
111  void makeInfoMsg(uiString& msg,IOPar&);
112 
113  void showFRResults();
114  void setBrineFilled( bool yn ) { isbrinefilled_ = yn; }
115  void setAutoUpdate( bool yn ) { autoupdate_ = yn; }
116  void setForceUpdate( bool yn ) { forceupdate_ = yn; }
117  bool doForceUpdate() const { return forceupdate_; }
118  void setUseEdited( bool yn ) { useed_ = yn; }
119  bool isEditUsed() const { return useed_; }
120  void setDiffData();
121  void resetRelativeViewRect();
122  void updateRelativeViewRect();
123  void setRelativeViewRect(const uiWorldRect& relwr);
124  const uiWorldRect& getRelativeViewRect() const { return relzoomwr_; }
125  void setSavedViewRect();
126  void setFlattenLvlNm(const BufferString flatlvlnm)
127  { flattenlvlnm_ = flatlvlnm; }
128  const BufferString getFlattenLvlNm() { return flattenlvlnm_; }
129 
130 protected:
131 
140  float dispskipz_;
145  bool useed_;
146 
150 
154 
155  uiGroup* topgrp_;
156  uiGroup* datagrp_;
157  uiGroup* prestackgrp_;
161  uiButton* lasttool_;
170 
172 
173  void showInfoMsg(bool foralt);
174  void handleFlattenChange();
175  void setCurrentWavelet();
176  void fillPar(IOPar&,const StratSynth*) const;
177  void doModelChange();
178  const SeisTrcBuf& curTrcBuf() const;
179  void getCurD2TModel(ConstRefMan<SyntheticData>,
181  float offset = 0.0f) const;
182  void reSampleTraces(ConstRefMan<SyntheticData>,
183  SeisTrcBuf&) const;
184  void updateFields();
185  void updateSynthetic(const char* nm,bool wva);
186  void updateSyntheticList(bool wva);
187  void copySyntheticDispPars();
188  inline StratSynth& altSS()
189  { return *(useed_ ? stratsynth_ : edstratsynth_); }
190 
191  void drawLevel();
192  void displayFRText();
193  void displayPreStackSynthetic(ConstRefMan<SyntheticData>);
194  void displayPostStackSynthetic(ConstRefMan<SyntheticData>,
195  bool wva=true);
196  void setPreStackMapper();
197  void setAbsoluteViewRect(const uiWorldRect& abswr);
198  void getAbsoluteViewRect(uiWorldRect& abswr) const;
199 
200  void addEditSynth(CallBacker*);
201  void exportSynth(CallBacker*);
202  void wvDataSetSel(CallBacker*);
203  void vdDataSetSel(CallBacker*);
204  void levelSnapChanged(CallBacker*);
205  void layerPropsPush(CallBacker*);
206  void offsetChged(CallBacker*);
207  void scalePush(CallBacker*);
208  void genNewSynthetic(CallBacker*);
209  void viewPreStackPush(CallBacker*);
210  void wvltChg(CallBacker*);
211  void viewChg(CallBacker*);
212  void parsChangedCB(CallBacker*);
213  void syntheticRemoved(CallBacker*);
214  void syntheticDisabled(CallBacker*);
215  void syntheticChanged(CallBacker*);
216  void selPreStackDataCB(CallBacker*);
217  void preStackWinClosedCB(CallBacker*);
218  int lvlidx_;
220 };
221 
222 
223 mExpClass(uiWellAttrib) uiSynthSlicePos : public uiGroup
225 public:
226  uiSynthSlicePos(uiParent*,const uiString& lbltxt);
227 
229  void setLimitSampling(StepInterval<float>);
230  int getValue() const;
231  void setValue(int) const;
232 
233 protected:
239 
240  void slicePosChg( CallBacker* );
241  void prevCB(CallBacker*);
242  void nextCB(CallBacker*);
243 
245 };
Definition: uigroup.h:53
uiToolButton * nextbut_
Definition: uistratsynthdisp.h:238
uiToolButton * prevbut_
Definition: uistratsynthdisp.h:237
StratSynthLevelSet * lvlset_
Definition: uistratsynthdisp.h:169
#define mExpClass(module)
Definition: commondefs.h:157
ObjectSet< FlatView::AuxData > levelaux_
Definition: uistratsynthdisp.h:153
Class that represents non-bitmap data to be displayed in a flatviewer, such as markers, lines and more.
Definition: flatview.h:32
const Strat::LayerModelProvider & lmp_
Definition: uistratsynthdisp.h:135
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
bool forceupdate_
Definition: uistratsynthdisp.h:144
Definition: propertyref.h:174
uiWorldRect savedzoomwr_
Definition: uistratsynthdisp.h:137
const StratSynth & curSS() const
Definition: uistratsynthdisp.h:57
bool isEditUsed() const
Definition: uistratsynthdisp.h:119
is the base class for all buttons.
Definition: uibutton.h:80
void setUseEdited(bool yn)
Definition: uistratsynthdisp.h:118
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
const StratSynth & editSS() const
Definition: uistratsynthdisp.h:64
const BufferString getFlattenLvlNm()
Definition: uistratsynthdisp.h:128
FlatView::AuxData * selectedtraceaux_
Definition: uistratsynthdisp.h:152
Gather display.
Definition: psviewer2dgatherpainter.h:25
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
int dispeach_
Definition: uistratsynthdisp.h:139
const ObjectSet< const TimeDepthModel > * d2tmodels_
Definition: uistratsynthdisp.h:147
uiComboBox * levelsnapselfld_
Definition: uistratsynthdisp.h:165
Ref Data for a (usually petrophysical) property.
Definition: propertyref.h:40
const uiWorldRect & getRelativeViewRect() const
Definition: uistratsynthdisp.h:124
Definition: wavelet.h:22
Definition: uisynthgendlg.h:27
const StratSynth & normalSS() const
Definition: uistratsynthdisp.h:63
bool useed_
Definition: uistratsynthdisp.h:145
RefMan< SyntheticData > currentvdsynthetic_
Definition: uistratsynthdisp.h:149
BufferString flattenlvlnm_
Definition: uistratsynthdisp.h:219
Combo box.
Definition: uicombobox.h:30
Definition: uistring.h:88
Definition: uiparent.h:24
Definition: syntheticdata.h:39
PreStackView::uiSyntheticViewer2DMainWin * prestackwin_
Definition: uistratsynthdisp.h:171
Set of BufferString objects.
Definition: bufstringset.h:25
bool doForceUpdate() const
Definition: uistratsynthdisp.h:117
selects wavelets.
Definition: uiwaveletsel.h:22
Notifier< uiStratSynthDisp > synthsChanged
Definition: uistratsynthdisp.h:90
uiSpinBox * sliceposbox_
Definition: uistratsynthdisp.h:235
bool isbrinefilled_
Definition: uistratsynthdisp.h:142
uiPushButton * scalebut_
Definition: uistratsynthdisp.h:160
uiMultiFlatViewControl * control_
Definition: uistratsynthdisp.h:151
bool dispflattened_
Definition: uistratsynthdisp.h:141
StepInterval< float > limitsampling_
Definition: uistratsynthdisp.h:244
Notifier< uiStratSynthDisp > modSelChanged
Definition: uistratsynthdisp.h:89
uiGroup * topgrp_
Definition: uistratsynthdisp.h:155
Definition: uitoolbutton.h:74
Notifier< uiStratSynthDisp > viewChanged
Definition: uistratsynthdisp.h:87
Definition: stratsynthlevelset.h:20
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
uiComboBox * vddatalist_
Definition: uistratsynthdisp.h:164
Class that can execute a task.
Definition: task.h:193
Definition: uipsviewer2dmainwin.h:171
StratSynth & altSS()
Definition: uistratsynthdisp.h:188
const StratSynth & altSS() const
Definition: uistratsynthdisp.h:61
uiToolButton * prestackbut_
Definition: uistratsynthdisp.h:162
uiSynthSlicePos * offsetposfld_
Definition: uistratsynthdisp.h:167
StratSynth * stratsynth_
Definition: uistratsynthdisp.h:133
float dispskipz_
Definition: uistratsynthdisp.h:140
uiComboBox * wvadatalist_
Definition: uistratsynthdisp.h:163
uiFlatViewer * viewer()
Definition: uistratsynthdisp.h:84
Definition: uistratsynthdisp.h:223
Definition: stratlayermodel.h:82
uiMultiFlatViewControl * control()
Definition: uistratsynthdisp.h:106
TypeSet< float > LVLZVals
Definition: uistratsynthdisp.h:46
Definition: uispinbox.h:22
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
void setForceUpdate(bool yn)
Definition: uistratsynthdisp.h:116
int longestaimdl_
Definition: uistratsynthdisp.h:132
void setAutoUpdate(bool yn)
Definition: uistratsynthdisp.h:115
uiGroup * datagrp_
Definition: uistratsynthdisp.h:156
Stratigraphy.
Definition: stratlevel.h:25
Notifier< uiStratSynthDisp > dispParsChanged
Definition: uistratsynthdisp.h:91
bool autoupdate_
Definition: uistratsynthdisp.h:143
uiFlatViewer * vwr_
Definition: uistratsynthdisp.h:159
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
uiSynthGenDlg * synthgendlg_
Definition: uistratsynthdisp.h:166
Definition: uilabel.h:22
uiGroup * prestackgrp_
Definition: uistratsynthdisp.h:157
set of seismic traces.
Definition: seisbuf.h:28
int selectedtrace_
Definition: uistratsynthdisp.h:138
Definition: uitoolbutton.h:20
Notifier< uiSynthSlicePos > positionChg
Definition: uistratsynthdisp.h:228
Definition: uimultiflatviewcontrol.h:43
uiLabel * label_
Definition: uistratsynthdisp.h:234
RefMan< SyntheticData > currentwvasynthetic_
Definition: uistratsynthdisp.h:148
int lvlidx_
Definition: uistratsynthdisp.h:218
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
Notifier< uiStratSynthDisp > wvltChanged
Definition: uistratsynthdisp.h:86
StratSynth * edstratsynth_
Definition: uistratsynthdisp.h:134
A model consisting of layer sequences.
Definition: stratlayermodel.h:34
TypeSet< LVLZVals > LVLZValsSet
Definition: uistratsynthdisp.h:47
Definition: bitmap2rgb.h:15
uiWorldRect relzoomwr_
Definition: uistratsynthdisp.h:136
void setFlattenLvlNm(const BufferString flatlvlnm)
Definition: uistratsynthdisp.h:126
Converts between time, depth and velocity given a model. The velocity model can be either RMO-velocit...
Definition: velocitycalc.h:29
PtrMan< TaskRunner > taskrunner_
Definition: uistratsynthdisp.h:168
Fulfills the FlatView::Viewer specifications using &#39;ui&#39; classes.
Definition: uiflatviewer.h:31
Definition: ptrman.h:227
void setBrineFilled(bool yn)
Definition: uistratsynthdisp.h:114
Definition: uistratsynthdisp.h:43
uiWaveletIOObjSel * wvltfld_
Definition: uistratsynthdisp.h:158
uiButton * lasttool_
Definition: uistratsynthdisp.h:161
uiSpinBox * slicestepbox_
Definition: uistratsynthdisp.h:236
Notifier< uiStratSynthDisp > layerPropSelNeeded
Definition: uistratsynthdisp.h:88
Definition: stratsynth.h:44
StratSynth & curSS()
Definition: uistratsynthdisp.h:59

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