OpendTect  6.3
segydirect2d.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: Raman Singh
8  Date: Dec 2014
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "seis2dlineio.h"
14 #include "survgeometrytransl.h"
15 #include "uistring.h"
16 
17 class SeisTrc;
19 
20 namespace PosInfo { class Line2DData; }
21 
22 
25 public:
26 
28 
29  bool isEmpty(const IOObj&,Pos::GeomID) const;
30 
31  uiRetVal getGeomIDs(const IOObj&,TypeSet<Pos::GeomID>&) const;
32  uiRetVal getGeometry(const IOObj&,Pos::GeomID,
33  PosInfo::Line2DData&) const;
34  Seis2DTraceGetter* getTraceGetter(const IOObj&,Pos::GeomID,
35  const Seis::SelData*,uiRetVal&);
36  Seis2DLineGetter* getLineGetter(const IOObj&,Pos::GeomID,SeisTrcBuf&,
37  const Seis::SelData*,uiRetVal&,int n=16);
38  Seis2DLinePutter* getPutter(const IOObj& obj,Pos::GeomID,uiRetVal&);
39 
40  bool getTxtInfo(const IOObj&,Pos::GeomID,BufferString&,
41  BufferString&) const;
42  bool getRanges(const IOObj&,Pos::GeomID,StepInterval<int>&,
43  StepInterval<float>&) const;
44 
45  bool removeImpl(const IOObj&,Pos::GeomID) const;
46  bool renameImpl(const IOObj&,const char*) const;
47 
48  static BufferString getFileName(const IOObj&,Pos::GeomID);
49 
50 private:
51 
52  static int factid_;
53 
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_;
103 
104 };
105 
106 
108 {
109  isTranslator(SEGYDirect,SurvGeom2D);
110 public:
112  const char* s2)
113  : SurvGeom2DTranslator(s1,s2) {}
114 
115  Survey::Geometry* readGeometry(const IOObj&,uiString&) const;
116  bool writeGeometry(IOObj&,Survey::Geometry&,uiString&) const;
117  bool isUserSelectable(bool fr) const { return fr; }
118 
119  static const char* sKeySEGYDirectID();
120 
121 };
#define mExpClass(module)
Definition: commondefs.h:157
Seismics.
Definition: segydirectdef.h:20
Pos::GeomID geomid_
Definition: segydirect2d.h:102
SEGYSeisTrcTranslator * tr_
Definition: segydirect2d.h:100
Definition: ioobj.h:57
static int factid_
Definition: segydirect2d.h:52
int totnr_
Definition: segydirect2d.h:98
DataCharacteristics::UserType preseldt_
Definition: segydirect2d.h:74
Definition: segydirect2d.h:79
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
Definition: survgeometrytransl.h:29
Definition: segydirect2d.h:107
#define od_int64
Definition: plftypes.h:34
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:28
FPDataRepType
Definition: commontypes.h:63
Position info for a 2D line.
Definition: posinfo2d.h:63
Definition: uistring.h:88
Definition: seistrctr.h:85
interface for object that writes 2D seismic data
Definition: seis2dlineio.h:38
SEGYSeisTrcTranslator * tr_
Definition: segydirect2d.h:72
Provides access to 2D seismic line data.
Definition: seis2dlineio.h:85
bool isUserSelectable(bool fr) const
Definition: segydirect2d.h:117
contains input (sub-)selection data from a cube or lineset
Definition: seisselection.h:78
interface for object that reads entire or parts of entire 2D lines.
Definition: seis2dlineio.h:57
Index_Type GeomID
Definition: commontypes.h:48
Position info, often segmented.
Definition: posinfo.h:38
Provides read/write to/from 2D seismic lines. Only interesting if you want to add your own 2D data I/...
Definition: seis2dlineio.h:125
BinID bid_
Definition: segydirect2d.h:73
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
int nrwr_
Definition: segydirect2d.h:69
bool isEmpty(const char *)
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
Seismic trace.
Definition: seistrc.h:31
BufferString errmsg_
Definition: horizontracker.h:117
Definition: uistring.h:299
set of seismic traces.
Definition: seisbuf.h:28
BufferString fname_
Definition: segydirect2d.h:70
Definition: segydirect2d.h:23
BufferString fname_
Definition: segydirect2d.h:99
SEGYDirectSurvGeom2DTranslator(const char *s1, const char *s2)
Definition: segydirect2d.h:111
A Geometry which holds trace positions.
Definition: survgeom.h:43
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:224
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. 2017