OpendTect-6_4  6.4
uiveldesc.h
Go to the documentation of this file.
1 #ifndef uiveldesc_h
2 #define uiveldesc_h
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: K. Tingdahl
8  Date: November 2007
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uiseismod.h"
15 #include "uigeninput.h"
16 #include "uiseissel.h"
17 #include "uitime2depthzaxistrans.h"
18 #include "veldesc.h"
19 #include "timedepthconv.h"
20 
21 class uiSeisSel;
22 class uiStaticsDesc;
23 class uiZRangeInput;
24 class uiPushButton;
25 class VelocityStretcher;
26 
31 public:
32 
33  mExpClass(uiSeis) Setup
34  {
35  public:
36  Setup( const VelocityDesc* vd=0 )
37  : is2d_(false)
38  { if ( vd ) desc_ = *vd; }
39 
41  mDefSetupMemb(bool,is2d)
42  };
43 
44  uiVelocityDesc(uiParent*,const Setup* s=0);
45 
46  bool get(VelocityDesc&,bool displayerrors) const;
47  void set(const VelocityDesc&);
48  bool updateAndCommit(IOObj&,bool displayerrors);
49 
50  NotifierAccess& typeChangeNotifier();
51 
52 protected:
53 
54  void updateFlds(CallBacker*);
55 
59 };
60 
61 
65 public:
66  uiVelocityDescDlg(uiParent*,const IOObj* cursel=0,
67  const uiVelocityDesc::Setup* s=0);
69 
70  IOObj* getSelection() const;
73  { return toprange_; }
75  { return bottomrange_; }
76 
77 protected:
78 
79  bool acceptOK(CallBacker*);
80  void volSelChange(CallBacker*);
81  bool scanAvgVel(const IOObj&, const VelocityDesc&);
82 
85 
89 };
90 
91 
93 
94 
95 mExpClass(uiSeis) uiVelSel : public uiSeisSel
96 {
97 public:
99  const uiSeisSel::Setup&,
100  bool iseditbutton=true);
101 
102  void setInput(const MultiID&);
103  static const IOObjContext& ioContext();
104 
105  Interval<float> getVelocityTopRange() const { return trg_; }
106  Interval<float> getVelocityBottomRange() const { return brg_; }
108 
109  void setIs2D(bool);
110 
111 protected:
112 
113  void fillDefault();
114 
115  void selectionDoneCB(CallBacker*);
116  void updateEditButton();
117  void editCB(CallBacker*);
121 };
122 
123 
126 public:
127  void enableTargetSampling();
128  bool acceptOK();
129 
130  ZAxisTransform* getSelection();
131 
132  const char* selName() const;
133  const MultiID& selID() const { return selkey_; }
134 
135  bool canBeField() const { return true; }
136 protected:
139 
140  FixedString getZDomain() const;
141  void finalizeCB(CallBacker*);
142  void setZRangeCB(CallBacker*);
143 
147 
149 };
150 
151 
154 public:
155  static void initClass();
156  static uiZAxisTransform* createInstance(uiParent*,
157  const char*,const char*);
158 
160 };
161 
162 
165 public:
166  static void initClass();
167  static uiZAxisTransform* createInstance(uiParent*,
168  const char*,const char*);
169 
171 };
172 
173 
174 
175 
176 
177 #endif
Definition: uigroup.h:54
#define mExpClass(module)
Definition: commondefs.h:160
Interval< float > toprange_
Definition: uiveldesc.h:83
To be able to send and/or receive CallBacks, inherit from this class.
Definition: callback.h:272
uiVelocityDesc * veldescfld_
Definition: uiveldesc.h:88
Definition: ioobj.h:58
Interval< float > trg_
Definition: uiveldesc.h:119
is the base class for all buttons.
Definition: uibutton.h:83
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
Field that selects a velocity volume, and edit it&#39;s properties/velocity tag.
Definition: uiveldesc.h:95
OD::String that holds an existing text string.
Definition: fixedstring.h:29
Interface class for Notifier. See comments there.
Definition: callback.h:161
Definition: veldesc.h:38
Notifier< uiVelSel > velrgchanged
Definition: uiveldesc.h:107
Interval< float > getVelocityTopRange() const
Definition: uiveldesc.h:72
Definition: uiparent.h:26
BufferString selname_
Definition: uiveldesc.h:145
uiVelSel * velsel_
Definition: uiveldesc.h:148
Definition: uiveldesc.h:163
Definition: uidialog.h:42
uiGenInput * typefld_
Definition: uiveldesc.h:56
Interval< float > bottomrange_
Definition: uiveldesc.h:84
Interval< float > getVelocityTopRange() const
Definition: uiveldesc.h:105
Definition: uizaxistransform.h:26
uiPushButton * editcubebutt_
Definition: uiveldesc.h:118
Definition: uiseissel.h:26
bool canBeField() const
Definition: uiveldesc.h:135
MultiID selkey_
Definition: uiveldesc.h:146
Definition: uiveldesc.h:29
VelocityStretcher * transform_
Definition: uiveldesc.h:144
Definition: uiveldesc.h:63
VelocityDesc oldveldesc_
Definition: uiveldesc.h:86
Definition: timedepthconv.h:32
General Input Element.
Definition: uigeninput.h:58
Definition: uiseissel.h:30
uiGenInput * hasstaticsfld_
Definition: uiveldesc.h:57
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:137
Definition: uiveldesc.h:124
Definition: uizrangeinput.h:20
Definition: uiveldesc.h:152
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:40
Definition: uistaticsdesc.h:23
uiSeisSel * volselfld_
Definition: uiveldesc.h:87
Interval< float > getVelocityBottomRange() const
Definition: uiveldesc.h:106
Interval< float > brg_
Definition: uiveldesc.h:120
Definition: uitime2depthzaxistrans.h:19
Base class for z-axis transforms.
Definition: zaxistransform.h:37
Definition: uiveldesc.h:33
const MultiID & selID() const
Definition: uiveldesc.h:133
uiStaticsDesc * staticsfld_
Definition: uiveldesc.h:58
Interval< float > getVelocityBottomRange() const
Definition: uiveldesc.h:74
Compound key consisting of ints.
Definition: multiid.h:25
static void initClass()
Setup(const VelocityDesc *vd=0)
Definition: uiveldesc.h:36
Holds the context for selecting and/or creating IOObjs.
Definition: ctxtioobj.h:62

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