OpendTect  6.6
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 
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 
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 
74  int curzidx_;
75 
76 public:
77 
78  static void initClass();
79  static Provider3D* create() { return new SeisProvider3D; }
80 
81 };
82 
83 
84 } // namespace
Pos::SeisProvider3D::clone
virtual Provider * clone() const
Definition: seisposprovider.h:39
PosInfo::CubeData
Position info for an entire 3D cube. The LineData's are not sorted.
Definition: posinfo.h:95
Pos::SeisProvider3D::zSampling
const ZSampling & zSampling() const
Definition: seisposprovider.h:61
Pos::SeisProvider3D::cubedata_
PosInfo::CubeData cubedata_
Definition: seisposprovider.h:71
uistring.h
Pos
Position.
Definition: commontypes.h:78
Pos::SeisProvider3D::seisID
MultiID seisID() const
Definition: seisposprovider.h:42
Pos::SeisProvider3D::SeisProvider3D
SeisProvider3D(const SeisProvider3D &)
Pos::Provider3D
Provides a subselection for 3D surveys.
Definition: posprovider.h:61
Seis
Summary for a Seismic object.
Definition: segydirectdef.h:22
posprovider.h
Pos::SeisProvider3D::type
const char * type() const
Definition: seisposprovider.h:36
Pos::SeisProvider3D::toNextPos
virtual bool toNextPos()
od_int64
#define od_int64
Definition: plftypes.h:35
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
Pos::SeisProvider3D::toNextZ
virtual bool toNextZ()
Pos::SeisProvider3D::SeisProvider3D
SeisProvider3D()
Pos::SeisProvider3D::~SeisProvider3D
~SeisProvider3D()
Pos::SeisProvider3D::curZ
virtual float curZ() const
uiRetVal
Definition: uistringset.h:105
Pos::SeisProvider3D::initClass
static void initClass()
Pos::SeisProvider3D::ZSampling
StepInterval< float > ZSampling
Definition: seisposprovider.h:30
PosInfo::CubeDataPos
Position in a CubeData.
Definition: posinfo.h:73
Pos::SeisProvider3D::curBinID
virtual BinID curBinID() const
multiid.h
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
StepInterval< float >
Coord
A cartesian coordinate in 2D space.
Definition: coord.h:25
Pos::SeisProvider3D::mODTextTranslationClass
mODTextTranslationClass(Pos::SeisProvider3D)
Pos::SeisProvider3D
3D provider based on cube of PS data store
Definition: seisposprovider.h:27
posinfo.h
Pos::SeisProvider3D::reset
virtual void reset()
Pos::SeisProvider3D::id_
MultiID id_
Definition: seisposprovider.h:70
Pos::SeisProvider3D::estNrZPerPos
virtual int estNrZPerPos() const
Pos::SeisProvider3D::factoryKeyword
const char * factoryKeyword() const
Definition: seisposprovider.h:37
Pos::SeisProvider3D::includes
virtual bool includes(const Coord &c, float z=mUdf(float)) const
Definition: seisposprovider.h:65
Pos::SeisProvider3D::getSummary
virtual void getSummary(BufferString &) const
Pos::Provider3D::includes
virtual bool includes(const BinID &, float z=mUdf(float)) const =0
MultiID
Compound key consisting of ints.
Definition: multiid.h:24
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
Pos::SeisProvider3D::setSeisID
uiRetVal setSeisID(const MultiID &)
Pos::SeisProvider3D::nrSamples
int nrSamples() const
Definition: seisposprovider.h:64
mUdf
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:274
Pos::SeisProvider3D::curzidx_
int curzidx_
Definition: seisposprovider.h:74
Pos::SeisProvider3D::fillPar
virtual void fillPar(IOPar &) const
Pos::SeisProvider3D::getExtent
virtual void getExtent(BinID &start, BinID &stop) const
Pos::SeisProvider3D::usePar
virtual void usePar(const IOPar &)
Pos::SeisProvider3D::curpos_
PosInfo::CubeDataPos curpos_
Definition: seisposprovider.h:73
Pos::SeisProvider3D::create
static Provider3D * create()
Definition: seisposprovider.h:79
Interval< float >
Pos::Provider
Provides a series of positions; can also be used for subselection.
Definition: posprovider.h:33
Pos::SeisProvider3D::estNrPos
virtual od_int64 estNrPos() const
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
Pos::SeisProvider3D::setZSampling
void setZSampling(const ZSampling &zrg)
Definition: seisposprovider.h:62
Pos::SeisProvider3D::includes
virtual bool includes(const BinID &, float z=mUdf(float)) const
Pos::SeisProvider3D::sKeyType
static const char * sKeyType()
Definition: seisposprovider.h:38
Pos::SeisProvider3D::getZRange
virtual void getZRange(Interval< float > &) const
Pos::SeisProvider3D::zsamp_
ZSampling zsamp_
Definition: seisposprovider.h:72

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