OpendTect  6.3
tableposprovider.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 "geometrymod.h"
15 #include "posprovider.h"
16 #include "binidvalset.h"
17 #include "bufstring.h"
18 class IOObj;
19 
20 namespace Pos
21 {
22 
26 {
27 public:
28 
30  : bvs_(1,true) {}
31  TableProvider3D(const IOObj& psioobj);
32  TableProvider3D(const char* filenm);
34  : bvs_(1,true) { *this = tp; }
35  TableProvider3D& operator =(const TableProvider3D&);
36  const char* type() const;
37  const char* factoryKeyword() const { return type(); }
38  TableProvider3D* clone() const { return new TableProvider3D(*this); }
39 
40  virtual void reset() { pos_.reset(); }
41 
42  virtual bool toNextPos() { return bvs_.next(pos_,true); }
43  virtual bool toNextZ() { return bvs_.next(pos_,false); }
44 
45  virtual BinID curBinID() const { return bvs_.getBinID(pos_); }
46  virtual float curZ() const { return *bvs_.getVals(pos_); }
47  virtual bool includes(const BinID&,float) const;
48  virtual void usePar(const IOPar&);
49  virtual void fillPar(IOPar&) const;
50  virtual void getSummary(BufferString&) const;
51 
52  void getExtent(BinID&,BinID&) const;
53  void getZRange(Interval<float>&) const;
54  od_int64 estNrPos() const { return bvs_.totalSize(); }
55  int estNrZPerPos() const { return 1; }
56 
57  BinIDValueSet& binidValueSet() { return bvs_; }
58  const BinIDValueSet& binidValueSet() const { return bvs_; }
59 
60  static void getBVSFromPar(const IOPar&,BinIDValueSet&);
61 
62  virtual bool includes( const Coord& c, float z ) const
63  { return Provider3D::includes(c,z); }
64 
65 protected:
66 
69 
70 public:
71 
72  static void initClass();
73  static Provider3D* create() { return new TableProvider3D; }
74 
75 };
76 
77 
78 } // namespace
#define mExpClass(module)
Definition: commondefs.h:157
virtual bool includes(const Coord &c, float z) const
Definition: tableposprovider.h:62
const BinIDValueSet & binidValueSet() const
Definition: tableposprovider.h:58
TableProvider3D * clone() const
Definition: tableposprovider.h:38
Definition: ioobj.h:57
const char * factoryKeyword() const
Definition: tableposprovider.h:37
BinIDValueSet::SPos pos_
Definition: tableposprovider.h:68
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
#define od_int64
Definition: plftypes.h:34
static Provider3D * create()
Definition: tableposprovider.h:73
virtual BinID curBinID() const
Definition: tableposprovider.h:45
TableProvider3D(const TableProvider3D &tp)
Definition: tableposprovider.h:33
IdxPairDataSet::SPos SPos
Definition: posidxpairvalset.h:42
Provides a subselection for 3D surveys.
Definition: posprovider.h:58
virtual bool includes(const BinID &, float z=mUdf(float)) const =0
virtual void reset()
Definition: tableposprovider.h:40
virtual bool toNextPos()
Definition: tableposprovider.h:42
TableProvider3D()
Definition: tableposprovider.h:29
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
int estNrZPerPos() const
Definition: tableposprovider.h:55
BinIDValueSet bvs_
Definition: tableposprovider.h:67
virtual bool toNextZ()
Definition: tableposprovider.h:43
Position.
Definition: commontypes.h:38
BinIDValueSet & binidValueSet()
Definition: tableposprovider.h:57
Provider based on BinIDValueSet table.
Definition: tableposprovider.h:25
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
od_int64 estNrPos() const
Definition: tableposprovider.h:54
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
virtual float curZ() const
Definition: tableposprovider.h:46
A Pos::IdxPairValueSet with BinIDs.
Definition: binidvalset.h:21
2D point or vector class.
Definition: commontypes.h:58
Definition: arraytesselator.h:19
static void initClass()

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