OpendTect-6_4  6.4
uiodviewer2d.h
Go to the documentation of this file.
1 #ifndef uiodviewer2d_h
2 #define uiodviewer2d_h
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: A.H. Bril
8  Date: Dec 2003
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uiodmainmod.h"
15 #include "trckeyzsampling.h"
16 #include "datapack.h"
17 #include "emposid.h"
18 #include "uigeom.h"
19 #include "uistring.h"
20 
23 class uiFlatViewWin;
24 class uiMainWin;
25 class uiODMain;
26 class uiODVw2DTreeTop;
27 class uiParent;
28 class uiSlicePos2DView;
29 class uiToolBar;
30 class uiTreeItem;
31 class uiTreeFactorySet;
33 class TaskRunner;
34 class Vw2DDataManager;
35 class ZAxisTransform;
36 
37 namespace Attrib { class SelSpec; }
38 namespace FlatView { class AuxData; }
39 namespace ZDomain { class Def; }
40 
47 public:
48  uiODViewer2D(uiODMain&,int visid);
49  ~uiODViewer2D();
50 
52 
53  virtual void setUpView(DataPack::ID,bool wva);
54  void setSelSpec(const Attrib::SelSpec*,bool wva);
55  void setMouseCursorExchange(MouseCursorExchange*);
56 
57  uiParent* viewerParent();
58  uiFlatViewWin* viewwin() { return viewwin_; }
59  const uiFlatViewWin* viewwin() const { return viewwin_; }
60  Vw2DDataManager* dataMgr() { return datamgr_; }
61  const Vw2DDataManager* dataMgr() const { return datamgr_; }
62 
63  uiODVw2DTreeTop* treeTop() { return treetp_; }
64 
65  const uiTreeFactorySet* uiTreeItemFactorySet() const { return tifs_; }
66  bool isItemPresent(const uiTreeItem*) const;
67 
69  { return auxdataeditors_; }
70 
71  Attrib::SelSpec& selSpec( bool wva )
72  { return wva ? wvaselspec_ : vdselspec_; }
73  const Attrib::SelSpec& selSpec( bool wva ) const
74  { return wva ? wvaselspec_ : vdselspec_; }
75  DataPack::ID getDataPackID(bool wva) const;
80  DataPack::ID createDataPack(bool wva) const
81  { return createDataPack(selSpec(wva)); }
82  DataPack::ID createDataPack(const Attrib::SelSpec&) const;
88  DataPack::ID createFlatDataPack(DataPack::ID,int comp) const;
94  bool useStoredDispPars(bool wva);
95  bool isVertical() const { return isvertical_; }
96 
98  { return datatransform_; }
99  bool setZAxisTransform(ZAxisTransform*);
100  bool hasZAxisTransform() const
101  { return datatransform_; }
102  virtual void setPos(const TrcKeyZSampling&);
103  void setRandomLineID( int id )
104  { rdmlineid_ = id; }
105  int getRandomLineID() const
106  { return rdmlineid_; }
107  void setTrcKeyZSampling(const TrcKeyZSampling&,
108  TaskRunner* =0);
110  { return tkzs_; }
111  Pos::GeomID geomID() const;
112 
113  void setInitialCentre( const uiWorldPoint& wp )
114  { initialcentre_ = wp; }
115  void setInitialX1PosPerCM( float val )
116  { initialx1pospercm_ = val; }
117  void setInitialX2PosPerCM( float val )
118  { initialx2pospercm_ = val; }
119  void setUpAux();
120 
122  { return viewstdcontrol_; }
124  { return viewstdcontrol_; }
126  { return slicepos_; }
127  const ZDomain::Def& zDomain() const;
128  int getSyncSceneID() const;
129 
130  int id_;
131  int visid_;
133  virtual void usePar(const IOPar&);
134  virtual void fillPar(IOPar&) const;
135  virtual void setWinTitle(bool fromvisobjinfo);
139  static const char* sKeyVDSelSpec() { return "VD SelSpec"; }
140  static const char* sKeyWVASelSpec() { return "WVA SelSpec"; }
141  static const char* sKeyPos() { return "Position"; }
142 
147 
148  void getVwr2DObjIDs(TypeSet<int>& vw2dobjids) const;
149 
150  //Horizon 3D
151  void getHor3DVwr2DIDs(EM::ObjectID emid,
152  TypeSet<int>& vw2dids) const;
153  void removeHorizon3D(EM::ObjectID emid);
154  void getLoadedHorizon3Ds(
155  TypeSet<EM::ObjectID>&) const;
156  void addHorizon3Ds(const TypeSet<EM::ObjectID>&);
157  void addNewTrackingHorizon3D(EM::ObjectID);
158  void setupTrackingHorizon3D(EM::ObjectID);
159 
160  //Horizon2D
161  void getHor2DVwr2DIDs(EM::ObjectID emid,
162  TypeSet<int>& vw2dids) const;
163  void removeHorizon2D(EM::ObjectID emid);
164  void getLoadedHorizon2Ds(
165  TypeSet<EM::ObjectID>&) const;
166  void addHorizon2Ds(const TypeSet<EM::ObjectID>&);
167  void addNewTrackingHorizon2D(EM::ObjectID emid);
168  void setupTrackingHorizon2D(EM::ObjectID);
169 
170  //Fault
171  void getFaultVwr2DIDs(EM::ObjectID emid,
172  TypeSet<int>& vw2dids) const;
173  void removeFault(EM::ObjectID emid);
174  void getLoadedFaults(
175  TypeSet<EM::ObjectID>&) const;
176  void addFaults(const TypeSet<EM::ObjectID>&);
177  void addNewTempFault(EM::ObjectID emid);
178  void setupNewTempFault(EM::ObjectID emid);
179 
180  //FaultStickSet
181  void getFaultSSVwr2DIDs(EM::ObjectID emid,
182  TypeSet<int>& vw2dids) const;
183  void removeFaultSS(EM::ObjectID emid);
184  void getLoadedFaultSSs(
185  TypeSet<EM::ObjectID>&) const;
186  void addFaultSSs(const TypeSet<EM::ObjectID>&);
187  void addNewTempFaultSS(EM::ObjectID emid);
188  void setupNewTempFaultSS(EM::ObjectID emid);
189 
190  //FaultStickSet2D
191  void removeFaultSS2D(EM::ObjectID emid);
192  void getLoadedFaultSS2Ds(
193  TypeSet<EM::ObjectID>&) const;
194  void addFaultSS2Ds(const TypeSet<EM::ObjectID>&);
195  void addNewTempFaultSS2D(EM::ObjectID emid);
196  void getFaultSS2DVwr2DIDs(EM::ObjectID emid,
197  TypeSet<int>& vw2ds) const;
198  void setupNewTempFaultSS2D(EM::ObjectID emid);
199 
200 
201  //PickSets
202  void getPickSetVwr2DIDs(const MultiID& mid,
203  TypeSet<int>& vw2ids ) const;
204  void removePickSet(const MultiID&);
205  void getLoadedPickSets(TypeSet<MultiID>&) const;
206  void addPickSets(const TypeSet<MultiID>&);
207  void setupNewPickSet(const MultiID&);
208 
209 protected:
210 
214 
217 
229  int voiidx_;
231 
235 
241 
242  DataPack::ID createDataPackForTransformedZSlice(
243  const Attrib::SelSpec&) const;
244 
245  virtual void createViewWin(bool isvert,bool needslicepos);
246  virtual void createTree(uiMainWin*);
247  virtual void createPolygonSelBut(uiToolBar*);
248  void createViewWinEditors();
249  void setDataPack(DataPack::ID,bool wva,bool isnew);
250  void adjustOthrDisp(bool wva,bool isnew);
251  void removeAvailablePacks();
252  void rebuildTree();
253 
254  void winCloseCB(CallBacker*);
255  void posChg(CallBacker*);
256  void itmSelectionChangedCB(CallBacker*);
257  void selectionMode(CallBacker*);
258  void trackSetupCB(CallBacker*);
259  void handleToolClick(CallBacker*);
260  void removeSelected(CallBacker*);
261  void mouseCursorCB(CallBacker*);
262  void mouseMoveCB(CallBacker*);
263 };
264 
265 #endif
Definition: uitoolbar.h:31
const Vw2DDataManager * dataMgr() const
Definition: uiodviewer2d.h:61
#define mExpClass(module)
Definition: commondefs.h:160
uiFlatViewStdControl * viewControl()
Definition: uiodviewer2d.h:123
od_int32 ObjectID
Definition: emposid.h:24
int rdmlineid_
Definition: uiodviewer2d.h:228
DataPack::ID createDataPack(bool wva) const
Definition: uiodviewer2d.h:80
int getRandomLineID() const
Definition: uiodviewer2d.h:105
User interface main window.
Definition: uimainwin.h:36
Class that represents non-bitmap data to be displayed in a flatviewer, such as markers, lines and more.
Definition: flatview.h:34
uiWorldPoint initialcentre_
Definition: uiodviewer2d.h:232
To be able to send and/or receive CallBacks, inherit from this class.
Definition: callback.h:272
TrcKeyZSampling tkzs_
Definition: uiodviewer2d.h:225
const ObjectSet< uiFlatViewAuxDataEditor > & dataEditor()
Definition: uiodviewer2d.h:68
uiFlatViewWin * viewwin_
Definition: uiodviewer2d.h:221
Attrib::SelSpec & vdselspec_
Definition: uiodviewer2d.h:216
void setRandomLineID(int id)
Definition: uiodviewer2d.h:103
OpendTect application top level object.
Definition: uiodmain.h:41
uiSlicePos2DView * slicepos_
Definition: uiodviewer2d.h:211
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
const uiTreeFactorySet * uiTreeItemFactorySet() const
Definition: uiodviewer2d.h:65
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:188
int visid_
Definition: uiodviewer2d.h:131
uiTreeFactorySet * tifs_
Definition: uiodviewer2d.h:219
uiODVw2DTreeTop * treetp_
Definition: uiodviewer2d.h:220
uiODVw2DTreeTop * treeTop()
Definition: uiodviewer2d.h:63
uiFlatViewWin * viewwin()
Definition: uiodviewer2d.h:58
Definition: uiodvw2dtreeitem.h:100
const Attrib::SelSpec & selSpec(bool wva) const
Definition: uiodviewer2d.h:73
Vw2DDataManager * datamgr_
Definition: uiodviewer2d.h:218
bool hasZAxisTransform() const
Definition: uiodviewer2d.h:100
uiODMain & appl_
Definition: uiodviewer2d.h:227
static const char * sKeyVDSelSpec()
Definition: uiodviewer2d.h:139
Definition: uistring.h:89
Definition: uiparent.h:26
Definition: view2ddataman.h:24
Attrib::SelSpec & selSpec(bool wva)
Definition: uiodviewer2d.h:71
int edittbid_
Definition: uiodviewer2d.h:236
int ID
Definition: datapack.h:38
#define mDeclInstanceCreatedNotifierAccess(clss)
Definition: callback.h:450
Definition: mouseevent.h:202
uiSlicePos2DView * slicePos()
Definition: uiodviewer2d.h:125
bool isvertical_
Definition: uiodviewer2d.h:240
FlatView::AuxData * marker_
Definition: uiodviewer2d.h:223
void setInitialCentre(const uiWorldPoint &wp)
Definition: uiodviewer2d.h:113
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:47
MouseCursorExchange * mousecursorexchange_
Definition: uiodviewer2d.h:222
ZAxisTransform * datatransform_
Definition: uiodviewer2d.h:224
Class that can execute a task.
Definition: task.h:169
float initialx1pospercm_
Definition: uiodviewer2d.h:233
Toolbar for setting slice position _ 2D viewer.
Definition: uiflatviewslicepos.h:23
Notifier< uiODViewer2D > posChanged
Definition: uiodviewer2d.h:146
ObjectSet< uiFlatViewAuxDataEditor > auxdataeditors_
Definition: uiodviewer2d.h:213
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
Notifier< uiODViewer2D > dataChanged
Definition: uiodviewer2d.h:145
The standard tools to control uiFlatViewer(s).
Definition: uiflatviewstdcontrol.h:54
static const char * sKeyPos()
Definition: uiodviewer2d.h:141
uiFlatViewStdControl * viewstdcontrol_
Definition: uiodviewer2d.h:212
int syncsceneid_
Definition: uiodviewer2d.h:230
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:175
int polyseltbid_
Definition: uiodviewer2d.h:237
void removeFault(EM::Fault &)
Index_Type GeomID
Definition: commontypes.h:52
static const char * sKeyWVASelSpec()
Definition: uiodviewer2d.h:140
const uiFlatViewStdControl * viewControl() const
Definition: uiodviewer2d.h:121
A 2D Viewer.
Definition: uiodviewer2d.h:45
int id_
Definition: uiodviewer2d.h:130
bool isVertical() const
Definition: uiodviewer2d.h:95
Vw2DDataManager * dataMgr()
Definition: uiodviewer2d.h:60
Notifier< uiODViewer2D > viewWinClosed
Definition: uiodviewer2d.h:144
int voiidx_
Definition: uiodviewer2d.h:229
bool ispolyselect_
Definition: uiodviewer2d.h:239
void setInitialX1PosPerCM(float val)
Definition: uiodviewer2d.h:115
const uiFlatViewWin * viewwin() const
Definition: uiodviewer2d.h:59
Specifies an attribute selection (ID or output number of NN).
Definition: attribsel.h:45
void setInitialX2PosPerCM(float val)
Definition: uiodviewer2d.h:117
Notifier< uiODViewer2D > viewWinAvailable
Definition: uiodviewer2d.h:143
Flatview auxiliary data editor.
Definition: uiflatauxdataeditor.h:23
uiString basetxt_
Definition: uiodviewer2d.h:226
Base class for windows containing one or more uiFlatViewer(s).
Definition: uiflatviewwin.h:31
Base class for z-axis transforms.
Definition: zaxistransform.h:37
Definition: uitreeitemmanager.h:287
Definition: bitmap2rgb.h:18
const TrcKeyZSampling & getTrcKeyZSampling() const
Definition: uiodviewer2d.h:109
Definition of z-domain.
Definition: zdomain.h:41
int picksettingstbid_
Definition: uiodviewer2d.h:238
Definition: uitreeitemmanager.h:34
Attrib::SelSpec & wvaselspec_
Definition: uiodviewer2d.h:215
ZAxisTransform * getZAxisTransform() const
Definition: uiodviewer2d.h:97
float initialx2pospercm_
Definition: uiodviewer2d.h:234
Compound key consisting of ints.
Definition: multiid.h:25
Semblance Attribute.
Definition: attribdataholder.h:25
Definition: zdomain.h:20

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