54 {
return !(*
this == oth); }
60 int segmentOf(
int)
const;
62 void merge(
const LineData&,
bool incl);
65 int nearestSegment(
double)
const;
78 : lidx_(iln), segnr_(isn), sidx_(sidx) {}
85 void toStart() { lidx_ = segnr_ = sidx_ = 0; }
86 bool isValid()
const {
return lidx_>=0 && segnr_>=0 && sidx_>=0; }
102 { generate(start,stop,step); }
107 { copyContents(cd);
return *
this; }
109 int totalSize()
const;
113 virtual int indexOf(
int inl,
int* newidx=0)
const;
115 bool includes(
int inl,
int crl)
const;
128 bool haveCrlStepInfo()
const;
129 bool isFullyRectAndReg()
const;
130 bool isCrlReversed()
const;
133 void merge(
const CubeData&,
bool incl);
136 bool allowreversed=
false);
137 void fillBySI(
bool work=
false);
142 virtual int indexOf(
const LineData* l )
const 163 : CubeData(start,stop,step) {}
169 { copyContents(scd);
return *
this; }
171 { copyContents(cd);
return *
this; }
173 virtual int indexOf(
int inl,
int* newidx=0)
const;
198 void add(
const BinID&);
228 const bool rv = cd_.toNext( cdp_ );
229 bid = binID();
return rv;
231 inline void reset() { cdp_.toPreStart(); }
#define mExpClass(module)
Definition: commondefs.h:157
OD class for stream write common access to the user log file, or std::cout in batch progs...
Definition: od_ostream.h:25
int prevcrl
Definition: posinfo.h:206
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:51
TypeSet< Segment > segments_
Definition: posinfo.h:57
CubeData()
Definition: posinfo.h:100
const int linenr_
Definition: posinfo.h:56
#define od_int64
Definition: plftypes.h:34
int lidx_
Definition: posinfo.h:80
CubeDataIterator(const CubeData &cd)
Definition: posinfo.h:223
SortedCubeData(const CubeData &cd)
Definition: posinfo.h:167
virtual int indexOf(const LineData *l) const
Definition: posinfo.h:142
ObjectSet< T >::size_type indexOf(const ObjectSet< T > &os, const S &val)
Locate object in set.
Definition: objectset.h:173
void toPreStart()
Definition: posinfo.h:84
SortedCubeData(const SortedCubeData &cd)
Definition: posinfo.h:164
bool isValid() const
Definition: posinfo.h:86
OD class for stream read.
Definition: od_istream.h:23
LineData(int i)
Definition: posinfo.h:51
void reset()
Definition: posinfo.h:231
Set of (small) copyable elements.
Definition: commontypes.h:26
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:25
virtual int indexOf(const LineData *l) const
Definition: posinfo.h:178
bool haveInlStepInfo() const
Definition: posinfo.h:127
const CubeData & cd_
Definition: posinfo.h:234
CubeData & cd_
Definition: posinfo.h:203
Position in a CubeData.
Definition: posinfo.h:74
Iterates through CubeData.
Definition: posinfo.h:219
bool operator!=(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:60
Position info for a line - in a 3D cube, that would be an inline. Stored as (crossline-)number segmen...
Definition: posinfo.h:46
Position info, often segmented.
Definition: posinfo.h:38
void toStart()
Definition: posinfo.h:85
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
bool next(BinID &bid)
Definition: posinfo.h:226
int segnr_
Definition: posinfo.h:81
SortedCubeData(const BinID &start, const BinID &stop, const BinID &step)
Definition: posinfo.h:161
LineData::Segment seg_
Definition: posinfo.h:205
CubeData(const CubeData &cd)
Definition: posinfo.h:103
Fills CubeData object. Requires inline- and crossline-sorting.
Definition: posinfo.h:192
ObjectSet where the objects contained are owned by this set.
Definition: manobjectset.h:49
Position info for an entire 3D cube. The LineData's are not sorted.
Definition: posinfo.h:96
CubeDataPos(int iln=0, int isn=0, int sidx=-1)
Definition: posinfo.h:77
SortedCubeData()
Definition: posinfo.h:160
BinID binID() const
Definition: posinfo.h:232
virtual size_type indexOf(const T *) const
Definition: objectset.h:341
Position info for an entire 3D cube. The LineData's are sorted.
Definition: posinfo.h:157
CubeData(BinID start, BinID stop, BinID step)
Definition: posinfo.h:101
virtual int indexOf(int inl, int *newidx=0) const
newidx only filled if not null and -1 is returned
LineData * ld_
Definition: posinfo.h:204
CubeDataPos cdp_
Definition: posinfo.h:235
int sidx_
Definition: posinfo.h:82
StepInterval< int > Segment
Definition: posinfo.h:49