OpendTect  6.3
waveletio.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: July 2016
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "seiscommon.h"
14 #include "saveable.h"
15 #include "wavelet.h"
16 #include "transl.h"
17 #include "tableascio.h"
18 #include "ptrman.h"
19 
20 
24 { mODTextTranslationClass(WaveletLoader)
25 public:
26 
27  WaveletLoader(const DBKey&);
28  WaveletLoader(const IOObj*);
29  ~WaveletLoader();
30 
31  uiRetVal load();
32 
33 protected:
34 
36 
37 public:
38 
39  uiRetVal read(Wavelet*&);
40  bool addToMGR(Wavelet*,const DBKey&);
41 
42 };
43 
44 
49 public:
50 
51  WaveletSaver(const Wavelet&);
53  ~WaveletSaver();
54 
55  ConstRefMan<Wavelet> wavelet() const;
56  void setWavelet(const Wavelet&);
57 
59 
60 protected:
61 
62  virtual uiRetVal doStore(const IOObj&) const;
63 
64 };
65 
66 
67 
71 public:
73 
74  const char* defExtension() const { return "wvlt"; }
75 };
76 
79 public:
81 
82  virtual bool read(Wavelet*,Conn&) = 0;
83  virtual bool write(const Wavelet*,Conn&) = 0;
84 
85 };
86 
87 
89 { isTranslator(dgb,Wavelet)
90 public:
92 
93  bool read(Wavelet*,Conn&);
94  bool write(const Wavelet*,Conn&);
95 
96 };
97 
98 
99 mExpClass(Seis) WaveletAscIO : public Table::AscIO
101 public:
103  : Table::AscIO(fd) {}
104 
105  static Table::FormatDesc* getDesc();
106 
107  Wavelet* get(od_istream&) const;
108  bool put(od_ostream&) const;
109 
110 };
IOObj * ioobj_
Definition: waveletio.h:35
#define mExpClass(module)
Definition: commondefs.h:157
Seismics.
Definition: segydirectdef.h:20
OD class for stream write common access to the user log file, or std::cout in batch progs...
Definition: od_ostream.h:25
Definition: ioobj.h:57
WaveletAscIO(const Table::FormatDesc &fd)
Definition: waveletio.h:102
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
Saveable for Wavelet.
Definition: waveletio.h:47
Definition: wavelet.h:22
Definition: waveletio.h:77
description of input our output data content
Definition: tabledef.h:215
#define mDeclMonitorableAssignment(clss)
like mDeclAbstractMonitorableAssignment but for non-abstract subclasses. Implements the clone() metho...
Definition: monitor.h:111
#define mDefEmptyTranslatorConstructor(spec, clss)
Definition: transl.h:261
Object that can be saved at any time.
Definition: saveable.h:23
OD class for stream read.
Definition: od_istream.h:23
#define mDeclInstanceCreatedNotifierAccess(clss)
Definition: notify.h:235
Group of Translators. Has a static factory.
Definition: transl.h:54
Definition: geom2dascio.h:18
Definition: waveletio.h:88
mDefEmptyTranslatorGroupConstructor(Wavelet) const char *defExtension() const
Definition: waveletio.h:72
#define mDefEmptyTranslatorBaseConstructor(clss)
Definition: transl.h:255
Loader for Wavelet. Loads into WaveletMGR().
Definition: waveletio.h:23
I/O Interpreter class for a certain object type.
Definition: transl.h:122
Definition: conn.h:31
Definition: uistring.h:299
Definition: waveletio.h:68
Definition: waveletio.h:99
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
#define isTranslatorGroup(clss)
In the class definition of a TranslatorGroup class.
Definition: transl.h:188
#define isTranslator(spec, clss)
Definition: transl.h:224

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