OpendTect-6_4  6.4
tableposprovider.h
Go to the documentation of this file.
1 #ifndef tableposprovider_h
2 #define tableposprovider_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Bert
9  Date: Feb 2008
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 
14 -*/
15 
16 #include "geometrymod.h"
17 #include "posprovider.h"
18 #include "binidvalset.h"
19 #include "bufstring.h"
20 class IOObj;
21 
22 namespace Pos
23 {
24 
28 {
29 public:
30 
32  : bvs_(1,true) {}
33  TableProvider3D(const IOObj& psioobj);
34  TableProvider3D(const char* filenm);
36  : bvs_(1,true) { *this = tp; }
37  TableProvider3D& operator =(const TableProvider3D&);
38  const char* type() const;
39  const char* factoryKeyword() const { return type(); }
40  TableProvider3D* clone() const { return new TableProvider3D(*this); }
41 
42  virtual void reset() { pos_.reset(); }
43 
44  virtual bool toNextPos() { return bvs_.next(pos_,true); }
45  virtual bool toNextZ() { return bvs_.next(pos_,false); }
46 
47  virtual BinID curBinID() const { return bvs_.getBinID(pos_); }
48  virtual float curZ() const { return *bvs_.getVals(pos_); }
49  virtual bool includes(const BinID&,float) const;
50  virtual void usePar(const IOPar&);
51  virtual void fillPar(IOPar&) const;
52  virtual void getSummary(BufferString&) const;
53 
54  void getExtent(BinID&,BinID&) const;
55  void getZRange(Interval<float>&) const;
56  od_int64 estNrPos() const { return bvs_.totalSize(); }
57  int estNrZPerPos() const { return 1; }
58 
59  BinIDValueSet& binidValueSet() { return bvs_; }
60  const BinIDValueSet& binidValueSet() const { return bvs_; }
61 
62  static void getBVSFromPar(const IOPar&,BinIDValueSet&);
63 
64  virtual bool includes( const Coord& c, float z ) const
65  { return Provider3D::includes(c,z); }
66 
67 protected:
68 
70  BinIDValueSet::SPos pos_;
71 
72 public:
73 
74  static void initClass();
75  static Provider3D* create() { return new TableProvider3D; }
76 
77 };
78 
79 
80 } // namespace
81 
82 #endif
#define mExpClass(module)
Definition: commondefs.h:160
virtual bool includes(const Coord &c, float z) const
Definition: tableposprovider.h:64
const BinIDValueSet & binidValueSet() const
Definition: tableposprovider.h:60
TableProvider3D * clone() const
Definition: tableposprovider.h:40
Definition: ioobj.h:58
const char * factoryKeyword() const
Definition: tableposprovider.h:39
BinIDValueSet::SPos pos_
Definition: tableposprovider.h:70
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:188
#define od_int64
Definition: plftypes.h:36
static Provider3D * create()
Definition: tableposprovider.h:75
virtual BinID curBinID() const
Definition: tableposprovider.h:47
TableProvider3D(const TableProvider3D &tp)
Definition: tableposprovider.h:35
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
virtual void reset()
Definition: tableposprovider.h:42
virtual bool toNextPos()
Definition: tableposprovider.h:44
TableProvider3D()
Definition: tableposprovider.h:31
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:47
int estNrZPerPos() const
Definition: tableposprovider.h:57
BinIDValueSet bvs_
Definition: tableposprovider.h:69
virtual bool toNextZ()
Definition: tableposprovider.h:45
Position.
Definition: commontypes.h:42
BinIDValueSet & binidValueSet()
Definition: tableposprovider.h:59
Provider based on BinIDValueSet table.
Definition: tableposprovider.h:27
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:175
od_int64 estNrPos() const
Definition: tableposprovider.h:56
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
virtual float curZ() const
Definition: tableposprovider.h:48
A Pos::IdxPairValueSet with BinIDs.
Definition: binidvalset.h:23
Definition: arraytesselator.h:21
static void initClass()

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