OpendTect  6.3
uipsviewer2dmainwin.h
Go to the documentation of this file.
1 #pragma once
2 /*+
3 ________________________________________________________________________
4 
5  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
6  Author: Bruno
7  Date: Feb 2011
8 ________________________________________________________________________
9 
10 -*/
11 
12 #include "uiprestackprocessingmod.h"
13 #include "uipsviewer2dposdlg.h"
14 #include "uiobjectitemviewwin.h"
15 #include "uiflatviewwin.h"
16 #include "uiflatviewstdcontrol.h"
17 #include "uistring.h"
18 
19 #include "dbkey.h"
20 #include "trckeyzsampling.h"
21 #include "flatview.h"
22 
23 class Gather;
24 class uiSlicePos2DView;
25 class uiColSeqSel;
26 
27 namespace PreStack { class MuteDef; class ProcessManager;
28  class VelocityBasedAngleComputer; class AngleCompParams; }
29 namespace PreStackView
30 {
31  class uiViewer2D;
32  class uiViewer2DControl;
33  class uiViewer2DPosDlg;
34  class uiGatherDisplay;
35  class uiGatherDisplayInfoHeader;
36  class uiPSMultiPropDlg;
37 
38 mExpClass(uiPreStackProcessing) PSViewAppearance : public FlatView::Appearance
39 {
40 public:
42  bool operator==( const PSViewAppearance& psapp ) const
43  { return datanm_ == psapp.datanm_; }
44 };
45 
46 
47 mExpClass(uiPreStackProcessing) uiViewer2DMainWin : public uiObjectItemViewWin
48  , public uiFlatViewWin
50 public:
51  uiViewer2DMainWin(uiParent*,const char* title);
53 
54  virtual void start() { show(); }
55  virtual void setWinTitle(const uiString& t)
56  { setCaption(t); }
57 
58  virtual uiMainWin* dockParent() { return this; }
59  virtual uiParent* viewerParent() { return this; }
60  uiViewer2DControl* control() { return control_; }
61  virtual void getGatherNames(BufferStringSet& nms) const = 0;
62  virtual bool is2D() const { return false; }
63  bool isStored() const;
64  void getStartupPositions(const BinID& bid,
65  const StepInterval<int>& trcrg,
66  bool isinl, TypeSet<BinID>&) const;
67  void setAppearance(const FlatView::Appearance&,
68  int appidx=0);
69 
71  const TypeSet<GatherInfo>& gatherInfos() const { return gatherinfos_; }
72  TypeSet<GatherInfo>& gatherInfos() { return gatherinfos_; }
73 
74 protected:
75 
90 
91  void removeAllGathers();
92  void reSizeItems();
94  const GatherInfo&) {}
95  virtual void setGather(const GatherInfo& pos) {}
96  void setGatherView(uiGatherDisplay*,
98  RefMan<Gather> getAngleGather(const Gather& gather,
99  const Gather& angledata,
100  const Interval<int>& anglerange);
101  DataPack::ID getPreProcessedID(const GatherInfo&);
102  void setGatherforPreProc(const BinID& relbid,
103  const GatherInfo&);
104 
105  void setUpView();
106  void clearAuxData();
107  void displayMutes();
108 
109  void displayInfo(CallBacker*);
110  void doHelp(CallBacker*);
111  virtual void posDlgChgCB(CallBacker*) =0;
112  void posDlgPushed(CallBacker*);
113  void posDlgClosed(CallBacker*);
114  void dataDlgPushed(CallBacker*);
115  void showZAxis(CallBacker*);
116  void loadMuteCB(CallBacker*);
117  void snapshotCB(CallBacker*);
118  void preprocessingCB(CallBacker*);
119  void applyPreProcCB(CallBacker*);
120  void propChangedCB(CallBacker*);
121  void prepareNewAppearances(BufferStringSet oldgathernms,
122  BufferStringSet newgathernms);
123  bool getStoredAppearance(PSViewAppearance&) const;
124 };
125 
126 
127 mExpClass(uiPreStackProcessing) uiStoredViewer2DMainWin
128  : public uiViewer2DMainWin
129 {
130 public:
132  bool is2d=false);
133 
134  void init(const DBKey&,const BinID& bid,bool isinl,
135  const StepInterval<int>&,const char* linename=0);
136  void setIDs(const DBKeySet&);
137  void getIDs(DBKeySet& mids) const
138  { mids.copy( mids_ ); }
139  void getGatherNames(BufferStringSet& nms) const;
140  virtual bool is2D() const { return is2d_; }
141  const char* lineName() const { return linename_; }
142  void angleGatherCB(CallBacker*);
143  void angleDataCB(CallBacker*);
144 
145 protected:
147 
148  bool is2d_;
153 
154  void displayAngle();
155  bool getAngleParams();
156  void setGatherInfo(uiGatherDisplayInfoHeader* info,
157  const GatherInfo&);
158  void setGather(const GatherInfo&);
159  void setUpNewPositions(bool isinl,const BinID& posbid,
160  const StepInterval<int>& trcrg);
161  void setUpNewSlicePositions();
162  void setUpNewIDs();
163  void convAngleDataToDegrees(
164  Gather* angledata) const;
165  RefMan<Gather> getAngleData(DataPack::ID gatherid);
166  void posDlgChgCB(CallBacker*);
167  void posSlcChgCB(CallBacker*);
168 };
169 
170 
172  : public uiViewer2DMainWin
173 {
174 public:
177  void setGathers(const TypeSet<PreStackView::GatherInfo>&);
178  void setGathers(const TypeSet<PreStackView::GatherInfo>&,
179  bool getstaruppositions);
180  void removeGathers();
181  void getGatherNames(BufferStringSet& nms) const;
182  void setGatherNames(const BufferStringSet& nms);
183 protected:
184  void posDlgChgCB(CallBacker*);
185 
186  void setGatherInfo(uiGatherDisplayInfoHeader* info,
187  const GatherInfo&);
188  void setGather(const GatherInfo&);
189 };
190 
191 
192 mClass(uiPreStackProcessing) uiViewer2DControl : public uiFlatViewStdControl
194 public:
196  bool isstored);
198 
202 
203  void removeAllViewers();
204  const FlatView::DataDispPars& dispPars() const { return app_.ddpars_; }
205  FlatView::DataDispPars& dispPars() { return app_.ddpars_; }
206  const FlatView::Annotation& annot() const { return app_.annot_; }
207  FlatView::Annotation& annot() { return app_.annot_; }
208  void setGatherInfos(const TypeSet<GatherInfo>&);
209  PSViewAppearance curViewerApp();
210 
211 protected:
212 
217  PreStackView::uiPSMultiPropDlg* pspropdlg_;
218  bool isstored_;
219 
220  void doPropertiesDialog(int vieweridx);
221 
222  void applyProperties(CallBacker*);
223  void gatherPosCB(CallBacker*);
224  void gatherDataCB(CallBacker*);
225  void coltabChg(CallBacker*);
226  void updateColTabCB(CallBacker*);
227  void propertiesDlgCB(CallBacker*);
228 };
229 
230 
231 }; //namespace
#define mExpClass(module)
Definition: commondefs.h:157
User interface main window.
Definition: uimainwin.h:34
virtual uiParent * viewerParent()
Definition: uipsviewer2dmainwin.h:59
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
Notifier< uiViewer2DMainWin > seldatacalled_
Definition: uipsviewer2dmainwin.h:70
TypeSet< GatherInfo > gatherinfos_
Definition: uipsviewer2dmainwin.h:76
TypeSet< GatherInfo > gatherinfos_
Definition: uipsviewer2dmainwin.h:216
Annotation data for flatviewers.
Definition: flatview.h:107
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
Embeds some uiObjects in a uiGraphicsView following a horizontal layout. Objects can be dynamically r...
Definition: uiobjectitemview.h:26
const TypeSet< GatherInfo > & gatherInfos() const
Definition: uipsviewer2dmainwin.h:71
uiViewer2DPosDlg * posdlg_
Definition: uipsviewer2dmainwin.h:81
PreStack gather.
Definition: prestackgather.h:28
Gather display.
Definition: psviewer2dgatherpainter.h:25
Definition: uipsviewer2dposdlg.h:90
bool init()
Displays multiple PreStack Gathers side by side with dynamic redraw possibility.
Definition: uipsviewer2d.h:30
Definition: uiobjectitemviewwin.h:145
TypeSet< PSViewAppearance > appearances_
Definition: uipsviewer2dmainwin.h:88
Definition: prestackagc.h:18
bool hasangledata_
Definition: uipsviewer2dmainwin.h:89
Definition: dbkey.h:98
TrcKeyZSampling tkzs_
Definition: uipsviewer2dmainwin.h:80
A uiMainWin that holds embedded uiObjects and controls.
Definition: uiobjectitemviewwin.h:36
Definition: uicolseqsel.h:106
Definition: uipsviewer2dmainwin.h:127
Definition: uistring.h:88
Definition: uiparent.h:24
Set of BufferString objects.
Definition: bufstringset.h:25
virtual void start()
Definition: uipsviewer2dmainwin.h:54
uiColSeqSel * colseqsel_
Definition: uipsviewer2dmainwin.h:215
uiViewer2DControl * control()
Definition: uipsviewer2dmainwin.h:60
Data display parameters.
Definition: flatview.h:184
bool doanglegather_
Definition: uipsviewer2dmainwin.h:151
Class to help setup a callback handling.
Definition: notify.h:121
BufferString linename_
Definition: uipsviewer2dmainwin.h:149
TypeSet< GatherInfo > & gatherInfos()
Definition: uipsviewer2dmainwin.h:72
ObjectSet< uiGatherDisplay > gd_
Definition: uipsviewer2dmainwin.h:85
Notifier< uiViewer2DControl > propChanged
Definition: uipsviewer2dmainwin.h:201
Definition: uipsviewer2dmainwin.h:171
FlatView::DataDispPars & dispPars()
Definition: uipsviewer2dmainwin.h:205
PreStackView::uiPSMultiPropDlg * pspropdlg_
Definition: uipsviewer2dmainwin.h:217
Toolbar for setting slice position _ 2D viewer.
Definition: uiflatviewslicepos.h:21
PreStack::AngleCompParams * angleparams_
Definition: uipsviewer2dmainwin.h:150
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:32
The standard tools to control uiFlatViewer(s).
Definition: uiflatviewstdcontrol.h:49
virtual void setGatherInfo(uiGatherDisplayInfoHeader *info, const GatherInfo &)
Definition: uipsviewer2dmainwin.h:93
void getIDs(DBKeySet &mids) const
Definition: uipsviewer2dmainwin.h:137
Definition: uipsviewer2dmainwin.h:47
virtual bool is2D() const
Definition: uipsviewer2dmainwin.h:62
PreStack::ProcessManager * preprocmgr_
Definition: uipsviewer2dmainwin.h:87
FlatView::Annotation & annot()
Definition: uipsviewer2dmainwin.h:207
ObjectSet< uiGatherDisplayInfoHeader > gdi_
Definition: uipsviewer2dmainwin.h:86
virtual bool is2D() const
Definition: uipsviewer2dmainwin.h:140
FlatView::Appearance app_
Definition: uipsviewer2dmainwin.h:214
const FlatView::DataDispPars & dispPars() const
Definition: uipsviewer2dmainwin.h:204
uiObjectItemViewAxisPainter * axispainter_
Definition: uipsviewer2dmainwin.h:83
virtual uiMainWin * dockParent()
Definition: uipsviewer2dmainwin.h:58
Interval< float > zrg_
Definition: uipsviewer2dmainwin.h:84
uiParent const uiString & title
pops a selector box to select a new font
Definition: uifont.h:26
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
TypeSet< Color > mutecolors_
Definition: uipsviewer2dmainwin.h:79
DBKeySet mids_
Definition: uipsviewer2dmainwin.h:146
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
uiObjectItemViewControl * objectitemctrl_
Definition: uipsviewer2dmainwin.h:213
bool isstored_
Definition: uipsviewer2dmainwin.h:218
virtual void setWinTitle(const uiString &t)
Definition: uipsviewer2dmainwin.h:55
const char * lineName() const
Definition: uipsviewer2dmainwin.h:141
Notifier< uiViewer2DControl > posdlgcalled_
Definition: uipsviewer2dmainwin.h:199
TypeSet< int > dpids_
Definition: uipsviewer2dmainwin.h:77
BufferString datanm_
Definition: uipsviewer2dmainwin.h:41
const FlatView::Annotation & annot() const
Definition: uipsviewer2dmainwin.h:206
Flatviewer appearance.
Definition: flatview.h:276
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
Definition: uipsviewer2dinfo.h:21
Definition: groupedid.h:41
Base class for AngleMute and AngleMuteComputer.
Definition: prestackanglemute.h:34
#define mClass(module)
Definition: commondefs.h:161
Base class for windows containing one or more uiFlatViewer(s).
Definition: uiflatviewwin.h:29
Definition: uipsviewer2dmainwin.h:38
virtual TypeSetBase< T, I > & copy(const T *, size_type)
Definition: typeset.h:419
Definition: bitmap2rgb.h:15
virtual void setGather(const GatherInfo &pos)
Definition: uipsviewer2dmainwin.h:95
bool operator==(const PSViewAppearance &psapp) const
Definition: uipsviewer2dmainwin.h:42
bool is2d_
Definition: uipsviewer2dmainwin.h:148
Fulfills the FlatView::Viewer specifications using &#39;ui&#39; classes.
Definition: uiflatviewer.h:31
Orgainizes a number of PreStack::Processors into a chain which can be processed.
Definition: prestackprocessor.h:136
Definition: uipsviewer2dmainwin.h:192
Definition: uiobjectitemviewwin.h:168
ObjectSet< PreStack::MuteDef > mutes_
Definition: uipsviewer2dmainwin.h:78
uiSlicePos2DView * slicepos_
Definition: uipsviewer2dmainwin.h:152
uiViewer2DControl * control_
Definition: uipsviewer2dmainwin.h:82
Notifier< uiViewer2DControl > datadlgcalled_
Definition: uipsviewer2dmainwin.h:200

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