OpendTect-6_4  6.4
volprocattrib.h
Go to the documentation of this file.
1 #ifndef volprocattrib_h
2 #define volprocattrib_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: K. Tingdahl
9  Date: April 2005
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 
14 -*/
15 
16 #include "volumeprocessingmod.h"
17 
18 #include "attribparam.h"
19 #include "attribprovider.h"
20 #include "externalattrib.h"
21 #include "multiid.h"
22 #include "uistring.h"
23 
24 namespace VolProc { class Chain; class ChainExecutor; }
25 
26 mExpClass(VolumeProcessing) VolProcAttrib : public Attrib::Provider
28 public:
29  static void initClass();
30 
31  static const char* attribName() { return "VolumeProcessing"; }
32  static const char* sKeySetup() { return "setup"; }
33 
34 protected:
36  ~VolProcAttrib();
37  static Attrib::Provider* createInstance(Attrib::Desc&);
38 
39  bool allowParallelComputation() const;
40  bool computeData(const Attrib::DataHolder&,
41  const BinID&,int z0,
42  int nrsamples,int threadid) const;
43 
44  void prepareForComputeData();
45 
49 };
50 
51 
52 
57 namespace VolProc
58 {
59 
61  : public Attrib::ExtAttribCalc
63 public:
64  static void initClass();
67 
68  static const char* sAttribName() { return "Volume_Processing"; }
69  static const char* sKeySetup() { return "volprocsetup"; }
70 
71  static BufferString createDefinition(const MultiID& setup);
72 
73  bool setTargetSelSpec(const Attrib::SelSpec&);
74 
75  virtual DataPack::ID createAttrib(const TrcKeyZSampling&,DataPack::ID,
76  TaskRunner*);
78  TaskRunner* trans )
79  { return Attrib::ExtAttribCalc::createAttrib(o,trans); }
80  virtual bool createAttrib( const BinIDValueSet& b, SeisTrcBuf& tb,
81  TaskRunner* trans )
82  {
83  return Attrib::ExtAttribCalc::createAttrib(b,tb,trans);
84  }
85  virtual DataPack::ID createAttrib(const TrcKeyZSampling&,
86  const LineKey&,TaskRunner*);
87 
88 protected:
89 
91 
94 
95 };
96 
97 } // namespace VolProc
98 
99 #endif
#define mExpClass(module)
Definition: commondefs.h:160
Generic class for attribs that does not come from the attribute engine.
Definition: externalattrib.h:37
static const char * sKeySetup()
Definition: volprocattrib.h:69
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
virtual DataPack::ID createAttrib(const TrcKeyZSampling &, DataPack::ID, TaskRunner *)
MultiID rendermid_
Definition: volprocattrib.h:93
virtual bool createAttrib(ObjectSet< BinIDValueSet > &o, TaskRunner *trans)
Definition: volprocattrib.h:77
VolProc::ChainExecutor * executor_
Definition: volprocattrib.h:48
VolProc::Chain * chain_
Definition: volprocattrib.h:46
int ID
Definition: datapack.h:38
MultiID setupmid_
Definition: volprocattrib.h:47
Key for a line in a line set.
Definition: linekey.h:22
Chain * chain_
Definition: volprocattrib.h:92
A chain of Steps that can be applied to a volume of scalars.
Definition: volprocchain.h:29
Class that can execute a task.
Definition: task.h:169
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:89
Adapter for a VolProc chain to external attribute calculation.
Definition: seisdatapackwriter.h:25
Definition: volprocattrib.h:60
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
static const char * sAttribName()
Definition: volprocattrib.h:68
virtual bool createAttrib(const BinIDValueSet &b, SeisTrcBuf &tb, TaskRunner *trans)
Definition: volprocattrib.h:80
executes the work for a single VolProc::Chain.
Definition: volprocchainexec.h:27
Holds the attribute data.
Definition: attribdataholder.h:43
Definition: volprocattrib.h:26
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:40
static uiHor3DInterpol * create(uiParent *)
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:30
static const char * attribName()
Definition: volprocattrib.h:31
set of seismic traces.
Definition: seisbuf.h:31
A Pos::IdxPairValueSet with BinIDs.
Definition: binidvalset.h:23
Provides the actual output to ...
Definition: attribprovider.h:44
Specifies an attribute selection (ID or output number of NN).
Definition: attribsel.h:45
static const char * sKeySetup()
Definition: volprocattrib.h:32
FixedString Chain()
Definition: keystrs.h:45
Compound key consisting of ints.
Definition: multiid.h:25
static void initClass()
Semblance Attribute.
Definition: attribdataholder.h:25

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