OpendTect  6.6
emhorizonutils.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: Helene Payraudeau
8  Date: September 2005
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "earthmodelmod.h"
15 
16 #include "emsurfaceiodata.h"
17 #include "emposid.h"
18 #include "multiid.h"
19 #include "sets.h"
20 #include "ranges.h"
21 
22 class RowCol;
23 class od_ostream;
24 class BinIDValueSet;
25 class DataPointSet;
26 class TrcKeySampling;
27 namespace Pos { class Provider; }
28 
29 namespace EM
30 {
31 
32 class Surface;
33 
40 {
41 public:
43 
44  static float getZ(const RowCol&,const Surface*);
45  static float getMissingZ(const RowCol&,const Surface*,int);
46  static Surface* getSurface(const MultiID&);
47  static void getPositions(od_ostream&,const MultiID&,
49  static void getExactCoords(od_ostream&,const MultiID&,
54  const Interval<float>& extraz,
55  int nrinterpsamp,int mainhoridx,
56  float extrawidth,
57  Pos::Provider* provider=0);
60  const Interval<float>& extraz,
61  Pos::GeomID);
62  static bool getZInterval(int idi,int idc,Surface*,Surface*,
63  float& topz,float& botz,int nrinterpsamp,
64  int mainhoridx,float& lastzinterval,
65  float extrawidth);
66 
67  static bool SolveIntersect(float& topz,float& botz,int nrinterpsamp,
68  int is1main,float extrawidth,
69  bool is1interp,bool is2interp);
70  static void addSurfaceData(const MultiID&,const BufferStringSet&,
72 
73 protected:
74 
75 };
76 
77 
79 {
80 public:
81  HorizonSelInfo( const MultiID& key )
82  : key_(key), emobjid_(-1) {}
87 
88  static void getAll(ObjectSet<HorizonSelInfo>&,bool is2d);
89 };
90 
91 
92 } // namespace EM
93 
EM::HorizonUtils::HorizonUtils
HorizonUtils()
Definition: emhorizonutils.h:42
TrcKeySampling
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:35
emposid.h
EM::HorizonUtils::getExactCoords
static void getExactCoords(od_ostream &, const MultiID &, Pos::GeomID, const TrcKeySampling &, ObjectSet< DataPointSet > &)
sKey::Surface
FixedString Surface()
Definition: keystrs.h:154
Pos
Position.
Definition: commontypes.h:78
ObjectSet< BinIDValueSet >
BinIDValueSet
A Pos::IdxPairValueSet with BinIDs.
Definition: binidvalset.h:23
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
EM::SurfaceIOData
Data interesting for Surface I/O.
Definition: emsurfaceiodata.h:30
EM::HorizonSelInfo::key_
MultiID key_
Definition: emhorizonutils.h:84
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
EM::HorizonUtils::getZInterval
static bool getZInterval(int idi, int idc, Surface *, Surface *, float &topz, float &botz, int nrinterpsamp, int mainhoridx, float &lastzinterval, float extrawidth)
EM::HorizonUtils::getPositions
static void getPositions(od_ostream &, const MultiID &, ObjectSet< BinIDValueSet > &)
EM
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: bulk2dhorizonscanner.h:26
EM::HorizonSelInfo::HorizonSelInfo
HorizonSelInfo(const MultiID &key)
Definition: emhorizonutils.h:81
EM::HorizonUtils::getWantedPositions
static void getWantedPositions(od_ostream &, ObjectSet< MultiID > &, BinIDValueSet &, const TrcKeySampling &, const Interval< float > &extraz, int nrinterpsamp, int mainhoridx, float extrawidth, Pos::Provider *provider=0)
EM::Surface
Base class for surfaces like horizons and faults. A surface is made up of one or more segments or pat...
Definition: emsurface.h:33
EM::HorizonSelInfo::getAll
static void getAll(ObjectSet< HorizonSelInfo > &, bool is2d)
EM::HorizonSelInfo
Definition: emhorizonutils.h:79
EM::HorizonSelInfo::name_
BufferString name_
Definition: emhorizonutils.h:83
DataPointSet
Set of data points with group selection.
Definition: datapointset.h:48
multiid.h
EM::HorizonUtils::getSurface
static Surface * getSurface(const MultiID &)
EM::HorizonUtils::getZ
static float getZ(const RowCol &, const Surface *)
EM::HorizonUtils::SolveIntersect
static bool SolveIntersect(float &topz, float &botz, int nrinterpsamp, int is1main, float extrawidth, bool is1interp, bool is2interp)
EM::HorizonUtils
Group of utilities for horizons: here are all functions required in od_process_attrib_em for computin...
Definition: emhorizonutils.h:40
emsurfaceiodata.h
EM::HorizonUtils::getWantedPos2D
static void getWantedPos2D(od_ostream &, ObjectSet< MultiID > &, DataPointSet *, const TrcKeySampling &, const Interval< float > &extraz, Pos::GeomID)
MultiID
Compound key consisting of ints.
Definition: multiid.h:24
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
EM::ObjectID
od_int32 ObjectID
Definition: emposid.h:23
RowCol
IdxPair used for its row() and col().
Definition: rowcol.h:25
EM::HorizonSelInfo::iodata_
EM::SurfaceIOData iodata_
Definition: emhorizonutils.h:86
ranges.h
sets.h
Interval< float >
Pos::Provider
Provides a series of positions; can also be used for subselection.
Definition: posprovider.h:33
od_ostream
OD class for stream write common access to the user log file, or std::cout in other than od_main.
Definition: od_ostream.h:26
EM::HorizonSelInfo::emobjid_
ObjectID emobjid_
Definition: emhorizonutils.h:85
Pos::GeomID
Index_Type GeomID
Definition: commontypes.h:87
EM::HorizonUtils::getMissingZ
static float getMissingZ(const RowCol &, const Surface *, int)
EM::HorizonUtils::addSurfaceData
static void addSurfaceData(const MultiID &, const BufferStringSet &, const ObjectSet< BinIDValueSet > &)

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