OpendTect  6.3
attribengman.h
Go to the documentation of this file.
1 #pragma once
2 /*+
3 ________________________________________________________________________
4 
5  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
6  Author: H.Payraudeau
7  Date: 04/2005
8 ________________________________________________________________________
9 
10 -*/
11 
12 #include "attributeenginemod.h"
13 #include "sets.h"
14 #include "ranges.h"
15 #include "bufstring.h"
16 #include "attribdescid.h"
17 #include "attribsel.h"
18 #include "uistring.h"
19 
20 class BinIDValueSet;
21 class BufferStringSet;
22 class DataPackMgr;
23 class TrcKeyZSampling;
24 class DataPointSet;
25 class Executor;
26 class NLAModel;
28 class SeisTrcBuf;
29 class SeisTrcInfo;
30 
31 namespace Attrib
32 {
33 class SeisTrcStorOutput;
34 class Desc;
35 class DescSet;
36 class Processor;
37 class Data2DHolder;
38 
43 mExpClass(AttributeEngine) EngineMan
45 public:
46  EngineMan();
47  virtual ~EngineMan();
48 
49  Processor* usePar(const IOPar&,DescSet&,
50  const char* linename,uiString&,int outputidx);
51 
52  static Processor* createProcessor(const DescSet&,const char*,
53  const DescID&,uiString& errmsg);
54  static void getPossibleVolume(DescSet&,TrcKeyZSampling&,
55  const char* linename,const DescID&);
56  static void addNLADesc(const char*,DescID&,DescSet&,int,
57  const NLAModel*,uiString&);
58 
59  SeisTrcStorOutput* createOutput(const IOPar&,Pos::GeomID,uiString&,
60  int outidx);
61 
62  const DescSet* attribSet() const { return inpattrset_; }
63  const NLAModel* nlaModel() const { return nlamodel_; }
64  const TrcKeyZSampling& cubeSampling() const { return tkzs_; }
65  Pos::GeomID getGeomID() const { return geomid_; }
66  float undefValue() const { return udfval_; }
67 
68  void setAttribSet(const DescSet*);
69  void setNLAModel(const NLAModel*);
70  void setAttribSpec(const SelSpec&);
71  void setAttribSpecs(const TypeSet<SelSpec>&);
72  void setTrcKeyZSampling(const TrcKeyZSampling&);
73  void setGeomID( const Pos::GeomID geomid )
74  { geomid_ = geomid; }
75  void setUndefValue( float v ) { udfval_ = v; }
76  DescSet* createNLAADS(DescID& outid,uiString& errmsg,
77  const DescSet* addtoset=0);
78  static DescID createEvaluateADS(DescSet&, const TypeSet<DescID>&,
79  uiString&);
80 
81  Processor* createDataPackOutput(uiString& errmsg,
82  const RegularSeisDataPack* cached_data=0);
85 
86  RefMan<RegularSeisDataPack> getDataPackOutput(const Processor&);
87  RefMan<RegularSeisDataPack> getDataPackOutput(
89 
90  Executor* createFeatureOutput(const BufferStringSet& inputs,
92 
93  Processor* createScreenOutput2D(uiString& errmsg,
94  Data2DHolder&);
95  Processor* createLocationOutput(uiString& errmsg,
97 
98  Processor* createTrcSelOutput(uiString& errmsg,
99  const BinIDValueSet& bidvalset,
100  SeisTrcBuf&, float outval=0,
101  Interval<float>* cubezbounds=0,
102  TypeSet<BinID>* trueknotspos=0,
103  TypeSet<BinID>* path=0);
104  Processor* create2DVarZOutput(uiString& errmsg,
105  const IOPar& pars,
106  DataPointSet* bidvalset,
107  float outval=0,
108  Interval<float>* cubezbounds = 0);
109  Processor* getTableOutExecutor(DataPointSet& datapointset,
110  uiString& errmsg,
111  int firstcol);
112  Executor* getTableExtractor(DataPointSet&,const Attrib::DescSet&,
113  uiString& errmsg,int firstcol =0,
114  bool needprep=true);
115  static bool ensureDPSAndADSPrepared(DataPointSet&,
116  const Attrib::DescSet&,
117  uiString& errmsg);
118  int getNrOutputsToBeProcessed(const Processor&) const;
119 
120  const char* getCurUserRef() const;
121  void computeIntersect2D(ObjectSet<BinIDValueSet>&) const;
122 
123  bool hasCache() const { return cache_; }
124 
125 protected:
126 
130  float udfval_;
133 
135 
139 
140  Processor* getProcessor(uiString& err);
141  void setExecutorName(Executor*);
142 
143 private:
144 
145  friend class AEMFeatureExtracter;//TODO will soon be removed
146  friend class AEMTableExtractor;
147 };
148 
149 } // namespace Attrib
Pos::GeomID geomid_
Definition: attribengman.h:131
#define mExpClass(module)
Definition: commondefs.h:157
Attribute Processor.
Definition: attribprocessor.h:32
Set of data points with group selection.
Definition: datapointset.h:47
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
void setUndefValue(float v)
Definition: attribengman.h:75
Minimum Interface for NLA models.
Definition: nlamodel.h:22
Pos::GeomID getGeomID() const
Definition: attribengman.h:65
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
Set of attribute descriptions.
Definition: attribdescset.h:29
AttribDesc ID: each Desc has a unique ID in a set; the boolean isstored allows us to know whether thi...
Definition: attribdescid.h:25
Class that holds 2d seismic data or attribute data.
Definition: attribdataholder.h:78
const RegularSeisDataPack * cache_
Definition: attribengman.h:134
VolumeDataPack for 2D and 3D seismic data.
Definition: seisdatapack.h:42
Seismic trace storage Output.
Definition: attriboutput.h:143
Definition: uistring.h:88
Set of BufferString objects.
Definition: bufstringset.h:25
DescSet * procattrset_
Definition: attribengman.h:136
The attribute engine manager.
Definition: attribengman.h:43
const DescSet * attribSet() const
Definition: attribengman.h:62
Manages DataPacks.
Definition: datapack.h:174
FixedString Desc()
Definition: keystrs.h:60
Set of (small) copyable elements.
Definition: commontypes.h:26
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
TypeSet< SelSpec > attrspecs_
Definition: attribengman.h:138
int curattridx_
Definition: attribengman.h:137
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:32
bool hasCache() const
Definition: attribengman.h:123
const NLAModel * nlamodel_
Definition: attribengman.h:128
Information for a seismic trace, AKA trace header info.
Definition: seisinfo.h:24
Index_Type GeomID
Definition: commontypes.h:48
float undefValue() const
Definition: attribengman.h:66
const DescSet * inpattrset_
Definition: attribengman.h:127
float udfval_
Definition: attribengman.h:130
set of seismic traces.
Definition: seisbuf.h:28
const NLAModel * nlaModel() const
Definition: attribengman.h:63
A Pos::IdxPairValueSet with BinIDs.
Definition: binidvalset.h:21
void setGeomID(const Pos::GeomID geomid)
Definition: attribengman.h:73
Specifies an attribute selection (ID or output number of NN).
Definition: attribsel.h:43
DataPackMgr & dpm_
Definition: attribengman.h:132
TrcKeyZSampling & tkzs_
Definition: attribengman.h:129
const TrcKeyZSampling & cubeSampling() const
Definition: attribengman.h:64
Semblance Attribute.
Definition: attribdataholder.h:21
Specification to enable chunkwise execution of a process.
Definition: executor.h:38

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