OpendTect  6.6
interpollayermodel.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: Nanne Hemstra
8  Date: January 2014
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 
15 #include "algomod.h"
16 #include "trckeyzsampling.h"
17 #include "factory.h"
18 #include "typeset.h"
19 
20 class TaskRunner;
21 
23 {
24 public:
26  virtual ~InterpolationLayerModel();
27 
28  virtual InterpolationLayerModel* clone() const = 0;
29 
30  virtual bool isOK(const TrcKey* tk=0) const;
31 
32  virtual bool prepare(const TrcKeyZSampling&,TaskRunner* =0);
33  virtual void addSampling(const TrcKeySampling&);
34  virtual od_int64 getMemoryUsage(const TrcKeySampling&) const;
38  virtual float getLayerIndex(const TrcKey&,float z) const = 0;
39  virtual float getInterpolatedZ(const TrcKey&,float layer) const;
40 
41  static const char* sKeyModelType();
42 
43  virtual void fillPar(IOPar&) const;
44  virtual bool usePar(const IOPar&) { return true; }
45 
46 protected:
49 
50  virtual bool hasSampling() const;
51 
54 
55 private:
56 
57  virtual int nrLayers() const = 0;
58  virtual float getZ(const TrcKey&,int layer) const = 0;
59 };
60 
61 
64 public:
68  "ZSlices",
69  tr("Z Slices"))
70 
71 protected:
75 
76 private:
77 
79 
80  bool isOK(const TrcKey* tk=0) const;
81 
82  int nrLayers() const;
83  float getLayerIndex(const TrcKey&,float z) const;
84  float getZ(const TrcKey&,int layer) const;
86  { return 0; }
87 
88 };
89 
ZSliceInterpolationModel
Definition: interpollayermodel.h:63
TrcKeySampling
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:35
InterpolationLayerModel::hasSampling
virtual bool hasSampling() const
factory.h
InterpolationLayerModel::InterpolationLayerModel
InterpolationLayerModel()
ObjectSet< TrcKeySampling >
od_int64
#define od_int64
Definition: plftypes.h:35
ZSliceInterpolationModel::getLayerIndex
float getLayerIndex(const TrcKey &, float z) const
mDefaultFactoryInstantiation
#define mDefaultFactoryInstantiation(baseclss, clss, keywrd, usernm)
Definition: factory.h:288
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
ZSliceInterpolationModel::getMemoryUsage
od_int64 getMemoryUsage(const TrcKeySampling &) const
Definition: interpollayermodel.h:85
InterpolationLayerModel::clone
virtual InterpolationLayerModel * clone() const =0
ZSliceInterpolationModel::clone
InterpolationLayerModel * clone() const
InterpolationLayerModel::prepare
virtual bool prepare(const TrcKeyZSampling &, TaskRunner *=0)
typeset.h
TrcKeyZSampling
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
InterpolationLayerModel::getMemoryUsage
virtual od_int64 getMemoryUsage(const TrcKeySampling &) const
ZSliceInterpolationModel::mODTextTranslationClass
mODTextTranslationClass(ZSliceInterpolationModel)
InterpolationLayerModel::sKeyModelType
static const char * sKeyModelType()
StepInterval< float >
ZSliceInterpolationModel::isOK
bool isOK(const TrcKey *tk=0) const
trckeyzsampling.h
InterpolationLayerModel::zsamp_
StepInterval< float > zsamp_
Definition: interpollayermodel.h:53
InterpolationLayerModel::fillPar
virtual void fillPar(IOPar &) const
TaskRunner
Class that can execute a task.
Definition: task.h:170
InterpolationLayerModel::addSampling
virtual void addSampling(const TrcKeySampling &)
InterpolationLayerModel
Definition: interpollayermodel.h:23
InterpolationLayerModel::nrLayers
virtual int nrLayers() const =0
InterpolationLayerModel::getLayerIndex
virtual float getLayerIndex(const TrcKey &, float z) const =0
InterpolationLayerModel::getInterpolatedZ
virtual float getInterpolatedZ(const TrcKey &, float layer) const
ZSliceInterpolationModel::nrLayers
int nrLayers() const
InterpolationLayerModel::tkss_
ObjectSet< TrcKeySampling > tkss_
Definition: interpollayermodel.h:52
InterpolationLayerModel::mDefineFactoryInClass
mDefineFactoryInClass(InterpolationLayerModel, factory) virtual ~InterpolationLayerModel()
TrcKey
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:28
InterpolationLayerModel::isOK
virtual bool isOK(const TrcKey *tk=0) const
InterpolationLayerModel::usePar
virtual bool usePar(const IOPar &)
Definition: interpollayermodel.h:44
ZSliceInterpolationModel::getZ
float getZ(const TrcKey &, int layer) const
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
InterpolationLayerModel::getZ
virtual float getZ(const TrcKey &, int layer) const =0
InterpolationLayerModel::InterpolationLayerModel
InterpolationLayerModel(const InterpolationLayerModel &)

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