OpendTect-6_4  6.4
velocityfunctiongrid.h
Go to the documentation of this file.
1 #ifndef velocityfunctiongrid_h
2 #define velocityfunctiongrid_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: K. Tingdahl
9  Date: April 2005
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 
14 -*/
15 
16 #include "velocitymod.h"
17 #include "binidvalset.h"
18 #include "samplingdata.h"
19 #include "thread.h"
20 #include "velocityfunction.h"
21 
22 class BinIDValueSet;
23 class Gridder2D;
25 
26 namespace Vel
27 {
28 
29 class GriddedSource;
30 
35 {
36 public:
38 
39  StepInterval<float> getAvailableZ() const;
40  bool moveTo(const BinID&);
41  bool fetchSources();
42 
43  bool isInfluencedBy(const BinID&) const;
44 
45  void setGridder(const Gridder2D&);
46  Gridder2D* getGridder() { return gridder_; }
47  void setLayerModel(const InterpolationLayerModel*);
48 
49 protected:
50  ~GriddedFunction();
51  friend class GriddedSource;
52 
53  bool computeVelocity(float z0, float dz, int nr,
54  float* res ) const;
55  ConstRefMan<Function> getInputFunction(const BinID& bid,int& source);
56  void fetchPerfectFit(const BinID&);
57 
60  const Function* directsource_;
61 
64 
66 };
67 
68 
70 {
71 public:
72  GriddedSource();
73  const VelocityDesc& getDesc() const;
74  const char* factoryKeyword() const { return sType(); }
75  static const char* sType() { return "GridVelocity"; }
76 
77  const Gridder2D* getGridder() const;
78  void setGridder(Gridder2D*);
79 
80  void setSource(ObjectSet<FunctionSource>&);
81  void setSource(const TypeSet<MultiID>&);
82  void getSources(TypeSet<MultiID>&) const;
83 
84  void setLayerModel(const InterpolationLayerModel*);
85 
87 
88  NotifierAccess* changeNotifier() { return &notifier_; }
89  BinID changeBinID() const { return changebid_; }
90 
91  GriddedFunction* createFunction();
92 
93  void fillPar(IOPar&) const;
94  bool usePar(const IOPar&);
95 
96 protected:
97  friend class GriddedFunction;
98  GriddedFunction* createFunction(const BinID&);
99  ~GriddedSource();
100  bool initGridder();
101  static const char* sKeyGridder() { return "Gridder"; }
102 
103  void sourceChangeCB(CallBacker*);
104 
106 
112 
113  BinIDValueSet sourcepos_; //All sources
114 
117 };
118 
119 } // namespace Vel
120 
121 #endif
#define mExpClass(module)
Definition: commondefs.h:160
Velocity.
Definition: velocityfunction.h:32
To be able to send and/or receive CallBacks, inherit from this class.
Definition: callback.h:272
Definition: velocityfunction.h:85
TypeSet< int > sources_
Definition: velocityfunctiongrid.h:59
TypeSet< float > gridvalues_
Definition: velocityfunctiongrid.h:65
const InterpolationLayerModel * layermodel_
Definition: velocityfunctiongrid.h:63
Interface class for Notifier. See comments there.
Definition: callback.h:161
Definition: veldesc.h:38
Generic interface for 2D gridding.
Definition: gridder2d.h:32
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:188
ObjectSet< FunctionSource > datasources_
Definition: velocityfunctiongrid.h:105
const Function * directsource_
Definition: velocityfunctiongrid.h:60
bool gridderinited_
Definition: velocityfunctiongrid.h:110
TypeSet< BinID > gridsourcebids_
Definition: velocityfunctiongrid.h:115
const char * factoryKeyword() const
Definition: velocityfunctiongrid.h:74
Definition: velocityfunctiongrid.h:69
Notifier< GriddedSource > notifier_
Definition: velocityfunctiongrid.h:107
Gridder2D * gridder_
Definition: velocityfunctiongrid.h:109
BinIDValueSet sourcepos_
Definition: velocityfunctiongrid.h:113
Definition: callback.h:254
Set of pointers to objects.
Definition: commontypes.h:32
void getSources(const EM::PosID &, TypeSet< EM::PosID > &) const
Definition: interpollayermodel.h:23
Definition: velocityfunctiongrid.h:34
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:47
ObjectSet< const Function > velocityfunctions_
Definition: velocityfunctiongrid.h:58
static const char * sType()
Definition: velocityfunctiongrid.h:75
BinID changeBinID() const
Definition: velocityfunctiongrid.h:89
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:175
static const char * sKeyGridder()
Definition: velocityfunctiongrid.h:101
Gridder2D * getGridder()
Definition: velocityfunctiongrid.h:46
Gridder2D * gridder_
Definition: velocityfunctiongrid.h:62
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:30
TypeSet< Coord > gridsourcecoords_
Definition: velocityfunctiongrid.h:116
const InterpolationLayerModel * layermodel_
Definition: velocityfunctiongrid.h:111
A Pos::IdxPairValueSet with BinIDs.
Definition: binidvalset.h:23
NotifierAccess * changeNotifier()
Definition: velocityfunctiongrid.h:88
BinID changebid_
Definition: velocityfunctiongrid.h:108
Definition: ptrman.h:190
Definition: velocityfunction.h:41

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