OpendTect  6.3
cbvsinfo.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: A.H.Bril
8  Date: 12-3-2001
9  Contents: Common Binary Volume Storage format header
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "generalmod.h"
15 #include "generalmod.h"
16 #include "posauxinfo.h"
17 #include "posidxpair2coord.h"
18 #include "basiccompinfo.h"
19 #include "samplingdata.h"
20 #include "posinfo.h"
21 #include "scaler.h"
22 class TrcKeyZSampling;
23 
24 
33 {
34 public:
35 
37  : seqnr_(0), nrtrcsperposn_(1) {}
38  ~CBVSInfo() { deepErase(compinfo_); }
39  CBVSInfo( const CBVSInfo& ci )
40  { *this = ci; }
41  CBVSInfo& operator =(const CBVSInfo&);
42 
43  mStruct(General) SurvGeom
44  {
45  SurvGeom()
46  : fullyrectandreg(false) {}
47 
48  bool fullyrectandreg;
49  BinID start, stop, step;
51  PosInfo::SortedCubeData cubedata;
52 
53  void merge(const SurvGeom&);
54  void reCalcBounds();
55 
56  int excludes(const BinID&) const;
57  inline bool includes( const BinID& bid ) const
58  { return !excludes(bid); }
59  bool includesInline(int) const;
60  void clean()
61  { fullyrectandreg = false; deepErase(cubedata);}
62 
63  bool moveToNextPos(BinID&) const;
64  bool moveToNextInline(BinID&) const;
65 
66 protected:
67 
68  void toIrreg();
69  void mergeIrreg(const SurvGeom&);
70  int outOfRange(const BinID&) const;
71 
72  };
73 
74  int seqnr_;
76 
82 
85 
86  bool contributesTo(const TrcKeyZSampling&) const;
87  void clean()
88  { deepErase(compinfo_); geom_.clean();
89  usertext_ = ""; }
90 
91 };
#define mExpClass(module)
Definition: commondefs.h:157
int nrsamples_
Definition: cbvsinfo.h:80
~CBVSInfo()
Definition: cbvsinfo.h:38
void clean()
Definition: cbvsinfo.h:87
Survey::Geometry3D SurvGeom
Definition: seisblocksdata.h:41
BufferString stdtext_
Definition: cbvsinfo.h:83
SamplingData< float > sd_
Definition: cbvsinfo.h:79
#define mStruct(module)
Definition: commondefs.h:162
TrcKeyZSampling & operator=(const TrcKeyZSampling &)
bool includes(const TrcKeyZSampling &) const
Selection of aux info at location. Note that BinID is always selected.
Definition: posauxinfo.h:82
PosAuxInfoSelection auxinfosel_
Definition: cbvsinfo.h:77
int nrtrcsperposn_
Definition: cbvsinfo.h:75
int seqnr_
Definition: cbvsinfo.h:72
Data available in CBVS format header and trailer.
Definition: cbvsinfo.h:32
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:32
CBVSInfo(const CBVSInfo &ci)
Definition: cbvsinfo.h:39
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
BufferString usertext_
Definition: cbvsinfo.h:84
SurvGeom geom_
Definition: cbvsinfo.h:81
ObjectSet< BasicComponentInfo > compinfo_
Definition: cbvsinfo.h:78
CBVSInfo()
Definition: cbvsinfo.h:36
Position info for an entire 3D cube. The LineData&#39;s are sorted.
Definition: posinfo.h:157
Encapsulates linear transform from (i,j) index to (x,y) coordinates.
Definition: posidxpair2coord.h:24
void deepErase(ObjectSet< T > &os)
empty the ObjectSet deleting all objects pointed to.
Definition: objectset.h:122

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