OpendTect-6_4  6.4
attribdataholder.h
Go to the documentation of this file.
1 #ifndef attribdataholder_h
2 #define attribdataholder_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Kristofer Tingdahl
9  Date: 07-10-1999
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "attributeenginemod.h"
16 #include "arrayndimpl.h"
17 #include "trckeyzsampling.h"
18 #include "refcount.h"
19 #include "samplingdata.h"
20 #include "sets.h"
21 #include "valseries.h"
22 
23 class SeisTrcInfo;
24 
25 namespace Attrib
26 {
27 
43 mExpClass(AttributeEngine) DataHolder
44 {
45 public:
46  DataHolder( int z0, int nrsamples );
47  ~DataHolder();
48 
49  DataHolder* clone() const;
50  ValueSeries<float>* add(bool addnull=false);
52 
53  int nrSeries() const { return data_.size(); }
54  inline ValueSeries<float>* series( int idx ) const { return gtSer(idx); }
55  void replace(int idx,ValueSeries<float>*);
56  bool dataPresent(int samplenr) const;
57  TypeSet<int> validSeriesIdx() const;
58  float getValue(int serieidx,float exactz,float refstep) const;
59 
60  inline bool isEmpty() const { return nrSeries() == 0; }
61  static float getExtraZFromSampPos(float,float);
62  static float getExtraZAndSampIdxFromExactZ(float,float,int&);
63 
64  int z0_;
67  TypeSet<int> classstatus_; //each series can have a different status
68  // -1 Unknown
69  // 0 Interpolate
70  // 1 Classification
71 protected:
72 
74  ValueSeries<float>* gtSer(int idx) const;
75 };
76 
77 
82 mExpClass(AttributeEngine) Data2DHolder
83 { mRefCountImpl(Data2DHolder);
84 public:
85 
86  inline int size() const { return dataset_.size(); }
87  TrcKeyZSampling getTrcKeyZSampling() const;
88  int getDataHolderIndex(int) const;
96  inline bool isEmpty() const { return size() == 0; }
97 };
98 
99 
104 mExpClass(AttributeEngine) Data2DArray
105 { mRefCountImpl(Data2DArray);
106 public:
107  Data2DArray(const Data2DHolder&);
108 
109  bool isOK() const;
110 
111  int indexOf(int tracenr) const;
112 
113  int nrTraces() const;
114  bool isEmpty() const { return !nrTraces(); }
115 
119 };
120 
121 
122 }; //Namespace
123 
124 
125 #endif
#define mRefCountImpl(ClassName)
Macro to setup a class with destructor for reference counting.
Definition: refcount.h:163
#define mExpClass(module)
Definition: commondefs.h:160
TypeSet< int > classstatus_
Definition: attribdataholder.h:67
ValueSeries< float > * series(int idx) const
Definition: attribdataholder.h:54
float extrazfromsamppos_
See class comments.
Definition: attribdataholder.h:66
bool isEmpty() const
Definition: attribdataholder.h:114
ObjectSet< ValueSeries< float > > data_
Definition: attribdataholder.h:73
Class that holds 2d seismic data or attribute data.
Definition: attribdataholder.h:82
bool isEmpty() const
Definition: attribdataholder.h:60
Class that holds 2d seismic data or attribute data in an array.
Definition: attribdataholder.h:104
ObjectSet< T >::size_type indexOf(const ObjectSet< T > &os, const S &val)
Locate object in set.
Definition: objectset.h:169
int nrsamples_
Definition: attribdataholder.h:65
Set of pointers to objects.
Definition: commontypes.h:32
bool isEmpty() const
Definition: attribdataholder.h:96
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
ObjectSet< SeisTrcInfo > trcinfoset_
Definition: attribdataholder.h:117
Information for a seismic trace, AKA trace header info.
Definition: seisinfo.h:27
ObjectSet< DataHolder > dataset_
Definition: attribdataholder.h:89
int z0_
See class comments.
Definition: attribdataholder.h:64
Holds the attribute data.
Definition: attribdataholder.h:43
Array3DImpl< float > * dataset_
Definition: attribdataholder.h:116
ObjectSet< SeisTrcInfo > trcinfoset_
Definition: attribdataholder.h:92
int size() const
Definition: attribdataholder.h:86
int nrSeries() const
Definition: attribdataholder.h:53
TrcKeyZSampling cubesampling_
Definition: attribdataholder.h:118
Semblance Attribute.
Definition: attribdataholder.h:25

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