OpendTect-6_4  6.4
horizongridder.h
Go to the documentation of this file.
1 #ifndef horizongridder_h
2 #define horizongridder_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Raman K Singh
9  Date: Mar 2013
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 
16 #include "array2dinterpolimpl.h"
17 #include "contcurvinterpol.h"
18 #include "trckeysampling.h"
19 #include "multiid.h"
20 #include "emposid.h"
21 #include "earthmodelmod.h"
22 
24 class TaskRunner;
25 
26 namespace EM { class Horizon3D; }
27 
33 { mODTextTranslationClass(HorizonGridder);
34 public:
35  mDefineFactoryInClass(HorizonGridder,factory);
36 
37  virtual ~HorizonGridder();
38  uiString infoMsg() const { return infomsg_; }
39 
40  void setFaultIds(const TypeSet<MultiID>&);
41  void getFaultIds(TypeSet<MultiID>&) const;
42 
43  virtual void setTrcKeySampling(const TrcKeySampling&);
44  virtual bool setArray2D(Array2D<float>&,TaskRunner* =0);
45 
46  static const char* sKeyMethod();
47  static const char* sKeyNrFaults();
48  static const char* sKeyFaultID();
49 
50  virtual bool fillPar(IOPar&) const;
51  virtual bool usePar(const IOPar&);
52  static uiRetVal executeGridding(HorizonGridder*,EM::Horizon3D*,
53  const EM::SectionID&, const BinID& step,
54  TaskRunner* tr=0);
55  static uiRetVal executeGridding(HorizonGridder*,EM::Horizon3D*,
56  const EM::SectionID&,const BinID& step,
57  const Interval<int>* polyinlrg,
58  const Interval<int>* polycrlrg,
59  TaskRunner* tr = 0);
60 
61 
62 protected:
63 
64  HorizonGridder();
65 
67 
71 
72  bool init(TaskRunner*);
73  bool blockSrcPoints(const float*,const od_int64*,int,
74  ObjectSet< TypeSet<int> >&) const;
75  bool setFrom(float*,od_int64,const od_int64*,
76  const float*,int nrsrc);
77 };
78 
79 
83 public:
84 
85  mDefaultFactoryInstantiation( HorizonGridder,
87  "InverseDistance",
88  tr("Inverse distance") )
89 
90  virtual void setTrcKeySampling(const TrcKeySampling&);
91  virtual bool setArray2D(Array2D<float>&,TaskRunner* =0);
92 
93  bool fillPar(IOPar&) const;
94  bool usePar(const IOPar&);
95 
96 protected:
97 
98  bool initFromArray(TaskRunner*);
99  void setFrom(od_int64 target, const od_int64* sources,
100  const float* weights, int nrsrc);
101 };
102 
103 
107 public:
108 
109  mDefaultFactoryInstantiation( HorizonGridder,
110  TriangulationHor3DGridder, "Triangulation",
111  ::toUiString(sFactoryKeyword()))
112 
113  virtual void setTrcKeySampling(const TrcKeySampling&);
114  virtual bool setArray2D(Array2D<float>&,TaskRunner* =0);
115 
116  bool fillPar(IOPar&) const;
117  bool usePar(const IOPar&);
118 
119 protected:
120 
121  bool initFromArray(TaskRunner*);
122  void setFrom(od_int64 target, const od_int64* sources,
123  const float* weights, int nrsrc);
124 };
125 
126 
130 public:
131 
132  mDefaultFactoryInstantiation( HorizonGridder,
134  "Extension", ::toUiString(sFactoryKeyword()))
135 
136  virtual void setTrcKeySampling(const TrcKeySampling&);
137  virtual bool setArray2D(Array2D<float>&,TaskRunner* =0);
138 
139  bool fillPar(IOPar&) const;
140  bool usePar(const IOPar&);
141 
142 protected:
143 
144 };
145 
146 
150 public:
151 
152  mDefaultFactoryInstantiation(HorizonGridder,
154  "ContinuousCurvature",
155  tr("Continuous curvature") )
156 
157  virtual void setTrcKeySampling(const TrcKeySampling&);
158  virtual bool setArray2D(Array2D<float>&,TaskRunner* =0);
159 
160  bool fillPar(IOPar&) const;
161  bool usePar(const IOPar&);
162 
163 };
164 
165 #endif
FaultTrcDataProvider * fltdataprov_
Definition: horizongridder.h:66
od_int16 SectionID
Definition: emposid.h:25
#define mExpClass(module)
Definition: commondefs.h:160
Array 2D interpolator that works by extending the data into udf areas.
Definition: array2dinterpolimpl.h:203
TypeSet< MultiID > faultids_
Definition: horizongridder.h:70
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
Export_Basic uiString toUiString(ViewStyle)
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:188
Definition: horizongridder.h:127
#define od_int64
Definition: plftypes.h:36
bool init()
Definition: horizongridder.h:147
Definition: contcurvinterpol.h:18
#define mDefaultFactoryInstantiation(baseclss, clss, keywrd, usernm)
Definition: factory.h:289
Definition: uistring.h:89
Set of pointers to objects.
Definition: commontypes.h:32
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:47
Class that can execute a task.
Definition: task.h:169
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:27
Definition: horizongridder.h:80
Uses triangulation method to interpolate two dimensional arrays.
Definition: array2dinterpolimpl.h:136
#define mDefineFactoryInClass(T, funcname)
Definition: factory.h:426
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:175
uiString infomsg_
Definition: horizongridder.h:68
Definition: horizongridder.h:104
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:30
Definition: uistring.h:243
FaultTrace data provider.
Definition: faulttrace.h:225
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:25
Base class for Horizon Gridders.
Definition: horizongridder.h:32
3D Horizon. A Horizon is made up of one or more grids (so they can overlap at faults). The grids are defined by knot-points in a matrix and fillstyle in between the knots.
Definition: emhorizon3d.h:96
Interpolates 2D arrays using inverse distance method.
Definition: array2dinterpolimpl.h:51
TrcKeySampling hs_
Definition: horizongridder.h:69
uiString infoMsg() const
Definition: horizongridder.h:38

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