OpendTect  6.3
emhorizonztransform.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: Kristofer Tingdahl
8  Date: April 2006
9 ________________________________________________________________________
10 
11 
12 -*/
13 
14 #include "earthmodelmod.h"
15 #include "zaxistransform.h"
16 #include "notify.h"
17 
18 namespace EM
19 {
20 class Horizon;
21 
29  , public CallBacker
31 public:
33  "HorizonZTransform",
34  toUiString(sFactoryKeyword()));
35 
36  static const char* sKeyHorizonID() { return "Horizon"; }
37 
39  void setHorizon(const Horizon&);
40  void transformTrc(const TrcKey&,const SamplingData<float>&,
41  int sz,float* res) const;
42  void transformTrcBack(const TrcKey&,
43  const SamplingData<float>&,
44  int sz,float* res) const;
45  bool canTransformSurv(TrcKey::SurvID) const { return true; }
46 
47  Interval<float> getZInterval(bool from) const;
48  float getZIntervalCenter(bool from) const;
49  bool needsVolumeOfInterest() const { return false; }
50 
51  Interval<float> getDepthRange() const { return depthrange_; }
52  NotifierAccess* changeNotifier() { return &change_; }
53 
54  void fillPar(IOPar&) const;
55  bool usePar(const IOPar&);
56 
57 protected:
59  void calculateHorizonRange();
60  void horChangeCB( CallBacker* );
61  bool getTopBottom(const TrcKey&,float&top,float&bot) const;
62 
63  const Horizon* horizon_;
67 
68 };
69 
70 } // namespace EM
#define mExpClass(module)
Definition: commondefs.h:157
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
const Horizon * horizon_
Definition: emhorizonztransform.h:63
Interface class for Notifier. See comments there.
Definition: notify.h:20
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
NotifierAccess * changeNotifier()
Definition: emhorizonztransform.h:52
Pos::SurvID SurvID
Definition: trckey.h:30
#define mDefaultFactoryInstantiation(baseclss, clss, keywrd, usernm)
Definition: factory.h:287
Class to help setup a callback handling.
Definition: notify.h:121
bool canTransformSurv(TrcKey::SurvID) const
Definition: emhorizonztransform.h:45
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
FixedString Horizon()
Definition: keystrs.h:70
uiString toUiString(const DBKey &ky)
Definition: dbkey.h:117
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
Notifier< HorizonZTransform > change_
Definition: emhorizonztransform.h:66
Interval< float > depthrange_
Definition: emhorizonztransform.h:64
Z-transform that flattens a horizon. Everything else will also be flattened accordingly. In case of reverse faulting, the area between the two patches will not be included.
Definition: emhorizonztransform.h:28
bool horchanged_
Definition: emhorizonztransform.h:65
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:23
static const char * sKeyHorizonID()
Definition: emhorizonztransform.h:36
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:26
Base class for z-axis transforms.
Definition: zaxistransform.h:35
bool needsVolumeOfInterest() const
Definition: emhorizonztransform.h:49
Interval< float > getDepthRange() const
Definition: emhorizonztransform.h:51
Horizon Surface.
Definition: emhorizon.h:46

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