OpendTect  6.6
wellposprovider.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: Nanne Hemstra
8  Date: January 2012
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 #include "wellmod.h"
16 #include "multiid.h"
17 #include "posprovider.h"
18 #include "callback.h"
19 #include "trckeysampling.h"
20 
21 namespace Well { class Data; }
22 
23 
24 namespace Pos
25 {
26 
32  , public CallBacker
33 {
34 public:
38 
40  const char* type() const;
41  const char* factoryKeyword() const { return type(); }
42  Provider* clone() const { return new WellProvider3D(*this); }
43 
44  virtual bool initialize(TaskRunner* tr=0);
45  virtual void reset() { initialize(); }
46 
47  virtual bool toNextPos();
48  virtual bool toNextZ();
49 
50  virtual BinID curBinID() const { return curbid_; }
51  virtual float curZ() const { return curz_; }
52  virtual bool includes(const BinID&,float z) const;
53  virtual bool includes(const Coord&,float z) const;
54  virtual void getSummary(BufferString&) const;
55 
56  virtual void getExtent(BinID&,BinID&) const;
57  virtual void getZRange(Interval<float>&) const;
58  virtual od_int64 estNrPos() const;
59  virtual int estNrZPerPos() const { return zrg_.nrSteps()+1; }
60 
61  const Well::Data* wellData(int idx) const;
62  StepInterval<float>& zRange() { return zrg_; }
63  const StepInterval<float>& zRange() const { return zrg_; }
64  TrcKeySampling& horSampling() { return hs_; }
65  const TrcKeySampling& horSampling() const { return hs_; }
66 
67  virtual void usePar(const IOPar&);
68  virtual void fillPar(IOPar&) const;
69 
70  static const char* sKeyInlExt();
71  static const char* sKeyCrlExt();
72  static const char* sKeyZExt();
73  static const char* sKeySurfaceCoords();
74  static const char* sKeyNrWells();
75 
76 protected:
77 
78  void setHS();
81 
83  int inlext_;
84  int crlext_;
85  float zext_;
89 
91  float curz_;
93  bool toNextWell();
94 
95 public:
96 
97  static void initClass();
98  static Provider3D* create() { return new WellProvider3D; }
99 };
100 
101 } // namespace Pos
102 
Pos::WellProvider3D::hs_
TrcKeySampling & hs_
Definition: wellposprovider.h:86
TrcKeySampling
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:35
Well::Data
The holder of all data concerning a certain well.
Definition: welldata.h:121
Pos::WellProvider3D::zRange
StepInterval< float > & zRange()
Definition: wellposprovider.h:62
Pos
Position.
Definition: commontypes.h:78
ObjectSet< Well::Data >
Pos::WellProvider3D::getZRange
virtual void getZRange(Interval< float > &) const
Pos::WellProvider3D::welldata_
ObjectSet< Well::Data > welldata_
Definition: wellposprovider.h:80
Pos::Provider3D
Provides a subselection for 3D surveys.
Definition: posprovider.h:61
Pos::WellProvider3D::curbid_
BinID curbid_
Definition: wellposprovider.h:90
Pos::WellProvider3D::wellids_
TypeSet< MultiID > wellids_
Definition: wellposprovider.h:79
posprovider.h
od_int64
#define od_int64
Definition: plftypes.h:35
Pos::WellProvider3D::sKeyInlExt
static const char * sKeyInlExt()
Pos::WellProvider3D::setHS
void setHS()
Pos::WellProvider3D::estNrZPerPos
virtual int estNrZPerPos() const
Definition: wellposprovider.h:59
Pos::WellProvider3D::sKeyNrWells
static const char * sKeyNrWells()
Pos::WellProvider3D::reset
virtual void reset()
Definition: wellposprovider.h:45
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
Pos::WellProvider3D::toNextZ
virtual bool toNextZ()
Pos::WellProvider3D::curz_
float curz_
Definition: wellposprovider.h:91
Pos::WellProvider3D::sKeyCrlExt
static const char * sKeyCrlExt()
Pos::WellProvider3D::operator=
WellProvider3D & operator=(const WellProvider3D &)
TrcKeySamplingIterator
Finds next BinID in TrcKeySampling; initializes to first position.
Definition: trckeysampling.h:201
Pos::WellProvider3D::fillPar
virtual void fillPar(IOPar &) const
callback.h
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
Repos::Data
@ Data
Definition: repos.h:24
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::WellProvider3D::initialize
virtual bool initialize(TaskRunner *tr=0)
Pos::WellProvider3D::estNrPos
virtual od_int64 estNrPos() const
Pos::WellProvider3D::toNextWell
bool toNextWell()
Well
Definition: directionalsurvey.h:20
Pos::WellProvider3D::~WellProvider3D
~WellProvider3D()
Pos::WellProvider3D::sKeySurfaceCoords
static const char * sKeySurfaceCoords()
Pos::WellProvider3D::onlysurfacecoords_
bool onlysurfacecoords_
Definition: wellposprovider.h:82
TaskRunner
Class that can execute a task.
Definition: task.h:170
Pos::WellProvider3D::clone
Provider * clone() const
Definition: wellposprovider.h:42
Pos::WellProvider3D::toNextPos
virtual bool toNextPos()
Pos::WellProvider3D::getSummary
virtual void getSummary(BufferString &) const
Pos::WellProvider3D::wellData
const Well::Data * wellData(int idx) const
Pos::WellProvider3D::horSampling
const TrcKeySampling & horSampling() const
Definition: wellposprovider.h:65
Pos::WellProvider3D
Volume/Area provider based on Wells.
Definition: wellposprovider.h:33
Pos::WellProvider3D::includes
virtual bool includes(const BinID &, float z) const
Pos::WellProvider3D::sKeyZExt
static const char * sKeyZExt()
Pos::WellProvider3D::includes
virtual bool includes(const Coord &, float z) const
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
Pos::WellProvider3D::inlext_
int inlext_
Definition: wellposprovider.h:83
Pos::WellProvider3D::curBinID
virtual BinID curBinID() const
Definition: wellposprovider.h:50
Pos::WellProvider3D::curZ
virtual float curZ() const
Definition: wellposprovider.h:51
Pos::WellProvider3D::initClass
static void initClass()
Pos::WellProvider3D::hsitr_
TrcKeySamplingIterator hsitr_
Definition: wellposprovider.h:87
Pos::WellProvider3D::usePar
virtual void usePar(const IOPar &)
Pos::WellProvider3D::type
const char * type() const
sKey::Well()
Pos::WellProvider3D::factoryKeyword
const char * factoryKeyword() const
Definition: wellposprovider.h:41
Pos::WellProvider3D::getExtent
virtual void getExtent(BinID &, BinID &) const
Pos::WellProvider3D::zext_
float zext_
Definition: wellposprovider.h:85
Pos::WellProvider3D::horSampling
TrcKeySampling & horSampling()
Definition: wellposprovider.h:64
Pos::WellProvider3D::curwellidx_
int curwellidx_
Definition: wellposprovider.h:92
Pos::WellProvider3D::WellProvider3D
WellProvider3D(const WellProvider3D &)
Pos::WellProvider3D::crlext_
int crlext_
Definition: wellposprovider.h:84
trckeysampling.h
Interval< float >
Pos::WellProvider3D::zRange
const StepInterval< float > & zRange() const
Definition: wellposprovider.h:63
Pos::Provider
Provides a series of positions; can also be used for subselection.
Definition: posprovider.h:33
Pos::WellProvider3D::create
static Provider3D * create()
Definition: wellposprovider.h:98
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
Pos::WellProvider3D::WellProvider3D
WellProvider3D()
Pos::WellProvider3D::zrg_
StepInterval< float > zrg_
Definition: wellposprovider.h:88
TypeSet< MultiID >

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