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

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