26 : binid_(bid), offset_(offs) {}
28 : binid_(
mUdf(int),trcnr), offset_(offs) {}
31 {
return !(*
this == oth); }
33 inline bool is2D()
const {
return mIsUdf(binid_.inl()); }
41 inline int trcNr()
const {
return binid_.crl(); }
42 inline int inLine()
const {
return binid_.inl(); }
43 inline int xLine()
const {
return binid_.crl(); }
44 inline float offset()
const {
return offset_; }
45 inline bool hasOffset(
float)
const;
47 inline void setTrcNr(
int trcnr ) { binid_.crl() = trcnr; }
49 inline void setInline(
int inl ) { binid_.inl() = inl; }
50 inline void setXine(
int crl ) { binid_.crl() = crl; }
51 inline void setOffset(
float offs ) { offset_ = offs; }
52 inline void set(
const BinID& bid,
float offs )
53 { binid_ = bid; offset_ = offs; }
54 inline void set(
int trcnr,
float offs )
55 { binid_.inl() =
mUdf(
int); binid_.crl() = trcnr;
57 inline void set(
int trcnr,
const BinID&,float);
60 inline int&
trcNr() {
return binid_.crl(); }
61 inline BinID&
binID() {
return binid_; }
62 inline float&
offset() {
return offset_; }
63 inline int&
inLine() {
return binid_.inl(); }
64 inline int&
xLine() {
return binid_.crl(); }
66 static PosKey
undef() {
return PosKey(
mUdf(
int) ); }
const BinID & binID() const
Definition: seisposkey.h:40
#define mExpClass(module)
Definition: commondefs.h:157
#define mIsUdf(val)
Use mIsUdf to check for undefinedness of simple types.
Definition: undefval.h:285
Seismics.
Definition: segydirectdef.h:20
int trcNr() const
Definition: seisposkey.h:41
float & offset()
Definition: seisposkey.h:62
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:51
#define mSetUdf(val)
Use this macro to set simple types to undefined.
Definition: undefval.h:272
bool is2D(GeomType gt)
Definition: seistype.h:32
PosKey(int trcnr, float offs=mUdf(float))
Definition: seisposkey.h:27
IdxType & inl()
Definition: posidxpair.h:41
int & xLine()
Definition: seisposkey.h:64
void setXine(int crl)
Definition: seisposkey.h:50
int inLine() const
Definition: seisposkey.h:42
void setInline(int inl)
Definition: seisposkey.h:49
BinID binid_
Definition: seisposkey.h:70
Definition: seisposkey.h:20
#define mIsEqual(x, y, eps)
Definition: commondefs.h:56
GeomType
Definition: seistype.h:31
bool isPS(GeomType gt)
Definition: seistype.h:36
int & inLine()
Definition: seisposkey.h:63
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:270
bool is2D() const
Definition: seisposkey.h:33
bool operator==(const PosKey &) const
Definition: seisposkey.h:105
PosKey(Seis::GeomType gt=Seis::Vol)
Definition: seisposkey.h:76
bool operator!=(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:60
void setOffset(float offs)
Definition: seisposkey.h:51
Seis::GeomType geomType() const
Definition: seisposkey.h:35
void setTrcNr(int trcnr)
Definition: seisposkey.h:47
float offset() const
Definition: seisposkey.h:44
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
bool isUndef() const
Definition: seisposkey.h:37
BinID & binID()
Definition: seisposkey.h:61
Definition: seistype.h:31
static PosKey undef()
Definition: seisposkey.h:66
float offset_
Definition: seisposkey.h:71
GeomType geomTypeOf(const char *)
bool hasOffset(float) const
Definition: seisposkey.h:84
void set(const BinID &bid, float offs)
Definition: seisposkey.h:52
int xLine() const
Definition: seisposkey.h:43
int & trcNr()
Definition: seisposkey.h:60
void setUndef()
Definition: seisposkey.h:38
bool equalOffset(float offs1, float offs2)
Undef not supported.
Definition: seiscommon.h:26
bool isPS() const
Definition: seisposkey.h:34
void setBinID(const BinID &bid)
Definition: seisposkey.h:48
PosKey(const BinID &bid, float offs=mUdf(float))
Definition: seisposkey.h:25