OpendTect-6_4  6.4
seisposprovider.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: Bert
8  Date: Feb 2008
9 ________________________________________________________________________
10 
11 
12 -*/
13 
14 #include "seismod.h"
15 #include "posprovider.h"
16 #include "posinfo.h"
17 #include "multiid.h"
18 #include "uistring.h"
19 
20 
21 namespace Pos
22 {
23 
28 public:
29 
31 
34  ~SeisProvider3D();
35  SeisProvider3D& operator =(const SeisProvider3D&);
36  const char* type() const { return sKeyType(); }
37  const char* factoryKeyword() const { return type(); }
38  static const char* sKeyType() { return "Seismic Cube Positions"; }
39  virtual Provider* clone() const { return new SeisProvider3D(*this); }
40 
41  uiRetVal setSeisID(const MultiID&);
42  MultiID seisID() const { return id_; }
43 
44  virtual void reset();
45 
46  virtual bool toNextPos();
47  virtual bool toNextZ();
48 
49  virtual BinID curBinID() const;
50  virtual float curZ() const;
51  virtual bool includes(const BinID&,float z=mUdf(float)) const;
52  virtual void usePar(const IOPar&);
53  virtual void fillPar(IOPar&) const;
54  virtual void getSummary(BufferString&) const;
55 
56  virtual void getExtent(BinID& start,BinID& stop) const;
57  virtual void getZRange(Interval<float>&) const;
58  virtual od_int64 estNrPos() const;
59  virtual int estNrZPerPos() const;
60 
61  const ZSampling& zSampling() const { return zsamp_; }
62  void setZSampling( const ZSampling& zrg )
63  { zsamp_ = zrg; }
64  int nrSamples() const { return zsamp_.nrSteps()+1; }
65  virtual bool includes( const Coord& c, float z=mUdf(float) ) const
66  { return Pos::Provider3D::includes(c,z); }
67 
68 protected:
69 
72  ZSampling zsamp_;
74  int curzidx_;
75 
76 public:
77 
78  static void initClass();
79  static Provider3D* create() { return new SeisProvider3D; }
80 
81 };
82 
83 
84 } // namespace
#define mExpClass(module)
Definition: commondefs.h:160
Summary for a Seismic object.
Definition: segydirectdef.h:23
void setZSampling(const ZSampling &zrg)
Definition: seisposprovider.h:62
Provides a series of positions; can also be used for subselection.
Definition: posprovider.h:33
const char * type() const
Definition: seisposprovider.h:36
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
int nrSamples() const
Definition: seisposprovider.h:64
MultiID seisID() const
Definition: seisposprovider.h:42
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:188
PosInfo::CubeData cubedata_
Definition: seisposprovider.h:71
#define od_int64
Definition: plftypes.h:36
Provides a subselection for 3D surveys.
Definition: posprovider.h:60
virtual bool includes(const BinID &, float z=mUdf(float)) const =0
A cartesian coordinate in 2D space.
Definition: coord.h:25
ZSampling zsamp_
Definition: seisposprovider.h:72
3D provider based on cube of PS data store
Definition: seisposprovider.h:26
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:47
MultiID id_
Definition: seisposprovider.h:70
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:272
Position in a CubeData.
Definition: posinfo.h:73
Position.
Definition: commontypes.h:42
const char * factoryKeyword() const
Definition: seisposprovider.h:37
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:175
virtual bool includes(const Coord &c, float z=mUdf(float)) const
Definition: seisposprovider.h:65
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:40
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:30
int curzidx_
Definition: seisposprovider.h:74
virtual Provider * clone() const
Definition: seisposprovider.h:39
Definition: uistring.h:243
PosInfo::CubeDataPos curpos_
Definition: seisposprovider.h:73
Position info for an entire 3D cube. The LineData&#39;s are not sorted.
Definition: posinfo.h:95
StepInterval< float > ZSampling
Definition: seisposprovider.h:30
static const char * sKeyType()
Definition: seisposprovider.h:38
const ZSampling & zSampling() const
Definition: seisposprovider.h:61
Compound key consisting of ints.
Definition: multiid.h:25
static void initClass()
static Provider3D * create()
Definition: seisposprovider.h:79

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