OpendTect  6.6
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  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "seismod.h"
15 #include "survgeometrytransl.h"
16 #include "seis2dlineio.h"
17 #include "uistring.h"
18 
19 class SeisTrc;
21 
22 namespace PosInfo { class Line2DData; }
23 
24 
26 {
27 public:
28 
30 
31  bool isEmpty(const IOObj&,Pos::GeomID) const;
32 
33  bool getGeomIDs(const IOObj&,TypeSet<Pos::GeomID>&) const;
35  PosInfo::Line2DData&) const;
37  const Seis::SelData* sd=0);
39 
41  BufferString&) const;
43  StepInterval<float>&) const;
44 
45  bool removeImpl(const IOObj&,Pos::GeomID) const;
46  bool renameImpl(const IOObj&,const char*) const;
47 
48  static const OD::String& getFileName(const IOObj&,Pos::GeomID);
49 
50 private:
51 
52  static int factid_;
53 };
54 
55 
58 public:
59 
62 
63  uiString errMsg() const { return errmsg_;}
64  int nrWritten() const { return nrwr_; }
65  bool put(const SeisTrc&);
66  bool close();
67 
68  int nrwr_;
74 
75 };
76 
77 
79 {
80 public:
82  int trcsperstep,
83  const Seis::SelData&);
85 
86  od_int64 nrDone() const { return curnr_; }
87  od_int64 totalNr() const { return totnr_; }
88 
89  const SeisTrcTranslator* translator() const;
90 
91 protected:
92 
93  void addTrc(SeisTrc*);
94  int nextStep();
95 
96  int curnr_;
97  int totnr_;
100  const int trcsperstep_;
101 
102 };
103 
104 
106 {
107  isTranslator(SEGYDirect,SurvGeom2D);
108 public:
110  const char* s2)
111  : SurvGeom2DTranslator(s1,s2) {}
112 
115  bool isUserSelectable(bool fr) const { return fr; }
116 
117  static const char* sKeySEGYDirectID();
118 
119 };
120 
SEGYDirectSurvGeom2DTranslator::writeGeometry
bool writeGeometry(IOObj &, Survey::Geometry &, uiString &) const
SEGYDirect2DLineGetter::SEGYDirect2DLineGetter
SEGYDirect2DLineGetter(const char *fnm, SeisTrcBuf &, int trcsperstep, const Seis::SelData &)
SEGYDirect2DLineGetter::addTrc
void addTrc(SeisTrc *)
SEGYDirectSurvGeom2DTranslator::readGeometry
Survey::Geometry * readGeometry(const IOObj &, uiString &) const
SEGYDirect2DLinePutter::nrwr_
int nrwr_
Definition: segydirect2d.h:68
SEGYDirect2DLineGetter::curnr_
int curnr_
Definition: segydirect2d.h:96
uistring.h
PosInfo::Line2DData
Position info for a 2D line.
Definition: posinfo2d.h:65
seis2dlineio.h
SEGYDirect2DLinePutter::put
bool put(const SeisTrc &)
Return fase on success, err msg on failure.
SEGYDirect2DLinePutter::bid_
BinID bid_
Definition: segydirect2d.h:72
SEGYDirect2DLinePutter::errmsg_
uiString errmsg_
Definition: segydirect2d.h:70
Seis
Summary for a Seismic object.
Definition: segydirectdef.h:22
SEGYDirect2DLinePutter::fname_
BufferString fname_
Definition: segydirect2d.h:69
SEGYDirectSurvGeom2DTranslator::sKeySEGYDirectID
static const char * sKeySEGYDirectID()
SEGYDirect2DLineIOProvider::getTxtInfo
bool getTxtInfo(const IOObj &, Pos::GeomID, BufferString &, BufferString &) const
od_int64
#define od_int64
Definition: plftypes.h:35
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
SEGYDirect2DLinePutter::nrWritten
int nrWritten() const
Definition: segydirect2d.h:64
SEGYDirect2DLineIOProvider::getFileName
static const OD::String & getFileName(const IOObj &, Pos::GeomID)
Seis2DLineIOProvider
Provides read/write to/from 2D seismic lines. Only interesting if you want to add your own 2D data I/...
Definition: seis2dlineio.h:91
SeisTrc
Seismic trace.
Definition: seistrc.h:34
Survey::Geometry
A Geometry which holds trace positions.
Definition: survgeom.h:40
SEGYDirect2DLineGetter::totnr_
int totnr_
Definition: segydirect2d.h:97
SEGYDirect2DLineIOProvider::getGeomIDs
bool getGeomIDs(const IOObj &, TypeSet< Pos::GeomID > &) const
SEGYDirect2DLineGetter::translator
const SeisTrcTranslator * translator() const
SEGYDirect2DLineIOProvider::getFetcher
Executor * getFetcher(const IOObj &, Pos::GeomID, SeisTrcBuf &, int, const Seis::SelData *sd=0)
SEGYSeisTrcTranslator
Definition: segytr.h:32
SEGYDirect2DLineIOProvider::isEmpty
bool isEmpty(const IOObj &, Pos::GeomID) const
Seis2DLinePutter
interface for object that writes 2D seismic data
Definition: seis2dlineio.h:41
SEGYDirect2DLineIOProvider::getRanges
bool getRanges(const IOObj &, Pos::GeomID, StepInterval< int > &, StepInterval< float > &) const
SeisTrcBuf
set of seismic traces.
Definition: seisbuf.h:31
SEGYDirect2DLineGetter::~SEGYDirect2DLineGetter
~SEGYDirect2DLineGetter()
SEGYDirectSurvGeom2DTranslator::isTranslator
isTranslator(SEGYDirect, SurvGeom2D)
SEGYDirect2DLineIOProvider
Definition: segydirect2d.h:26
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
StepInterval< int >
SEGYDirect2DLinePutter::SEGYDirect2DLinePutter
SEGYDirect2DLinePutter(const IOObj &, Pos::GeomID)
Seis2DLineGetter
interface for object that reads 2D seismic data
Definition: seis2dlineio.h:60
Seis::SelData
contains input (sub-)selection data from a cube or lineset
Definition: seisselection.h:82
DataCharacteristics::UserType
UserType
Definition: datachar.h:87
Executor
Specification to enable chunkwise execution of a process.
Definition: executor.h:39
SEGYDirect2DLinePutter::~SEGYDirect2DLinePutter
~SEGYDirect2DLinePutter()
IOObj
Definition: ioobj.h:58
SEGYDirect2DLineIOProvider::getGeometry
bool getGeometry(const IOObj &, Pos::GeomID, PosInfo::Line2DData &) const
SeisTrcTranslator
Definition: seistrctr.h:90
survgeometrytransl.h
SEGYDirect2DLineIOProvider::removeImpl
bool removeImpl(const IOObj &, Pos::GeomID) const
SEGYDirect2DLineIOProvider::renameImpl
bool renameImpl(const IOObj &, const char *) const
SEGYDirect2DLineGetter::fname_
BufferString fname_
Definition: segydirect2d.h:98
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
SurvGeom2DTranslator
Definition: survgeometrytransl.h:31
SEGYDirect2DLinePutter::mODTextTranslationClass
mODTextTranslationClass(SEGYDirect2DLinePutter)
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
SEGYDirectSurvGeom2DTranslator::isUserSelectable
bool isUserSelectable(bool fr) const
Definition: segydirect2d.h:115
PosInfo
Position info, often segmented.
Definition: posinfo.h:40
SEGYDirect2DLinePutter::errMsg
uiString errMsg() const
Only when put or close returns false.
Definition: segydirect2d.h:63
OD::String
encapsulates the read-access-only part of strings in OD.
Definition: odstring.h:31
SEGYDirect2DLinePutter::preseldt_
DataCharacteristics::UserType preseldt_
Definition: segydirect2d.h:73
MPE::errmsg_
BufferString errmsg_
Definition: horizontracker.h:118
SEGYDirect2DLineGetter::tr_
SEGYSeisTrcTranslator * tr_
Definition: segydirect2d.h:99
SEGYDirect2DLineIOProvider::factid_
static int factid_
Definition: segydirect2d.h:52
SEGYDirect2DLinePutter
Definition: segydirect2d.h:57
SEGYDirect2DLineGetter::totalNr
od_int64 totalNr() const
Definition: segydirect2d.h:87
SEGYDirect2DLineGetter::trcsperstep_
const int trcsperstep_
Definition: segydirect2d.h:100
SEGYDirect2DLineGetter::nextStep
int nextStep()
SEGYDirect2DLineIOProvider::SEGYDirect2DLineIOProvider
SEGYDirect2DLineIOProvider()
SEGYDirect2DLinePutter::close
bool close()
Return null on success, err msg on failure.
SEGYDirect2DLinePutter::tr_
SEGYSeisTrcTranslator * tr_
Definition: segydirect2d.h:71
SEGYDirect2DLineGetter::nrDone
od_int64 nrDone() const
Definition: segydirect2d.h:86
SEGYDirect2DLineGetter
Definition: segydirect2d.h:79
SEGYDirectSurvGeom2DTranslator::SEGYDirectSurvGeom2DTranslator
SEGYDirectSurvGeom2DTranslator(const char *s1, const char *s2)
Definition: segydirect2d.h:109
Pos::GeomID
Index_Type GeomID
Definition: commontypes.h:87
TypeSet< Pos::GeomID >
SEGYDirect2DLineIOProvider::getPutter
Seis2DLinePutter * getPutter(const IOObj &obj, Pos::GeomID)
SEGYDirectSurvGeom2DTranslator
Definition: segydirect2d.h:106

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