OpendTect  6.6
hdf5writerimpl.h
Go to the documentation of this file.
1 #pragma once
2 /*+
3 ________________________________________________________________________
4 
5  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
6  Author: Bert
7  Date: Feb 2018
8 ________________________________________________________________________
9 
10 -*/
11 
12 #include "hdf5common.h"
13 #include "hdf5accessimpl.h"
14 #include "hdf5writer.h"
15 
16 
17 namespace HDF5
18 {
19 
20 mExpClass(ODHDF5) WriterImpl : public Writer
21  , public AccessImpl
23 public:
24 
25  WriterImpl();
26  virtual ~WriterImpl();
27 
28 private:
29 
30  Reader* createCoupledReader() const override;
31 
32  void setCompressionLevel( unsigned lvl ) override
33  { compressionlvl_ = lvl; }
34 
35  const char* fileName() const override { return gtFileName(); }
36  void openFile(const char*,uiRetVal&,bool) override;
37  void closeFile() override { doCloseFile(*this); }
38 
39  DataSetKey scope() const override { return gtScope(); }
40  od_int64 curGroupID() const override { return gtGroupID(); }
41  H5::H5Object* setScope( const DataSetKey* dsky ) override
42  { return stScope( dsky ); }
43  H5::H5Object* getScope( const DataSetKey* dsky ) const override
44  { return stScope( dsky ); }
45  H5::Group* setGrpScope( const DataSetKey* dsky ) override
46  { return stGrpScope( dsky ); }
47  H5::Group* getGrpScope( const DataSetKey* dsky ) const override
48  { return stGrpScope( dsky ); }
49  H5::DataSet* setDSScope( const DataSetKey& dsky ) override
50  { return stDSScope( dsky ); }
51  H5::DataSet* getDSScope( const DataSetKey& dsky ) const override
52  { return stDSScope( dsky ); }
53 
54  H5::Group* ensureGroup(const char*,uiRetVal&) override;
56  uiRetVal&) override;
57  H5::DataSet* crTxtDS(const DataSetKey&,uiRetVal&) override;
59  uiRetVal&) override;
60 
61  void ptSlab(const SlabSpec&,const void*,H5::DataSet&,
62  uiRetVal&) override;
63  void ptAll(const void*,H5::DataSet&,uiRetVal&) override;
64  void ptStrings(const BufferStringSet&,H5::Group&,
65  H5::DataSet*,const char* dsnm,
66  uiRetVal&) override;
67 
68  void setAttribute(const char* ky,const char* val,
69  const DataSetKey* =nullptr) override;
70  void setAttribute(const char* ky,const char* val,
71  H5::H5Object&);
72 #define mHDF5DeclFns(fnnm,type) \
73  void fnnm##Attribute(const char*,type, \
74  const DataSetKey* =nullptr) override;
81  mHDF5DeclFns(set,float);
82  mHDF5DeclFns(set,double);
83 #undef mHDF5DeclFns
84  void rmAttrib(const char*,H5::H5Object&) override;
85  void rmAllAttribs(H5::H5Object&) override;
86  void ptInfo(const IOPar&,H5::H5Object&,uiRetVal&) override;
87 
88  bool rmObj(const DataSetKey&) override;
89 
90  void setChunkSize(int) override {}
91  void setEditableCreation(bool) override {}
92 
93  unsigned compressionlvl_ = 1;
94 
95 };
96 
97 } // namespace HDF5
od_uint64
#define od_uint64
Definition: plftypes.h:36
HDF5::WriterImpl::setDSScope
H5::DataSet * setDSScope(const DataSetKey &dsky) override
Definition: hdf5writerimpl.h:49
ArrayNDInfo
Contains the information about the size of ArrayND, and in what order the data is stored (if accessab...
Definition: arrayndinfo.h:25
HDF5::WriterImpl::ptStrings
void ptStrings(const BufferStringSet &, H5::Group &, H5::DataSet *, const char *dsnm, uiRetVal &) override
HDF5::WriterImpl::getDSScope
H5::DataSet * getDSScope(const DataSetKey &dsky) const override
Returns (new) scope. null for root scope.
Definition: hdf5writerimpl.h:51
HDF5::WriterImpl::rmObj
bool rmObj(const DataSetKey &) override
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
HDF5::WriterImpl::ptSlab
void ptSlab(const SlabSpec &, const void *, H5::DataSet &, uiRetVal &) override
HDF5::WriterImpl::reSzDS
void reSzDS(const ArrayNDInfo &, H5::DataSet &, uiRetVal &) override
od_int64
#define od_int64
Definition: plftypes.h:35
HDF5::Writer
writes to HDF5 file
Definition: hdf5writer.h:43
hdf5common.h
HDF5::Reader
Reads HDF5 file data.
Definition: hdf5reader.h:34
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
HDF5
Definition: hdf5access.h:22
HDF5::WriterImpl::setChunkSize
void setChunkSize(int) override
Definition: hdf5writerimpl.h:90
HDF5::WriterImpl::rmAllAttribs
void rmAllAttribs(H5::H5Object &) override
sKey::DataSet
FixedString DataSet()
Definition: keystrs.h:56
uiRetVal
Definition: uistringset.h:105
HDF5::WriterImpl::setCompressionLevel
void setCompressionLevel(unsigned lvl) override
< For normal 'create', use 'open()
Definition: hdf5writerimpl.h:32
HDF5::WriterImpl::setGrpScope
H5::Group * setGrpScope(const DataSetKey *dsky) override
Definition: hdf5writerimpl.h:45
HDF5::WriterImpl::rmAttrib
void rmAttrib(const char *, H5::H5Object &) override
mODTextTranslationClass
#define mODTextTranslationClass(clss)
Definition: uistring.h:40
mHDF5DeclFns
#define mHDF5DeclFns(fnnm, type)
Definition: hdf5writerimpl.h:72
HDF5::WriterImpl::getScope
H5::H5Object * getScope(const DataSetKey *dsky) const override
Definition: hdf5writerimpl.h:43
HDF5::WriterImpl::getGrpScope
H5::Group * getGrpScope(const DataSetKey *dsky) const override
Definition: hdf5writerimpl.h:47
HDF5::WriterImpl::createCoupledReader
Reader * createCoupledReader() const override
HDF5::WriterImpl::closeFile
void closeFile() override
Definition: hdf5writerimpl.h:37
od_int16
#define od_int16
Definition: plftypes.h:26
hdf5accessimpl.h
HDF5::WriterImpl::crTxtDS
H5::DataSet * crTxtDS(const DataSetKey &, uiRetVal &) override
HDF5::WriterImpl::setEditableCreation
void setEditableCreation(bool) override
Definition: hdf5writerimpl.h:91
HDF5::WriterImpl::~WriterImpl
virtual mODTextTranslationClass(Writer) public ~WriterImpl()
od_uint16
#define od_uint16
Definition: plftypes.h:27
Conv::set
void set(T &_to, const F &fr)
template based type conversion
Definition: convert.h:27
HDF5::WriterImpl::ptInfo
void ptInfo(const IOPar &, H5::H5Object &, uiRetVal &) override
HDF5::WriterImpl::ensureGroup
H5::Group * ensureGroup(const char *, uiRetVal &) override
Creates a new group if necessary.
HDF5::WriterImpl::openFile
void openFile(const char *, uiRetVal &, bool) override
HDF5::WriterImpl::curGroupID
od_int64 curGroupID() const override
Definition: hdf5writerimpl.h:40
HDF5::WriterImpl::setAttribute
void setAttribute(const char *ky, const char *val, const DataSetKey *=nullptr) override
OD::DataRepType
DataRepType
Definition: commontypes.h:49
od_int32
#define od_int32
Definition: plftypes.h:30
HDF5::WriterImpl
Definition: hdf5writerimpl.h:22
hdf5writer.h
HDF5::WriterImpl::setAttribute
void setAttribute(const char *ky, const char *val, H5::H5Object &)
HDF5::WriterImpl::fileName
const char * fileName() const override
Definition: hdf5writerimpl.h:35
HDF5::WriterImpl::scope
DataSetKey scope() const override
Definition: hdf5writerimpl.h:39
HDF5::DataSetKey
Definition: hdf5access.h:42
HDF5::WriterImpl::ptAll
void ptAll(const void *, H5::DataSet &, uiRetVal &) override
od_uint32
#define od_uint32
Definition: plftypes.h:31
HDF5::AccessImpl
brief Mixin for common stuff
Definition: hdf5accessimpl.h:25
HDF5::WriterImpl::crDS
H5::DataSet * crDS(const DataSetKey &, const ArrayNDInfo &, ODDataType, uiRetVal &) override
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
HDF5::WriterImpl::setScope
H5::H5Object * setScope(const DataSetKey *dsky) override
Definition: hdf5writerimpl.h:41
HDF5::SlabSpec
Definition: hdf5access.h:109

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