OpendTect-6_4  6.4
binidsurface.h
Go to the documentation of this file.
1 #ifndef binidsurface_h
2 #define binidsurface_h
3 
4 /*+
5 ________________________________________________________________________
6 (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7 Author: A.H. Bril
8 Date: 23-10-1996
9 Contents: Ranges
10 RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "geometrymod.h"
16 #include "parametricsurface.h"
17 
18 class BinIDValue;
19 class SurveyInfo;
20 
21 template <class T> class Array2D;
22 
23 namespace Geometry
24 {
25 
26 
29 public:
30  BinIDSurface(const BinID& step);
31  BinIDSurface(const BinIDSurface&);
32  ~BinIDSurface();
33  BinIDSurface* clone() const;
34  bool isEmpty() const { return !depths_; }
35 
36  Coord3 computePosition(const Coord& param) const;
37 
38  void setArray(const BinID& start,const BinID& step,
39  Array2D<float>*,bool takeover);
41  Array2D<float>* getArray() { return depths_; }
42  /*Modify on your own responsibility.*/
43  const Array2D<float>* getArray() const
44  { return (const Array2D<float>*) depths_; }
45  void getPosIDs(TypeSet<GeomPosID>&,bool rmudf=true) const;
46 
47  bool insertRow(int row,int nrnew=1);
48  bool insertCol(int col,int nrnew=1);
49  bool removeRow(int,int);
50  bool removeCol(int,int);
51 
52  StepInterval<int> rowRange() const;
53  StepInterval<int> rowRange(int col) const;
54  StepInterval<int> colRange() const;
55  StepInterval<int> colRange(int row) const;
56 
57  bool expandWithUdf(const BinID& start,const BinID& stop);
58 
59  virtual Coord3 getKnot( const RowCol& rc ) const
60  { return getKnot(rc,false); }
61  Coord3 getKnot(const RowCol&,bool computeifudf) const;
62 
63  Coord getKnotCoord(const RowCol&) const;
64 
65 protected:
66  void _setKnot(int idx,const Coord3&);
67  int nrRows() const;
68  int nrCols() const;
69 
72 };
73 
74 } // namespace Geometry
75 
76 
77 #endif
#define mExpClass(module)
Definition: commondefs.h:160
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
Definition: parametricsurface.h:23
Array2D< float > * getArray()
Definition: binidsurface.h:41
const Array2D< float > * getArray() const
Definition: binidsurface.h:43
Holds survey general information.
Definition: survinfo.h:45
A cartesian coordinate in 2D space.
Definition: coord.h:25
Array2D ( Subclass of ArrayND ) is a two dimensional array.
Definition: arraynd.h:131
virtual Coord3 getKnot(const RowCol &rc) const
Definition: binidsurface.h:59
BinID and a value.
Definition: binidvalue.h:31
Array2D< float > * depths_
Definition: binidsurface.h:70
const SurveyInfo * surveyinfo_
Definition: binidsurface.h:71
A cartesian coordinate in 3D space.
Definition: coord.h:72
IdxPair used for its row() and col().
Definition: rowcol.h:25
bool isEmpty() const
Definition: binidsurface.h:34
Definition: binidsurface.h:27
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:30
Definition: arraytesselator.h:21

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