OpendTect  6.3
positionattrib.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: November 2002
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "attributesmod.h"
14 #include "attribprovider.h"
15 #include "binid.h"
16 #include "arrayndimpl.h"
17 
18 namespace Attrib
19 {
20 
41 {
42 public:
43  static void initClass();
44  Position(Desc&);
45 
46  static const char* attribName() { return "Position"; }
47  static const char* stepoutStr() { return "stepout"; }
48  static const char* gateStr() { return "gate"; }
49  static const char* operStr() { return "oper"; }
50  static const char* steeringStr() { return "steering"; }
51  static const char* operTypeStr(int);
52  void initSteering() { stdPrepSteering(stepout_); }
53 
54  void prepPriorToBoundsCalc();
55  virtual bool isSingleTrace() const
56  { return !stepout_.inl() && !stepout_.crl(); }
57 
58 protected:
59  ~Position();
60  static Provider* createInstance(Desc&);
61  static void updateDesc(Desc&);
62 
64  { return true; }
65 
66  bool getInputOutput(int inp,TypeSet<int>& res) const;
67  bool getInputData(const BinID&,int zintv);
68  bool computeData(const DataHolder&,
69  const BinID& relpos,
70  int z0,int nrsamples,
71  int threadid) const;
72 
73  const BinID* reqStepout(int input,int output) const
74  { return &stepout_; }
75  const Interval<float>* reqZMargin(int input,int output) const;
76  const Interval<float>* desZMargin(int input,int output) const;
77 
80  int oper_;
81  bool dosteer_;
82 
85 
86  int inidx_;
87  int outidx_;
89 
93 };
94 
95 } // namespace Attrib
#define mExpClass(module)
Definition: commondefs.h:157
const BinID * reqStepout(int input, int output) const
Definition: positionattrib.h:73
const DataHolder * steerdata_
Definition: positionattrib.h:92
bool dosteer_
Definition: positionattrib.h:81
Implementation of Array2D.
Definition: arrayndimpl.h:101
FixedString Attributes()
Definition: keystrs.h:38
Interval< float > desgate_
Definition: positionattrib.h:84
static const char * gateStr()
Definition: positionattrib.h:48
static const char * steeringStr()
Definition: positionattrib.h:50
Set of pointers to objects.
Definition: commontypes.h:28
static const char * operStr()
Definition: positionattrib.h:49
static const char * attribName()
Definition: positionattrib.h:46
int inidx_
Definition: positionattrib.h:86
FixedString Position()
Definition: keystrs.h:101
void initSteering()
Definition: positionattrib.h:52
ObjectSet< const DataHolder > inputdata_
Definition: positionattrib.h:90
Description of an attribute in an Attrib::DescSet. Each attribute has a name (e.g. "Similarity"), a user reference (e.g. "My similarity"), and at least one output. In addition, it may have parameters and inputs. If it has multiple outputs, only one of the outputs are selected.
Definition: attribdesc.h:87
Array2DImpl< const DataHolder * > * outdata_
Definition: positionattrib.h:91
bool allowParallelComputation() const
Definition: positionattrib.h:63
Interval< float > gate_
Definition: positionattrib.h:79
BinID stepout_
Definition: positionattrib.h:78
virtual bool isSingleTrace() const
Definition: positionattrib.h:55
Holds the attribute data.
Definition: attribdataholder.h:39
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
static const char * stepoutStr()
Definition: positionattrib.h:47
Provides the actual output to ...
Definition: attribprovider.h:40
TypeSet< BinID > positions_
Definition: positionattrib.h:83
Position Attribute.
Definition: positionattrib.h:40
int outidx_
Definition: positionattrib.h:87
int oper_
Definition: positionattrib.h:80
static void initClass()
Semblance Attribute.
Definition: attribdataholder.h:21
TypeSet< int > steerindexes_
Definition: positionattrib.h:88

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