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

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