OpendTect  6.6
cbvsio.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: A.H.Bril
8  Date: 12-3-2001
9  Contents: Common Binary Volume Storage format io
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "generalmod.h"
16 #include "position.h"
17 #include "posinfo.h"
18 #include "bufstringset.h"
19 
20 
28 mExpClass(General) CBVSIO
29 {
30 public:
31 
33  : errmsg_(0), strmclosed_(false), nrxlines_(1)
34  , nrcomps_(0), cnrbytes_(0) {}
35  virtual ~CBVSIO();
36 
37  bool failed() const { return errmsg_; }
38  const char* errMsg() const { return errmsg_; }
39 
40  virtual void close() = 0;
41  int nrComponents() const { return nrcomps_; }
42  const BinID& binID() const { return curbinid_; }
43  void setErrMsg( const char* s ) { errmsg_ = s; }
44 
45  static const int integersize;
46  static const int version;
47  static const int headstartbytes;
48 
49  enum CoordPol { InAux=0, InTrailer=1, NotStored=2 };
50 
51 protected:
52 
53  const char* errmsg_;
54  int* cnrbytes_;
55  int nrcomps_;
57  int nrxlines_;
61 
62  mutable BinID curbinid_;
63 
64 };
65 
66 
72 {
73 public:
74 
75  CBVSIOMgr( const char* basefname )
76  : curnr_(0)
77  , basefname_(basefname) {}
78  virtual ~CBVSIOMgr();
79 
80  inline bool failed() const { return errMsg(); }
81  inline const char* errMsg() const
82  { return errmsg_.isEmpty() ? errMsg_() : errmsg_.str();}
83 
84  virtual void close() = 0;
85 
86  virtual int nrComponents() const = 0;
87  virtual const BinID& binID() const = 0;
88 
89  inline BufferString getFileName( int nr ) const
90  { return getFileName(basefname_,nr); }
91 
92  static BufferString baseFileName(const char*);
93  static BufferString getFileName(const char*,int);
95  static int getFileNr(const char*);
97 
98 protected:
99 
103  int curnr_;
104 
105  virtual const char* errMsg_() const = 0;
106 
107  mClass(General) AuxInlInf
108  {
109  public:
110  AuxInlInf( int i ) : inl(i), cumnrxlines(0) {}
111 
112  int inl;
115  };
116 
117 };
118 
119 
CBVSIO::cnrbytes_
int * cnrbytes_
Definition: cbvsio.h:54
CBVSIO::CBVSIO
CBVSIO()
Definition: cbvsio.h:32
PosInfo::CubeData
Position info for an entire 3D cube. The LineData's are not sorted.
Definition: posinfo.h:95
CBVSIOMgr
Base class for CBVS read and write manager.
Definition: cbvsio.h:72
CBVSIOMgr::failed
bool failed() const
Definition: cbvsio.h:80
CBVSIOMgr::errMsg_
virtual const char * errMsg_() const =0
MPE::errMsg
const char * errMsg() const
Definition: horizontracker.h:60
CBVSIO::curbinid_
BinID curbinid_
Definition: cbvsio.h:62
CBVSIO::CoordPol
CoordPol
Definition: cbvsio.h:49
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
CBVSIOMgr::getFileNr
static int getFileNr(const char *)
returns 0 or number behind '^'
CBVSIOMgr::getFileName
static BufferString getFileName(const char *, int)
returns aux file name for negative nr
CBVSIO::nrxlines_
int nrxlines_
Definition: cbvsio.h:57
CBVSIO::nrcomps_
int nrcomps_
Definition: cbvsio.h:55
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
CBVSIO::nrComponents
int nrComponents() const
Definition: cbvsio.h:41
CBVSIOMgr::AuxInlInf::inl
int inl
Definition: cbvsio.h:112
CBVSIO::errMsg
const char * errMsg() const
Definition: cbvsio.h:38
CBVSIOMgr::binID
virtual const BinID & binID() const =0
CBVSIOMgr::nrComponents
virtual int nrComponents() const =0
CBVSIOMgr::AuxInlInf::cumnrxlines
int cumnrxlines
Definition: cbvsio.h:113
CBVSIO::binID
const BinID & binID() const
Definition: cbvsio.h:42
CBVSIO::coordpol_
CoordPol coordpol_
Definition: cbvsio.h:58
CBVSIOMgr::errmsg_
BufferString errmsg_
Definition: cbvsio.h:101
CBVSIOMgr::AuxInlInf::xlines
TypeSet< int > xlines
Definition: cbvsio.h:114
CBVSIOMgr::errMsg
const char * errMsg() const
Definition: cbvsio.h:81
CBVSIO::close
virtual void close()=0
CBVSIO::failed
bool failed() const
Definition: cbvsio.h:37
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
CBVSIOMgr::getFileName
BufferString getFileName(int nr) const
Definition: cbvsio.h:89
CBVSIOMgr::AuxInlInf::AuxInlInf
AuxInlInf(int i)
Definition: cbvsio.h:110
OD::String::str
const char * str() const
Definition: odstring.h:47
CBVSIOMgr::close
virtual void close()=0
posinfo.h
mClass
#define mClass(module)
Definition: commondefs.h:181
CBVSIO::setErrMsg
void setErrMsg(const char *s)
Definition: cbvsio.h:43
CBVSIOMgr::fnames_
BufferStringSet fnames_
Definition: cbvsio.h:102
CBVSIOMgr::~CBVSIOMgr
virtual ~CBVSIOMgr()
CBVSIO::errmsg_
const char * errmsg_
Definition: cbvsio.h:53
OD::String::isEmpty
bool isEmpty() const
Definition: odstring.h:50
CBVSIO::integersize
static const int integersize
Definition: cbvsio.h:45
position.h
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
CBVSIOMgr::AuxInlInf
Definition: cbvsio.h:108
CBVSIOMgr::basefname_
BufferString basefname_
Definition: cbvsio.h:100
bufstringset.h
CBVSIO::headstartbytes
static const int headstartbytes
Definition: cbvsio.h:47
MPE::errmsg_
BufferString errmsg_
Definition: horizontracker.h:118
CBVSIO
Base class for CBVS reader and writer.
Definition: cbvsio.h:29
CBVSIO::version
static const int version
Definition: cbvsio.h:46
CBVSIO::trailercoords_
TypeSet< Coord > trailercoords_
Definition: cbvsio.h:59
CBVSIOMgr::CBVSIOMgr
CBVSIOMgr(const char *basefname)
Definition: cbvsio.h:75
CBVSIO::lds_
PosInfo::CubeData lds_
Definition: cbvsio.h:60
CBVSIOMgr::curnr_
int curnr_
Definition: cbvsio.h:103
CBVSIO::~CBVSIO
virtual ~CBVSIO()
CBVSIO::strmclosed_
bool strmclosed_
Definition: cbvsio.h:56
TypeSet< Coord >
CBVSIOMgr::baseFileName
static BufferString baseFileName(const char *)

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