OpendTect-6_4  6.4
seisbounds.h
Go to the documentation of this file.
1 #ifndef seisbounds_h
2 #define seisbounds_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: A.H. Bril
9  Date: 20-1-98
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "seismod.h"
16 #include "ranges.h"
17 #include "coord.h"
18 class TrcKeyZSampling;
19 
20 
21 namespace Seis
22 {
23 
32 {
33 public:
34 
35  virtual ~Bounds() {}
36 
37  virtual bool is2D() const { return false; }
38  int expectedNrTraces() const;
39 
40  virtual int start(bool first=true) const = 0;
42  virtual int stop(bool first=true) const = 0;
44  virtual int step(bool first=true) const = 0;
46  virtual StepInterval<float> getZRange() const = 0;
47 
48  virtual void getCoordRange(Coord& min,Coord&) const = 0;
49 
50 };
51 
52 
54 {
55 public:
56 
57  Bounds3D();
58  Bounds3D(const Bounds3D&);
59  ~Bounds3D();
60  bool is2D() const { return false; }
61 
62  int start(bool first=true) const;
63  int stop(bool first=true) const;
64  int step(bool first=true) const;
65  StepInterval<float> getZRange() const;
66 
67  void getCoordRange(Coord&,Coord&) const;
68 
70 
71 };
72 
73 
75 {
76 public:
77 
78  Bounds2D();
79  bool is2D() const { return true; }
80 
81  int start( bool firstrg = true ) const
82  { return firstrg ? nrrg_.start : mUdf(int); }
83  int stop( bool firstrg = true ) const
84  { return firstrg ? nrrg_.stop : mUdf(int); }
85  int step( bool firstrg = true ) const
86  { return firstrg ? nrrg_.step : 1; }
88  { return zrg_; }
89 
90  void getCoordRange( Coord& min, Coord& max ) const
91  { min = mincoord_; max = maxcoord_; }
92 
97 
98 };
99 
100 } // namespace Seis
101 
102 #endif
#define mExpClass(module)
Definition: commondefs.h:160
Summary for a Seismic object.
Definition: segydirectdef.h:23
int stop(bool firstrg=true) const
Inl, TrcNr (first) or Crl (2nd)
Definition: seisbounds.h:83
StepInterval< int > nrrg_
Definition: seisbounds.h:94
contains domain-specific data boundary details.
Definition: seisbounds.h:31
A cartesian coordinate in 2D space.
Definition: coord.h:25
virtual bool is2D() const
Definition: seisbounds.h:37
int step(bool firstrg=true) const
Inl, TrcNr (first) or Crl (2nd)
Definition: seisbounds.h:85
Definition: seisbounds.h:74
bool is2D() const
Definition: seisbounds.h:79
bool is2D() const
Definition: seisbounds.h:60
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:272
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
virtual ~Bounds()
Definition: seisbounds.h:35
TrcKeyZSampling & tkzs_
Definition: seisbounds.h:69
Coord mincoord_
Definition: seisbounds.h:95
StepInterval< float > getZRange() const
Definition: seisbounds.h:87
int start(bool firstrg=true) const
Inl, TrcNr (first) or Crl (2nd)
Definition: seisbounds.h:81
StepInterval< float > zrg_
Definition: seisbounds.h:93
Definition: seisbounds.h:53
Coord maxcoord_
Definition: seisbounds.h:96
void getCoordRange(Coord &min, Coord &max) const
Definition: seisbounds.h:90

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