OpendTect  6.3
seisbounds.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: A.H. Bril
8  Date: 20-1-98
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "seiscommon.h"
14 #include "ranges.h"
15 #include "coord.h"
16 class TrcKeyZSampling;
17 
18 
19 namespace Seis
20 {
21 
30 {
31 public:
32 
33  virtual ~Bounds() {}
34 
35  virtual bool is2D() const { return false; }
36  int expectedNrTraces() const;
37 
38  virtual int start(bool first=true) const = 0;
40  virtual int stop(bool first=true) const = 0;
42  virtual int step(bool first=true) const = 0;
44  virtual StepInterval<float> getZRange() const = 0;
45 
46  virtual void getCoordRange(Coord& min,Coord&) const = 0;
47 
48 };
49 
50 
52 {
53 public:
54 
55  Bounds3D();
56  Bounds3D(const Bounds3D&);
57  ~Bounds3D();
58  bool is2D() const { return false; }
59 
60  int start(bool first=true) const;
61  int stop(bool first=true) const;
62  int step(bool first=true) const;
63  StepInterval<float> getZRange() const;
64 
65  void getCoordRange(Coord&,Coord&) const;
66 
68 
69 };
70 
71 
73 {
74 public:
75 
76  Bounds2D();
77  bool is2D() const { return true; }
78 
79  int start( bool firstrg = true ) const
80  { return firstrg ? nrrg_.start : mUdf(int); }
81  int stop( bool firstrg = true ) const
82  { return firstrg ? nrrg_.stop : mUdf(int); }
83  int step( bool firstrg = true ) const
84  { return firstrg ? nrrg_.step : 1; }
86  { return zrg_; }
87 
88  void getCoordRange( Coord& min, Coord& max ) const
89  { min = mincoord_; max = maxcoord_; }
90 
95 
96 };
97 
98 } // namespace Seis
#define mExpClass(module)
Definition: commondefs.h:157
Seismics.
Definition: segydirectdef.h:20
int stop(bool firstrg=true) const
Inl, TrcNr (first) or Crl (2nd)
Definition: seisbounds.h:81
StepInterval< int > nrrg_
Definition: seisbounds.h:92
contains domain-specific data boundary details.
Definition: seisbounds.h:29
virtual bool is2D() const
Definition: seisbounds.h:35
int step(bool firstrg=true) const
Inl, TrcNr (first) or Crl (2nd)
Definition: seisbounds.h:83
Definition: seisbounds.h:72
bool is2D() const
Definition: seisbounds.h:77
bool is2D() const
Definition: seisbounds.h:58
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:270
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:32
virtual ~Bounds()
Definition: seisbounds.h:33
TrcKeyZSampling & tkzs_
Definition: seisbounds.h:67
Coord mincoord_
Definition: seisbounds.h:93
StepInterval< float > getZRange() const
Definition: seisbounds.h:85
int start(bool firstrg=true) const
Inl, TrcNr (first) or Crl (2nd)
Definition: seisbounds.h:79
StepInterval< float > zrg_
Definition: seisbounds.h:91
Definition: seisbounds.h:51
2D point or vector class.
Definition: commontypes.h:58
Coord maxcoord_
Definition: seisbounds.h:94
void getCoordRange(Coord &min, Coord &max) const
Definition: seisbounds.h:88

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