40 virtual const char* fileKey()
const = 0;
41 virtual bool is2D()
const = 0;
43 virtual bool isOffs()
const {
return false; }
44 virtual bool isStart()
const {
return true; }
45 inline SeqNrType
seqNr()
const {
return seqnr_; }
46 inline IdxType
trcNr()
const {
return trcnr_; }
48 inline IdxType
inl()
const {
return lineNr(); }
49 inline IdxType
crl()
const {
return trcNr(); }
52 {
return BinID(lineNr(),trcNr()); }
54 inline void setSeqNr( SeqNrType s ) { seqnr_ = s; }
55 inline void setTrcNr( IdxType t ) { trcnr_ = t; }
57 inline void setInl( IdxType i ) { setLineNr( i ); }
58 inline void setCrl( IdxType i ) { setTrcNr( i ); }
64 Entry( SeqNrType seqnr, IdxType trcnr )
79 inline bool is2D()
const {
return is2d_; }
80 inline bool isPS()
const {
return isps_; }
83 inline EntrySet&
entries() {
return entries_; }
84 inline const EntrySet&
entries()
const {
return entries_; }
86 TrackRecord& addStartEntry(SeqNrType,
const BinID&,IdxType step,
90 {
return addStartEntry(s,
BinID(
mUdf(IdxType),trcnr),st,d);}
91 TrackRecord& addEndEntry(SeqNrType,
const BinID&);
93 {
return addEndEntry(s,
BinID(
mUdf(IdxType),trcnr));}
96 {
return addOffsetEntry(
BinID(
mUdf(IdxType),t), o ); }
117 virtual const char*
fileKey()
const {
return "T"; }
118 virtual bool is2D()
const {
return true; }
123 IdxType step,
bool crldir )
126 , iscrldir_(crldir) {}
128 {
return iscrldir_ ?
"T" :
"L"; }
130 virtual bool is2D()
const {
return false; }
131 virtual IdxType
lineNr()
const {
return inl_; }
142 :
Entry(seqnr,trcnr) {}
143 virtual const char*
fileKey()
const {
return "E"; }
150 virtual bool is2D()
const {
return true; }
157 virtual bool is2D()
const {
return false; }
158 virtual IdxType
lineNr()
const {
return inl_; }
165 virtual const char*
fileKey()
const {
return "O"; }
166 virtual bool isOffs()
const {
return true; }
175 virtual bool is2D()
const {
return true; }
182 virtual bool is2D()
const {
return false; }
183 virtual IdxType
lineNr()
const {
return inl_; }
207 inline bool is2D()
const {
return trackrec_.is2D(); }
208 inline bool isPS()
const {
return trackrec_.isPS(); }
210 void add(
int trcnr,
float offs=0.f);
211 void add(
const BinID&,
float offs=0.f);
232 void addFirst(
const BinID&,
float);
233 void addFirstFollowUp(
const BinID&,
float);
234 void addNext(
const BinID&,
float);
235 void addNextPS(
const BinID&,
float);
236 void checkCurOffset(
float);
237 void getNewIncs(
const BinID&);
238 void getNextPredBinID(
BinID&)
const;
239 bool isSamePos(
const BinID&,
const BinID&)
const;
240 void addStartEntry(SeqNrType,
const BinID&);
241 void addEndEntry(SeqNrType,
const BinID&);
242 void addOffsetEntry();
virtual const char * fileKey() const
Definition: seiskeytracker.h:143
#define mExpClass(module)
Definition: commondefs.h:157
StartEntry2D(SeqNrType seqnr, IdxType tnr, IdxType step)
Definition: seiskeytracker.h:114
Seismics.
Definition: segydirectdef.h:20
IdxType step_
Definition: seiskeytracker.h:105
OffsEntry(IdxType trcnr)
Definition: seiskeytracker.h:168
OD class for stream write common access to the user log file, or std::cout in batch progs...
Definition: od_ostream.h:25
virtual IdxType lineNr() const
Definition: seiskeytracker.h:158
StartEntry(SeqNrType seqnr, IdxType trcnr, IdxType step)
Definition: seiskeytracker.h:107
virtual ~Entry()
Definition: seiskeytracker.h:38
bool finished_
Definition: seiskeytracker.h:227
Definition: seiskeytracker.h:171
const EntrySet & entries() const
Definition: seiskeytracker.h:84
virtual bool isStart() const
Definition: seiskeytracker.h:44
bool is2D() const
Definition: seiskeytracker.h:207
virtual const char * fileKey() const
Definition: seiskeytracker.h:127
bool is2D(GeomType gt)
Definition: seistype.h:32
const TrackRecord & trackRecord() const
Definition: seiskeytracker.h:204
#define od_int64
Definition: plftypes.h:34
virtual void setLineNr(IdxType)
Definition: seiskeytracker.h:56
bool isPS() const
Definition: seiskeytracker.h:80
virtual bool is2D() const
Definition: seiskeytracker.h:150
IdxType trcNr() const
Definition: seiskeytracker.h:46
TrackRecord & addStartEntry(SeqNrType s, int trcnr, IdxType st, bool d)
Definition: seiskeytracker.h:88
virtual bool is2D() const
Definition: seiskeytracker.h:175
virtual IdxType lineNr() const
Definition: seiskeytracker.h:131
TrackRecord & trackrec_
Definition: seiskeytracker.h:221
int size_type
Definition: objectset.h:37
Definition: seiskeytracker.h:152
bool diriscrl_
Definition: seiskeytracker.h:225
EntrySet & entries()
Definition: seiskeytracker.h:83
TypeSet< float > offsets_
Definition: seiskeytracker.h:164
StopEntry3D(SeqNrType seqnr, IdxType iln, IdxType xln)
Definition: seiskeytracker.h:154
bool offsetschanged_
Definition: seiskeytracker.h:230
virtual ~KeyTracker()
Definition: seiskeytracker.h:203
bool is2D() const
Definition: seiskeytracker.h:79
od_int32 Index_Type
Definition: commontypes.h:29
SeqNrType seqNr() const
Definition: seiskeytracker.h:45
const bool isps_
Definition: seiskeytracker.h:189
Definition: seiskeytracker.h:112
OD class for stream read.
Definition: od_istream.h:23
bool isPS() const
Definition: seiskeytracker.h:208
virtual bool is2D() const
Definition: seiskeytracker.h:130
OffsEntry2D(IdxType trcnr)
Definition: seiskeytracker.h:173
void setTrcNr(IdxType t)
Definition: seiskeytracker.h:55
virtual bool is2D() const
Definition: seiskeytracker.h:182
virtual void setIsTrcNrDir(bool)
Definition: seiskeytracker.h:59
virtual bool isTrcNrDir() const
Definition: seiskeytracker.h:50
virtual IdxType lineNr() const
Definition: seiskeytracker.h:183
virtual bool isOffs() const
Definition: seiskeytracker.h:166
GeomType
Definition: seistype.h:31
ObjectSet< Entry > EntrySet
Definition: seiskeytracker.h:73
void setEmpty()
Definition: seiskeytracker.h:82
virtual const char * fileKey() const
Definition: seiskeytracker.h:117
od_int64 SeqNrType
Definition: seiskeytracker.h:200
virtual void setLineNr(IdxType i)
Definition: seiskeytracker.h:184
~TrackRecord()
Definition: seiskeytracker.h:77
const bool is2d_
Definition: seiskeytracker.h:188
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:270
reads from a stream that was created in ascbinostream style.
Definition: ascbinstream.h:79
virtual bool is2D() const
Definition: seiskeytracker.h:157
StopEntry(SeqNrType seqnr, IdxType trcnr)
Definition: seiskeytracker.h:141
IdxType inl_
Definition: seiskeytracker.h:185
SeqNrType lastSeqNr() const
Definition: seiskeytracker.h:212
TypeSet< float > offsets_
Definition: seiskeytracker.h:229
Definition: seiskeytracker.h:35
od_int64 seqnr_
Definition: seiskeytracker.h:223
virtual bool is2D() const
Definition: seiskeytracker.h:118
OffsEntry3D(IdxType iln, IdxType xln)
Definition: seiskeytracker.h:179
StartEntry3D(SeqNrType seqnr, IdxType iln, IdxType xln, IdxType step, bool crldir)
Definition: seiskeytracker.h:122
virtual void setIsTrcNrDir(bool yn)
Definition: seiskeytracker.h:134
virtual void setLineNr(IdxType i)
Definition: seiskeytracker.h:159
IdxType step_
Definition: seiskeytracker.h:226
virtual const char * fileKey() const
Definition: seiskeytracker.h:165
Definition: seiskeytracker.h:177
virtual bool isOffs() const
Definition: seiskeytracker.h:43
Definition: seiskeytracker.h:195
EntrySet entries_
Definition: seiskeytracker.h:190
IdxType crl() const
Definition: seiskeytracker.h:49
IdxType trcnr_
Definition: seiskeytracker.h:69
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
EntrySet::size_type ArrIdxType
Definition: seiskeytracker.h:74
a record of visited positions.
Definition: seiskeytracker.h:28
void setSeqNr(SeqNrType s)
Definition: seiskeytracker.h:54
TrackRecord & addOffsetEntry(int t, const TypeSet< float > &o)
Definition: seiskeytracker.h:95
Index_Type IdxType
Definition: seiskeytracker.h:199
Entry(SeqNrType seqnr, IdxType trcnr)
Definition: seiskeytracker.h:64
BinID binID() const
Definition: seiskeytracker.h:51
void setCrl(IdxType i)
Definition: seiskeytracker.h:58
Definition: seiskeytracker.h:138
IdxType inl() const
Definition: seiskeytracker.h:48
SeqNrType seqnr_
Definition: seiskeytracker.h:68
Definition: seiskeytracker.h:146
TrackRecord & addEndEntry(SeqNrType s, int trcnr)
Definition: seiskeytracker.h:92
virtual bool isStart() const
Definition: seiskeytracker.h:144
Definition: seiskeytracker.h:103
void setInl(IdxType i)
Definition: seiskeytracker.h:57
virtual IdxType lineNr() const
Definition: seiskeytracker.h:47
Definition: seiskeytracker.h:120
od_int64 SeqNrType
Definition: seiskeytracker.h:33
od_int64 nrDone() const
Definition: seiskeytracker.h:214
Definition: seiskeytracker.h:162
int offsidx_
Definition: seiskeytracker.h:228
IdxType inl_
Definition: seiskeytracker.h:160
bool iscrldir_
Definition: seiskeytracker.h:136
writes to a stream that can be Ascii or Binary.
Definition: ascbinstream.h:28
IdxType inl_
Definition: seiskeytracker.h:135
BinID prevbid_
Definition: seiskeytracker.h:224
virtual bool isTrcNrDir() const
Definition: seiskeytracker.h:132
void deepErase(ObjectSet< T > &os)
empty the ObjectSet deleting all objects pointed to.
Definition: objectset.h:122
virtual void setLineNr(IdxType i)
Definition: seiskeytracker.h:133
Index_Type IdxType
Definition: seiskeytracker.h:32
StopEntry2D(SeqNrType seqnr, IdxType trcnr)
Definition: seiskeytracker.h:148