OpendTect  6.6
expgraddip.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: 07-10-1999
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 GradientDip size=
13 
14 
15 Outputs:
16 0 Inl dip
17 1 crl dip
18 
19 @$*/
20 
21 #include <attribcalc.h>
22 #include <task.h>
23 #include <position.h>
24 #include <limits.h>
25 #include <seistrc.h>
26 #include <arrayndimpl.h>
27 #include <attribparamimpl.h>
28 
29 
30 mClass(AttribExp) GradientDipAttrib : public AttribCalc
31 {
32 public:
34  , "GradientDip"
35  , IntAttribParameter
36  , size
37  , IntAttribParameter( "size"
39  , 7
40  , Interval<int>(3,100)
41  )
42  , mAttribParamFormHasNoUpdate
43  );
44 
45  GradientDipAttrib( Parameters* );
47 
48  bool init();
49 
50  int nrAttribs() const { return 2; }
51  const char* attribName(int val) const
52  {
53  if ( !val ) return "In-line dip";
54  if ( val == 1 ) return "Cross-line dip";
55 
56  return 0;
57  }
58 
59  const BinID* reqStepout( int inp, int ) const { return &stepout; }
60  const Interval<int>* reqExtraSamples(int, int) const { return &sg;}
61 
62  const Interval<float>* inlDipMargin(int,int) const { return 0; }
63  const Interval<float>* crlDipMargin(int,int) const { return 0; }
64 
65 
67  { return Seis::Dip; }
68 
69  const char* definitionStr() const { return desc; }
70  void setCommonInfo( const AttribProcessCommonInfo& ni )
71  { common = &ni; }
72 
73 protected:
74 
78 
79  float inldist;
80  float crldist;
81 
82  int sz;
83  const AttribProcessCommonInfo* common;
84 
85  mClass(AttribExp) Task : public AttribCalc::Task
86  {
87  public:
88  mClass(AttribExp) Input : public AttribCalc::Task::Input
89  {
90  public:
91  Input( const GradientDipAttrib& calculator_ )
92  : calculator ( calculator_ )
93  , trcs( 0 ) {}
94 
95  bool set( const BinID&,
97  const TypeSet<int>&,
98  const TypeSet<float*>& );
99 
101  { return new GradientDipAttrib::Task::Input(*this); }
102 
105 
107  };
108 
109  Task( const GradientDipAttrib& calculator_ )
110  : inldips( 0 )
111  , crldips( 0 )
112  , calculator( calculator_ ) {}
113 
114  Task( const Task& );
115  // Not impl. Only to give error if someone uses it
116 
117  void set( float , int , float ,
118  const AttribCalc::Task::Input* ,
119  const TypeSet<float*>& );
120 
121  AttribCalc::Task* clone() const;
122 
123  int getFastestSz() const { return 25; }
124 
125  int nextStep();
126 
128  { return new GradientDipAttrib::Task::Input( calculator ); }
129 
130  protected:
131  float* inldips;
132  float* crldips;
133 
135  };
136 
139 };
140 
GradientDipAttrib::Task::Input::clone
AttribCalc::Task::Input * clone() const
Definition: expgraddip.h:100
GradientDipAttrib::Task::nextStep
int nextStep()
Seis::Dip
@ Dip
Definition: seistype.h:53
GradientDipAttrib::setCommonInfo
void setCommonInfo(const AttribProcessCommonInfo &ni)
Definition: expgraddip.h:70
GradientDipAttrib::Task::set
void set(float, int, float, const AttribCalc::Task::Input *, const TypeSet< float * > &)
GradientDipAttrib::crlDipMargin
const Interval< float > * crlDipMargin(int, int) const
Definition: expgraddip.h:63
sKey::Input
FixedString Input()
Definition: keystrs.h:81
GradientDipAttrib::GradientDipAttrib
GradientDipAttrib(Parameters *)
task.h
GradientDipAttrib::Task::Input::Input
Input(const GradientDipAttrib &calculator_)
Definition: expgraddip.h:91
GradientDipAttrib::common
const AttribProcessCommonInfo * common
Definition: expgraddip.h:83
GradientDipAttrib::stepout
BinID stepout
Definition: expgraddip.h:77
GradientDipAttrib::Task::inldips
float * inldips
Definition: expgraddip.h:131
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
GradientDipAttrib::attribName
const char * attribName(int val) const
Definition: expgraddip.h:51
Seis::DataType
DataType
Definition: seistype.h:53
ExtremeDipAttrib::Task::crldips
float * crldips
Definition: expextremedip.h:132
ExtremeDipAttrib::Task::Input::trcs
Array2DImpl< SeisTrc * > * trcs
Definition: expextremedip.h:102
GradientDipAttrib::Task::Input::calculator
const GradientDipAttrib & calculator
Definition: expgraddip.h:106
ExtremeDipAttrib::Task::inldips
float * inldips
Definition: expextremedip.h:131
GradientDipAttrib::definitionStr
const char * definitionStr() const
Definition: expgraddip.h:69
GradientDipAttrib::mAttrib1Param
mAttrib1Param(GradientDipAttrib, "GradientDip", IntAttribParameter, size, IntAttribParameter("size", AttribParameter::Required, 7, Interval< int >(3, 100)), mAttribParamFormHasNoUpdate)
arrayndimpl.h
GradientDipAttrib::crldist
float crldist
Definition: expgraddip.h:80
ExtremeDipAttrib::Task::Task
Task(const ExtremeDipAttrib &calculator_)
Definition: expextremedip.h:108
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
ExtremeDipAttrib::common
const AttribProcessCommonInfo * common
Definition: expextremedip.h:82
GradientDipAttrib::Task::getFastestSz
int getFastestSz() const
Definition: expgraddip.h:123
GradientDipAttrib::Task::getInput
AttribCalc::Task::Input * getInput() const
Definition: expgraddip.h:127
GradientDipAttrib::sg
Interval< int > sg
Definition: expgraddip.h:76
GradientDipAttrib::Task::Input::attribute
int attribute
Definition: expgraddip.h:104
GradientDipAttrib
Definition: expgraddip.h:31
ExtremeDipAttrib::sg
const Interval< int > sg
Definition: expextremedip.h:75
mClass
#define mClass(module)
Definition: commondefs.h:181
ExtremeDipAttrib::desc
BufferString desc
Definition: expextremedip.h:74
GradientDipAttrib::sz
int sz
Definition: expgraddip.h:82
GradientDipAttrib::reqStepout
const BinID * reqStepout(int inp, int) const
Definition: expgraddip.h:59
GradientDipAttrib::init
bool init()
GradientDipAttrib::nrAttribs
int nrAttribs() const
Definition: expgraddip.h:50
GradientDipAttrib::Task::Task
Task(const GradientDipAttrib &calculator_)
Definition: expgraddip.h:109
ExtremeDipAttrib::Task::Input::calculator
const ExtremeDipAttrib & calculator
Definition: expextremedip.h:105
GradientDipAttrib::Task::Input::trcs
Array2DImpl< SeisTrc * > * trcs
Definition: expgraddip.h:103
position.h
GradientDipAttrib::Task::Input::set
bool set(const BinID &, const ObjectSet< AttribProvider > &, const TypeSet< int > &, const TypeSet< float * > &)
GradientDipAttrib::dataType
Seis::DataType dataType(int, const TypeSet< Seis::DataType > &) const
Definition: expgraddip.h:66
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
GradientDipAttrib::reqExtraSamples
const Interval< int > * reqExtraSamples(int, int) const
Definition: expgraddip.h:60
Array2DImpl< SeisTrc * >
GradientDipAttrib::Task::calculator
const GradientDipAttrib & calculator
Definition: expgraddip.h:134
GradientDipAttrib::~GradientDipAttrib
~GradientDipAttrib()
seistrc.h
GradientDipAttrib::Task::clone
AttribCalc::Task * clone() const
GradientDipAttrib::Task::Task
Task(const Task &)
GradientDipAttrib::Task::Input
Definition: expgraddip.h:89
GradientDipAttrib::Task::crldips
float * crldips
Definition: expgraddip.h:132
ExtremeDipAttrib::stepout
const BinID stepout
Definition: expextremedip.h:76
GradientDipAttrib::desc
BufferString desc
Definition: expgraddip.h:75
Table::Required
@ Required
Definition: tabledef.h:27
Interval< int >
GradientDipAttrib::Task
Definition: expgraddip.h:86
GradientDipAttrib::inlDipMargin
const Interval< float > * inlDipMargin(int, int) const
Definition: expgraddip.h:62
GradientDipAttrib::inldist
float inldist
Definition: expgraddip.h:79
TypeSet< Seis::DataType >

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