OpendTect  6.3
stratlayseqattrib.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: Bert
8  Date: Jan 2011
9 ________________________________________________________________________
10 
11 
12 -*/
13 
14 #include "stratmod.h"
15 #include "namedobj.h"
16 #include "enums.h"
17 #include "uistring.h"
18 #include "bufstringset.h"
19 #include "od_iosfwd.h"
20 class PropertyRef;
21 
22 
23 namespace Strat
24 {
25 class LaySeqAttribSet;
26 
37 public:
38 
39  enum Transform { Pow, Log, Exp };
41 
43  const char* nm=0 )
44  : NamedObject(nm)
45  , set_(&s), prop_(p)
46  , islocal_(false)
47  , transform_(Pow)
48  , transformval_(mUdf(float)) {}
49 
50  const PropertyRef& prop_;
51  bool islocal_;
52  BufferString stat_; // either Stats::Type or Stats::UpscaleType
53 
54  // non-local only
57 
60  inline bool hasTransform() const
61  { return !mIsUdf(transformval_); }
62 
63  static const char* sKeyIsLocal() { return "Local"; }
64  static const char* sKeyStats() { return "Statistics"; }
65  static const char* sKeyUnits() { return "Units"; }
66  static const char* sKeyLithos() { return "Lithologies"; }
67  static const char* sKeyTransform() { return "Transform"; }
68 
69  LaySeqAttribSet& attrSet() { return *set_; }
70  const LaySeqAttribSet& attrSet() const { return *set_; }
71  void setAttrSet( LaySeqAttribSet& s ) { set_ = &s; }
72 
73 protected:
74 
76 
77 };
78 
79 
92 public:
93 
94  LaySeqAttribSet( const char* nm=0 )
95  : NamedObject(nm) {}
96 
97  LaySeqAttrib& attr( int idx ) { return *(*this)[idx]; }
98  const LaySeqAttrib& attr( int idx ) const { return *(*this)[idx]; }
99  LaySeqAttrib* attr( const char* nm ) { return gtAttr(nm); }
100  const LaySeqAttrib* attr( const char* nm ) const { return gtAttr(nm); }
101 
102  void getFrom(const IOPar&);
103  void putTo(IOPar&) const;
104  bool getFrom(od_istream&);
105  bool putTo(od_ostream&) const;
106 
107 protected:
108 
109  LaySeqAttrib* gtAttr(const char*) const;
110 
111 };
112 
113 
114 }; // namespace Strat
#define mExpClass(module)
Definition: commondefs.h:157
#define mIsUdf(val)
Use mIsUdf to check for undefinedness of simple types.
Definition: undefval.h:285
LaySeqAttribSet * set_
Definition: stratlayseqattrib.h:75
Transform
Definition: stratlayseqattrib.h:39
OD class for stream write common access to the user log file, or std::cout in batch progs...
Definition: od_ostream.h:25
void setAttrSet(LaySeqAttribSet &s)
Definition: stratlayseqattrib.h:71
LaySeqAttrib * attr(const char *nm)
Definition: stratlayseqattrib.h:99
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
Ref Data for a (usually petrophysical) property.
Definition: propertyref.h:40
static const char * sKeyIsLocal()
Definition: stratlayseqattrib.h:63
Definition: file.h:109
attribs to extract from layer sequences
Definition: stratlayseqattrib.h:89
Transform transform_
Definition: stratlayseqattrib.h:58
Set of BufferString objects.
Definition: bufstringset.h:25
#define mDeclareEnumUtils(enm)
Some utilities surrounding the often needed enum <-> string table.
Definition: enums.h:188
OD class for stream read.
Definition: od_istream.h:23
LaySeqAttribSet & attrSet()
Definition: stratlayseqattrib.h:69
const LaySeqAttrib * attr(const char *nm) const
Definition: stratlayseqattrib.h:100
static const char * sKeyTransform()
Definition: stratlayseqattrib.h:67
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
bool hasTransform() const
Definition: stratlayseqattrib.h:60
static const char * sKeyStats()
Definition: stratlayseqattrib.h:64
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:270
const LaySeqAttrib & attr(int idx) const
Definition: stratlayseqattrib.h:98
static const char * sKeyUnits()
Definition: stratlayseqattrib.h:65
BufferStringSet units_
Definition: stratlayseqattrib.h:55
Stratigraphy.
Definition: stratlevel.h:25
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
object with a name.
Definition: namedobj.h:20
BufferString stat_
Definition: stratlayseqattrib.h:52
float Exp(float)
LaySeqAttribSet(const char *nm=0)
Definition: stratlayseqattrib.h:94
bool islocal_
Definition: stratlayseqattrib.h:51
LaySeqAttrib & attr(int idx)
Definition: stratlayseqattrib.h:97
attrib to extract from layer sequences
Definition: stratlayseqattrib.h:35
const LaySeqAttribSet & attrSet() const
Definition: stratlayseqattrib.h:70
ObjectSet where the objects contained are owned by this set.
Definition: manobjectset.h:49
float transformval_
Definition: stratlayseqattrib.h:59
BufferStringSet liths_
Definition: stratlayseqattrib.h:56
static const char * sKeyLithos()
Definition: stratlayseqattrib.h:66

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