OpendTect  6.3
horizongridder.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: Raman K Singh
8  Date: Mar 2013
9 ________________________________________________________________________
10 
11 -*/
12 
13 
14 #include "array2dinterpolimpl.h"
15 #include "contcurvinterpol.h"
16 #include "trckeysampling.h"
17 #include "dbkey.h"
18 #include "emposid.h"
19 #include "earthmodelmod.h"
20 
22 class TaskRunner;
23 
24 namespace EM { class Horizon3D; }
25 
31 { mODTextTranslationClass(HorizonGridder);
32 public:
33  mDefineFactoryInClass(HorizonGridder,factory);
34 
35  virtual ~HorizonGridder();
36  uiString infoMsg() const { return infomsg_; }
37 
38  void setFaultIds(const DBKeySet&);
39 
40  virtual void setTrcKeySampling(const TrcKeySampling&);
41  virtual bool setArray2D(Array2D<float>&,TaskRunner* =0);
42 
43  static const char* sKeyMethod();
44  static const char* sKeyNrFaults();
45  static const char* sKeyFaultID();
46 
47  virtual bool fillPar(IOPar&) const;
48  virtual bool usePar(const IOPar&);
49  static uiRetVal executeGridding(HorizonGridder*,EM::Horizon3D*,
50  const EM::SectionID&,const BinID& step,
51  const Interval<int>* polyinlrg = 0,
52  const Interval<int>* polycrlrg = 0,
53  TaskRunner* tr = 0);
54 
55 protected:
56 
57  HorizonGridder();
58 
60 
64 
65  bool init(TaskRunner*);
66  bool blockSrcPoints(const float*,const od_int64*,int,
67  ObjectSet< TypeSet<int> >&) const;
68  bool setFrom(float*,od_int64,const od_int64*,
69  const float*,int nrsrc);
70 };
71 
72 
76 public:
77 
78  mDefaultFactoryInstantiation( HorizonGridder,
80  "InverseDistance",
81  tr("Inverse distance") )
82 
83  virtual void setTrcKeySampling(const TrcKeySampling&);
84  virtual bool setArray2D(Array2D<float>&,TaskRunner* =0);
85 
86  bool fillPar(IOPar&) const;
87  bool usePar(const IOPar&);
88 
89 protected:
90 
91  bool initFromArray(TaskRunner*);
92  void setFrom(od_int64 target, const od_int64* sources,
93  const float* weights, int nrsrc);
94 };
95 
96 
100 public:
101 
102  mDefaultFactoryInstantiation( HorizonGridder,
103  TriangulationHor3DGridder, "Triangulation",
104  ::toUiString(sFactoryKeyword()))
105 
106  virtual void setTrcKeySampling(const TrcKeySampling&);
107  virtual bool setArray2D(Array2D<float>&,TaskRunner* =0);
108 
109  bool fillPar(IOPar&) const;
110  bool usePar(const IOPar&);
111 
112 protected:
113 
114  bool initFromArray(TaskRunner*);
115  void setFrom(od_int64 target, const od_int64* sources,
116  const float* weights, int nrsrc);
117 };
118 
119 
123 public:
124 
125  mDefaultFactoryInstantiation( HorizonGridder,
127  "Extension", ::toUiString(sFactoryKeyword()))
128 
129  virtual void setTrcKeySampling(const TrcKeySampling&);
130  virtual bool setArray2D(Array2D<float>&,TaskRunner* =0);
131 
132  bool fillPar(IOPar&) const;
133  bool usePar(const IOPar&);
134 
135 protected:
136 
137 };
138 
139 
143 public:
144 
145  mDefaultFactoryInstantiation(HorizonGridder,
147  "ContinuousCurvature",
148  tr("Continuous curvature") )
149 
150  virtual void setTrcKeySampling(const TrcKeySampling&);
151  virtual bool setArray2D(Array2D<float>&,TaskRunner* =0);
152 
153  bool fillPar(IOPar&) const;
154  bool usePar(const IOPar&);
155 
156 };
FaultTrcDataProvider * fltdataprov_
Definition: horizongridder.h:59
od_int16 SectionID
Definition: emposid.h:23
#define mExpClass(module)
Definition: commondefs.h:157
Array 2D interpolator that works by extending the data into udf areas.
Definition: array2dinterpolimpl.h:196
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
Definition: horizongridder.h:120
#define od_int64
Definition: plftypes.h:34
bool init()
Definition: dbkey.h:98
Definition: horizongridder.h:140
Definition: contcurvinterpol.h:17
#define mDefaultFactoryInstantiation(baseclss, clss, keywrd, usernm)
Definition: factory.h:287
Definition: uistring.h:88
DBKeySet faultids_
Definition: horizongridder.h:63
Set of pointers to objects.
Definition: commontypes.h:28
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
Class that can execute a task.
Definition: task.h:193
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:25
Definition: horizongridder.h:73
Uses triangulation method to interpolate two dimensional arrays.
Definition: array2dinterpolimpl.h:135
uiString toUiString(const DBKey &ky)
Definition: dbkey.h:117
#define mDefineFactoryInClass(T, funcname)
Definition: factory.h:424
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
uiString infomsg_
Definition: horizongridder.h:61
Definition: horizongridder.h:97
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
Definition: uistring.h:299
FaultTrace data provider.
Definition: faulttrace.h:221
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:23
Base class for Horizon Gridders.
Definition: horizongridder.h:30
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:94
Interpolates 2D arrays using inverse distance method.
Definition: array2dinterpolimpl.h:50
TrcKeySampling hs_
Definition: horizongridder.h:62
uiString infoMsg() const
Definition: horizongridder.h:36

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