OpendTect-6_4  6.4
interpollayermodel.h
Go to the documentation of this file.
1 #ifndef interpollayermodel_h
2 #define interpollayermodel_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Nanne Hemstra
9  Date: January 2014
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 
16 #include "algomod.h"
17 #include "trckeyzsampling.h"
18 #include "factory.h"
19 #include "typeset.h"
20 
21 class TaskRunner;
22 
24 {
25 public:
26  mDefineFactoryInClass(InterpolationLayerModel,factory)
27  virtual ~InterpolationLayerModel();
28 
29  virtual InterpolationLayerModel* clone() const = 0;
30 
31  virtual bool isOK(const TrcKey* tk=0) const;
32 
33  virtual bool prepare(const TrcKeyZSampling&,TaskRunner* =0);
34  virtual void addSampling(const TrcKeySampling&);
35  virtual od_int64 getMemoryUsage(const TrcKeySampling&) const;
39  virtual float getLayerIndex(const TrcKey&,float z) const = 0;
40  virtual float getInterpolatedZ(const TrcKey&,float layer) const;
41 
42  static const char* sKeyModelType();
43 
44  virtual void fillPar(IOPar&) const;
45  virtual bool usePar(const IOPar&) { return true; }
46 
47 protected:
48  InterpolationLayerModel();
49  InterpolationLayerModel(const InterpolationLayerModel&);
50 
51  virtual bool hasSampling() const;
52 
55 
56 private:
57 
58  virtual int nrLayers() const = 0;
59  virtual float getZ(const TrcKey&,int layer) const = 0;
60 };
61 
62 
65 public:
67  InterpolationLayerModel,
69  "ZSlices",
70  tr("Z Slices"))
71 
72 protected:
76 
77 private:
78 
79  InterpolationLayerModel* clone() const;
80 
81  bool isOK(const TrcKey* tk=0) const;
82 
83  int nrLayers() const;
84  float getLayerIndex(const TrcKey&,float z) const;
85  float getZ(const TrcKey&,int layer) const;
87  { return 0; }
88 
89 };
90 
91 #endif
#define mExpClass(module)
Definition: commondefs.h:160
virtual bool usePar(const IOPar &)
Definition: interpollayermodel.h:45
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
od_int64 getMemoryUsage(const TrcKeySampling &) const
Definition: interpollayermodel.h:86
Definition: interpollayermodel.h:63
#define od_int64
Definition: plftypes.h:36
#define mDefaultFactoryInstantiation(baseclss, clss, keywrd, usernm)
Definition: factory.h:289
Definition: interpollayermodel.h:23
ObjectSet< TrcKeySampling > tkss_
Definition: interpollayermodel.h:53
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
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
#define mDefineFactoryInClass(T, funcname)
Definition: factory.h:426
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:175
StepInterval< float > zsamp_
Definition: interpollayermodel.h:54
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:28

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