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

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