OpendTect-6_4  6.4
uistratsynthdisp.h
Go to the documentation of this file.
1 #ifndef uistratsynthdisp_h
2 #define uistratsynthdisp_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Bert
9  Date: Nov 2010
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "uiwellattribmod.h"
16 #include "uigroup.h"
17 #include "uiflatviewslicepos.h"
18 #include "uistring.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 uiSeisWaveletSel;
35 class uiStratLayerModel;
36 class uiSynthSlicePos;
37 class uiToolButton;
38 class uiToolButtonSetup;
39 namespace Strat { class LayerModel; class LayerModelProvider; }
40 namespace FlatView { class AuxData; class Appearance; }
41 namespace PreStackView { class uiSyntheticViewer2DMainWin; }
42 
43 
44 mExpClass(uiWellAttrib) uiStratSynthDisp : public uiGroup
46 public:
47 
51 
52  const Strat::LayerModel& layerModel() const;
53  const char* levelName() const;
54  const MultiID& waveletID() const;
55  const Wavelet* getWavelet() const;
56  inline const StratSynth& curSS() const
57  { return *(!useed_ ? stratsynth_ : edstratsynth_); }
58  inline StratSynth& curSS()
59  { return *(!useed_ ? stratsynth_ : edstratsynth_); }
60  inline const StratSynth& altSS() const
61  { return *(useed_ ? stratsynth_ : edstratsynth_); }
62  const StratSynth& normalSS() const { return *stratsynth_; }
63  const StratSynth& editSS() const { return *edstratsynth_; }
64 
65  const ObjectSet<SyntheticData>& getSynthetics() const;
66  SyntheticData* getCurrentSyntheticData(bool wva=true) const;
67  SyntheticData* getSyntheticData(const char* nm);
68  const PropertyRefSelection& modelPropertyRefs() const;
69 
70  const ObjectSet<const TimeDepthModel>* d2TModels() const;
71 
72  void setFlattened(bool flattened,bool trigger=true);
73  void setDispMrkrs(const char* lvlnm,const TypeSet<float>&,
74  Color);
75  void setSelectedTrace(int);
76  void setDispEach(int);
77  void setZDataRange(const Interval<double>&,bool indpt);
78  void setDisplayZSkip(float zskip,bool withmodchg);
79  void displayFRText(bool yn,bool isbrine);
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  mDeprecated void modelChanged();
97  bool haveUserScaleWavelet();
98  void displaySynthetic(const 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(BufferString& msg,IOPar&);
112 
113  void showFRResults();
114  mDeprecated 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 
127  uiGroup* getDisplayClone(uiParent*) const;
128 
129 protected:
130 
139  float dispskipz_;
141  /*mDeprecated*/ bool isbrinefilled_;
144  bool useed_;
145 
149 
153 
154  uiGroup* topgrp_;
155  uiGroup* datagrp_;
156  uiGroup* prestackgrp_;
160  uiButton* lasttool_;
169 
170  void showInfoMsg(bool foralt);
171  void handleFlattenChange();
172  void setCurrentWavelet();
173  void fillPar(IOPar&,const StratSynth*) const;
174  void doModelChange();
175  const SeisTrcBuf& curTrcBuf() const;
176  void getCurD2TModel(const SyntheticData*,
178  float offset = 0.0f) const;
179  void reSampleTraces(const SyntheticData*,SeisTrcBuf&) const;
180  void updateFields();
181  void updateSynthetic(const char* nm,bool wva);
182  void updateSyntheticList(bool wva);
183  void copySyntheticDispPars();
184  void setDefaultAppearance(FlatView::Appearance&);
185  inline StratSynth& altSS()
186  { return *(useed_ ? stratsynth_ : edstratsynth_); }
187 
188  void drawLevel();
189  mDeprecated void displayFRText();
190  void displayPreStackSynthetic(const SyntheticData*);
191  void displayPostStackSynthetic(const SyntheticData*,
192  bool wva=true);
193  void updateTextPosCB(CallBacker*);
194 
195  void setPreStackMapper();
196  void setAbsoluteViewRect(const uiWorldRect& abswr);
197  void getAbsoluteViewRect(uiWorldRect& abswr) const;
198 
199  void addEditSynth(CallBacker*);
200  void exportSynth(CallBacker*);
201  void wvDataSetSel(CallBacker*);
202  void vdDataSetSel(CallBacker*);
203  void levelSnapChanged(CallBacker*);
204  void layerPropsPush(CallBacker*);
205  void offsetChged(CallBacker*);
206  void scalePush(CallBacker*);
207  void genNewSynthetic(CallBacker*);
208  void viewPreStackPush(CallBacker*);
209  void wvltChg(CallBacker*);
210  void viewChg(CallBacker*);
211  void parsChangedCB(CallBacker*);
212  void syntheticRemoved(CallBacker*);
213  void syntheticDisabled(CallBacker*);
214  void syntheticChanged(CallBacker*);
215  void selPreStackDataCB(CallBacker*);
216  void preStackWinClosedCB(CallBacker*);
217  void newModelsCB(CallBacker*);
218 
219 public:
220 
221  //6.2 only: for attaching a notifier
222  void set(uiStratLayerModel&);
223 
224 };
225 
226 
227 mExpClass(uiWellAttrib) uiSynthSlicePos : public uiGroup
229 public:
230  uiSynthSlicePos(uiParent*,const uiString& lbltxt);
231 
233  void setLimitSampling(StepInterval<float>);
234  int getValue() const;
235  void setValue(int) const;
236 
237 protected:
243 
244  void slicePosChg( CallBacker* );
245  void prevCB(CallBacker*);
246  void nextCB(CallBacker*);
247 
249 };
250 
251 #endif
Definition: uigroup.h:54
uiToolButton * nextbut_
Definition: uistratsynthdisp.h:242
uiToolButton * prevbut_
Definition: uistratsynthdisp.h:241
#define mExpClass(module)
Definition: commondefs.h:160
Class that represents non-bitmap data to be displayed in a flatviewer, such as markers, lines and more.
Definition: flatview.h:34
const Strat::LayerModelProvider & lmp_
Definition: uistratsynthdisp.h:134
To be able to send and/or receive CallBacks, inherit from this class.
Definition: callback.h:272
bool forceupdate_
Definition: uistratsynthdisp.h:143
Definition: propertyref.h:176
uiWorldRect savedzoomwr_
Definition: uistratsynthdisp.h:136
const StratSynth & curSS() const
Definition: uistratsynthdisp.h:56
bool isEditUsed() const
Definition: uistratsynthdisp.h:119
is the base class for all buttons.
Definition: uibutton.h:83
void setUseEdited(bool yn)
Definition: uistratsynthdisp.h:118
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
const StratSynth & editSS() const
Definition: uistratsynthdisp.h:63
FlatView::AuxData * selectedtraceaux_
Definition: uistratsynthdisp.h:151
Gather display.
Definition: psviewer2dgatherpainter.h:27
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:188
int dispeach_
Definition: uistratsynthdisp.h:138
const ObjectSet< const TimeDepthModel > * d2tmodels_
Definition: uistratsynthdisp.h:146
uiComboBox * levelsnapselfld_
Definition: uistratsynthdisp.h:164
Ref Data for a (usually petrophysical) property.
Definition: propertyref.h:42
const uiWorldRect & getRelativeViewRect() const
Definition: uistratsynthdisp.h:124
Definition: wavelet.h:25
Definition: uisynthgendlg.h:29
const StratSynth & normalSS() const
Definition: uistratsynthdisp.h:62
bool useed_
Definition: uistratsynthdisp.h:144
Combo box.
Definition: uicombobox.h:32
Definition: uistring.h:89
Definition: uiparent.h:26
Definition: syntheticdata.h:38
PreStackView::uiSyntheticViewer2DMainWin * prestackwin_
Definition: uistratsynthdisp.h:168
bool doForceUpdate() const
Definition: uistratsynthdisp.h:117
Notifier< uiStratSynthDisp > synthsChanged
Definition: uistratsynthdisp.h:90
uiSpinBox * sliceposbox_
Definition: uistratsynthdisp.h:239
bool isbrinefilled_
Definition: uistratsynthdisp.h:141
SyntheticData * currentvdsynthetic_
Definition: uistratsynthdisp.h:148
uiPushButton * scalebut_
Definition: uistratsynthdisp.h:159
uiMultiFlatViewControl * control_
Definition: uistratsynthdisp.h:150
bool dispflattened_
Definition: uistratsynthdisp.h:140
StepInterval< float > limitsampling_
Definition: uistratsynthdisp.h:248
Notifier< uiStratSynthDisp > modSelChanged
Definition: uistratsynthdisp.h:89
uiGroup * topgrp_
Definition: uistratsynthdisp.h:154
&#39;Immediate&#39; Wavelet selector, with optionally &#39;Manage&#39; and/or &#39;Extract&#39; buttons
Definition: uiseiswvltsel.h:26
Definition: uitoolbutton.h:76
Notifier< uiStratSynthDisp > viewChanged
Definition: uistratsynthdisp.h:87
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:47
uiComboBox * vddatalist_
Definition: uistratsynthdisp.h:163
Class that can execute a task.
Definition: task.h:169
Definition: uipsviewer2dmainwin.h:173
StratSynth & altSS()
Definition: uistratsynthdisp.h:185
const StratSynth & altSS() const
Definition: uistratsynthdisp.h:60
uiToolButton * prestackbut_
Definition: uistratsynthdisp.h:161
uiSynthSlicePos * offsetposfld_
Definition: uistratsynthdisp.h:166
StratSynth * stratsynth_
Definition: uistratsynthdisp.h:132
SyntheticData * currentwvasynthetic_
Definition: uistratsynthdisp.h:147
float dispskipz_
Definition: uistratsynthdisp.h:139
uiComboBox * wvadatalist_
Definition: uistratsynthdisp.h:162
FlatView::AuxData * levelaux_
Definition: uistratsynthdisp.h:152
uiFlatViewer * viewer()
Definition: uistratsynthdisp.h:84
Definition: uistratsynthdisp.h:227
Definition: stratlayermodel.h:84
uiMultiFlatViewControl * control()
Definition: uistratsynthdisp.h:106
Definition: uispinbox.h:24
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:175
void setForceUpdate(bool yn)
Definition: uistratsynthdisp.h:116
int longestaimdl_
Definition: uistratsynthdisp.h:131
void setAutoUpdate(bool yn)
Definition: uistratsynthdisp.h:115
uiGroup * datagrp_
Definition: uistratsynthdisp.h:155
mDeprecated void setBrineFilled(bool yn)
Definition: uistratsynthdisp.h:114
Stratigraphy.
Definition: stratlevel.h:26
Notifier< uiStratSynthDisp > dispParsChanged
Definition: uistratsynthdisp.h:91
#define mDeprecated
Definition: plfdefs.h:233
bool autoupdate_
Definition: uistratsynthdisp.h:142
uiFlatViewer * vwr_
Definition: uistratsynthdisp.h:158
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:40
uiSynthGenDlg * synthgendlg_
Definition: uistratsynthdisp.h:165
Definition: uilabel.h:24
uiGroup * prestackgrp_
Definition: uistratsynthdisp.h:156
set of seismic traces.
Definition: seisbuf.h:31
int selectedtrace_
Definition: uistratsynthdisp.h:137
Definition: uitoolbutton.h:22
Notifier< uiSynthSlicePos > positionChg
Definition: uistratsynthdisp.h:232
Definition: uimultiflatviewcontrol.h:45
uiLabel * label_
Definition: uistratsynthdisp.h:238
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer, similar to Qt.
Definition: color.h:26
Flatviewer appearance.
Definition: flatview.h:270
uiSeisWaveletSel * wvltfld_
Definition: uistratsynthdisp.h:157
Notifier< uiStratSynthDisp > wvltChanged
Definition: uistratsynthdisp.h:86
StratSynth * edstratsynth_
Definition: uistratsynthdisp.h:133
A model consisting of layer sequences.
Definition: stratlayermodel.h:36
Definition: uistratlayermodel.h:37
Definition: bitmap2rgb.h:18
uiWorldRect relzoomwr_
Definition: uistratsynthdisp.h:135
Converts between time, depth and velocity given a model. The velocity model can be either RMO-velocit...
Definition: velocitycalc.h:31
PtrMan< TaskRunner > taskrunner_
Definition: uistratsynthdisp.h:167
Fulfills the FlatView::Viewer specifications using &#39;ui&#39; classes.
Definition: uiflatviewer.h:33
Definition: uistratsynthdisp.h:44
Compound key consisting of ints.
Definition: multiid.h:25
uiButton * lasttool_
Definition: uistratsynthdisp.h:160
uiSpinBox * slicestepbox_
Definition: uistratsynthdisp.h:240
Notifier< uiStratSynthDisp > layerPropSelNeeded
Definition: uistratsynthdisp.h:88
Definition: stratsynth.h:60
StratSynth & curSS()
Definition: uistratsynthdisp.h:58

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