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

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