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

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