OpendTect  6.3
zdomain.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: Nanne Hemstra & K. Tingdahl
8  Date: April 2009 / Aug 2010
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "basicmod.h"
14 #include "bufstring.h"
15 #include "uistring.h"
16 
17 
18 namespace ZDomain
19 {
20 
21 class Def;
22 
23 mGlobal(Basic) const Def& SI();
24 mGlobal(Basic) const Def& Depth();
25 mGlobal(Basic) const Def& Time();
26 
27 mGlobal(Basic) bool isSI(const IOPar&);
28 mGlobal(Basic) bool isDepth(const IOPar&);
29 mGlobal(Basic) bool isTime(const IOPar&);
30 mGlobal(Basic) void setSI(IOPar&);
31 mGlobal(Basic) void setDepth(IOPar&);
32 mGlobal(Basic) void setTime(IOPar&);
33 
34 
39 mExpClass(Basic) Def
40 {
41 public:
42 
43  static const Def& get(const char*);
44  static const Def& get(const IOPar&);
45  void set(IOPar&) const;
46 
47  const char* key() const { return key_; }
48  uiString userName() const { return usrnm_; }
49  int userFactor() const { return usrfac_; }
50 
51  uiString getLabel() const;
53  uiString getRange() const;
55 
56  const char* fileUnitStr(bool withparens=false) const;
57  //In case of depth, ft or m will come from SurvInfo
58  uiString unitStr(bool withparens=false) const;
59 
60  bool isSI() const;
61  bool isTime() const;
62  bool isDepth() const;
63 
64  const char* entityStr() const { return isTime() ? "t" : "d"; }
65 
66  bool operator==( const Def& def ) const
67  { return key_ == def.key_; }
68  bool operator!=( const Def& def ) const
69  { return !(*this==def); }
70 
71  // For plugins:
72  Def( const char* ky, const uiString& usrnm,
73  const char* defun, int usrfac=1 )
74  : key_(ky), usrnm_(usrnm)
75  , defunit_(defun), usrfac_(usrfac) {}
76  static bool add(Def*);
77 
78 protected:
79 
83  int usrfac_; // usually 1 or 1000, not FeetFac
84 
85 public:
86 
87  mDeprecated uiString uiUnitStr( bool wp=false ) const
88  { return unitStr( wp ); }
89 };
90 
91 
97 {
98 public:
99  Info(const Def&);
100  Info(const Info&);
101  Info(const IOPar&);
102  ~Info();
103 
104  const Def& def_;
106 
107  bool hasID() const;
108  const char* getID() const;
109  void setID(const char*);
110 
111  bool isCompatibleWith(const ZDomain::Info&) const;
112  bool isCompatibleWith(const IOPar&) const;
113 
114  // Convenience
115  const char* key() const { return def_.key(); }
116  uiString userName() const { return def_.userName(); }
117  const char* fileUnitStr(bool wp=false) const
118  { return def_.fileUnitStr(wp); }
119  uiString unitStr(bool wp=false) const
120  { return def_.unitStr(wp); }
121  uiString getLabel() const { return def_.getLabel(); }
122  int userFactor() const { return def_.userFactor(); }
123 
124 
125  mDeprecated uiString uiUnitStr(bool wp=false) const
126  { return def_.unitStr(wp); }
127 
128 };
129 
130 mGlobal(Basic) const char* sKey();
131 mGlobal(Basic) const char* sKeyTime();
132 mGlobal(Basic) const char* sKeyDepth();
133 
134 } // namespace ZDomain
#define mExpClass(module)
Definition: commondefs.h:157
const Def & Depth()
Definition: keystrs.h:58
uiString uiUnitStr(bool wp=false) const
Definition: zdomain.h:87
IOPar & pars_
Definition: zdomain.h:105
uiString userName() const
Definition: zdomain.h:116
const char * sKey()
#define mGlobal(module)
Definition: commondefs.h:160
int userFactor() const
Definition: zdomain.h:122
const char * fileUnitStr(bool wp=false) const
Definition: zdomain.h:117
const char * fileUnitStr(bool withparens=false) const
uiString getLabel() const
Definition: zdomain.h:121
Definition: uistring.h:88
uiString userName() const
Definition: zdomain.h:48
void setDepth(IOPar &)
uiString uiUnitStr(bool wp=false) const
Definition: zdomain.h:125
const char * sKeyDepth()
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
const char * key() const
Definition: zdomain.h:47
const char * key() const
Definition: zdomain.h:115
bool isDepth(const IOPar &)
const Def & Time()
Definition: keystrs.h:129
bool isSI(const IOPar &)
void setSI(IOPar &)
const char * sKeyTime()
uiString usrnm_
Definition: zdomain.h:82
void setTime(IOPar &)
const char * entityStr() const
Definition: zdomain.h:64
const Def & def_
Definition: zdomain.h:104
bool operator==(const Def &def) const
Definition: zdomain.h:66
#define mDeprecated
Definition: plfdefs.h:213
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
const Def & SI()
bool isTime(const IOPar &)
uiString getLabel() const
Username and unit.
Def(const char *ky, const uiString &usrnm, const char *defun, int usrfac=1)
Definition: zdomain.h:72
bool operator!=(const Def &def) const
Definition: zdomain.h:68
int userFactor() const
Definition: zdomain.h:49
BufferString key_
Definition: zdomain.h:80
int usrfac_
Definition: zdomain.h:83
BufferString defunit_
Definition: zdomain.h:81
uiString unitStr(bool withparens=false) const
Definition of z-domain.
Definition: zdomain.h:39
uiString unitStr(bool wp=false) const
Definition: zdomain.h:119
Information of z-domain.
Definition: zdomain.h:96
Definition: zdomain.h:18

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