OpendTect-6_4  6.4
segydirect2d.h
Go to the documentation of this file.
1 #ifndef segydirect2d_h
2 #define segydirect2d_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Raman Singh
9  Date: Dec 2014
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "seismod.h"
16 #include "survgeometrytransl.h"
17 #include "seis2dlineio.h"
18 #include "uistring.h"
19 
20 class SeisTrc;
22 
23 namespace PosInfo { class Line2DData; }
24 
25 
27 {
28 public:
29 
31 
32  bool isEmpty(const IOObj&,Pos::GeomID) const;
33 
34  bool getGeomIDs(const IOObj&,TypeSet<Pos::GeomID>&) const;
35  bool getGeometry(const IOObj&,Pos::GeomID,
36  PosInfo::Line2DData&) const;
37  Executor* getFetcher(const IOObj&,Pos::GeomID,SeisTrcBuf&,int,
38  const Seis::SelData* sd=0);
39  Seis2DLinePutter* getPutter(const IOObj& obj,Pos::GeomID);
40 
41  bool getTxtInfo(const IOObj&,Pos::GeomID,BufferString&,
42  BufferString&) const;
43  bool getRanges(const IOObj&,Pos::GeomID,StepInterval<int>&,
44  StepInterval<float>&) const;
45 
46  bool removeImpl(const IOObj&,Pos::GeomID) const;
47  bool renameImpl(const IOObj&,const char*) const;
48 
49  static const OD::String& getFileName(const IOObj&,Pos::GeomID);
50 
51 private:
52 
53  static int factid_;
54 };
55 
56 
59 public:
60 
63 
64  uiString errMsg() const { return errmsg_;}
65  int nrWritten() const { return nrwr_; }
66  bool put(const SeisTrc&);
67  bool close();
68 
69  int nrwr_;
75 
76 };
77 
78 
80 {
81 public:
82  SEGYDirect2DLineGetter(const char* fnm,SeisTrcBuf&,
83  int trcsperstep,
84  const Seis::SelData&);
86 
87  od_int64 nrDone() const { return curnr_; }
88  od_int64 totalNr() const { return totnr_; }
89 
90  const SeisTrcTranslator* translator() const;
91 
92 protected:
93 
94  void addTrc(SeisTrc*);
95  int nextStep();
96 
97  int curnr_;
98  int totnr_;
101  const int trcsperstep_;
102 
103 };
104 
105 
107 {
108  isTranslator(SEGYDirect,SurvGeom2D);
109 public:
111  const char* s2)
112  : SurvGeom2DTranslator(s1,s2) {}
113 
114  Survey::Geometry* readGeometry(const IOObj&,uiString&) const;
115  bool writeGeometry(IOObj&,Survey::Geometry&,uiString&) const;
116  bool isUserSelectable(bool fr) const { return fr; }
117 
118  static const char* sKeySEGYDirectID();
119 
120 };
121 
122 #endif
#define mExpClass(module)
Definition: commondefs.h:160
Summary for a Seismic object.
Definition: segydirectdef.h:23
SEGYSeisTrcTranslator * tr_
Definition: segydirect2d.h:100
Definition: ioobj.h:58
static int factid_
Definition: segydirect2d.h:53
int totnr_
Definition: segydirect2d.h:98
DataCharacteristics::UserType preseldt_
Definition: segydirect2d.h:74
Definition: segydirect2d.h:79
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
Definition: survgeometrytransl.h:31
Definition: segydirect2d.h:106
#define od_int64
Definition: plftypes.h:36
uiString errMsg() const
Only when put or close returns false.
Definition: segydirect2d.h:64
const int trcsperstep_
Definition: segydirect2d.h:101
int nrWritten() const
Definition: segydirect2d.h:65
Definition: segytr.h:32
Position info for a 2D line.
Definition: posinfo2d.h:65
Definition: uistring.h:89
Definition: seistrctr.h:90
interface for object that writes 2D seismic data
Definition: seis2dlineio.h:41
SEGYSeisTrcTranslator * tr_
Definition: segydirect2d.h:72
encapsulates the read-access-only part of strings in OD.
Definition: odstring.h:31
bool isUserSelectable(bool fr) const
Definition: segydirect2d.h:116
contains input (sub-)selection data from a cube or lineset
Definition: seisselection.h:82
interface for object that reads 2D seismic data
Definition: seis2dlineio.h:60
Index_Type GeomID
Definition: commontypes.h:52
Position info, often segmented.
Definition: posinfo.h:40
Provides read/write to/from 2D seismic lines. Only interesting if you want to add your own 2D data I/...
Definition: seis2dlineio.h:87
BinID bid_
Definition: segydirect2d.h:73
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:40
int nrwr_
Definition: segydirect2d.h:69
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:30
Seismic trace.
Definition: seistrc.h:34
BufferString errmsg_
Definition: horizontracker.h:119
set of seismic traces.
Definition: seisbuf.h:31
BufferString fname_
Definition: segydirect2d.h:70
UserType
Definition: datachar.h:88
Definition: segydirect2d.h:26
BufferString fname_
Definition: segydirect2d.h:99
bool isEmpty(const NLAModel *mdl)
SEGYDirectSurvGeom2DTranslator(const char *s1, const char *s2)
Definition: segydirect2d.h:110
A Geometry which holds trace positions.
Definition: survgeom.h:40
int curnr_
Definition: segydirect2d.h:97
od_int64 nrDone() const
Definition: segydirect2d.h:87
Definition: segydirect2d.h:57
#define isTranslator(spec, clss)
Definition: transl.h:230
Specification to enable chunkwise execution of a process.
Definition: executor.h:39
uiString errmsg_
Definition: segydirect2d.h:71
od_int64 totalNr() const
Definition: segydirect2d.h:88

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