OpendTect  6.3
seispreload.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: Bert
8  Date: Feb 2009
9 ________________________________________________________________________
10 
11 
12 -*/
13 
14 #include "seiscommon.h"
15 #include "datachar.h"
16 #include "datapackbase.h"
17 #include "dbkey.h"
18 #include "ranges.h"
19 #include "survgeom.h"
20 #include "task.h"
21 
22 class IOObj;
23 class Scaler;
24 class TrcKeyZSampling;
25 
26 namespace Seis
27 {
28 
30 { mODTextTranslationClass(PreLoader);
31 public:
32  PreLoader(const DBKey&,
33  Pos::GeomID=Survey::GM().default3DSurvID(),
34  TaskRunner* =0);
35 
36  const DBKey& id() const { return dbkey_; }
37  Pos::GeomID geomID() const { return geomid_; }
38  void setTaskRunner( TaskRunner& t ) { tr_ = &t; }
39 
40  IOObj* getIOObj() const;
41  Interval<int> inlRange() const;
43  void getLineNames(BufferStringSet&) const;
45 
46  bool load(const TrcKeyZSampling&,
48  const Scaler* =0) const;
49  bool load(const TypeSet<TrcKeyZSampling>&,
50  const TypeSet<Pos::GeomID>&,
52  const Scaler* =0) const;
53  bool loadPS3D(const Interval<int>* inlrg=0) const;
54  bool loadPS2D(const char* lnm=0) const;
55  bool loadPS2D(const BufferStringSet&) const;
56 
57  void unLoad() const;
58  uiString errMsg() const { return errmsg_; }
59 
60  static void load(const IOPar&,TaskRunner* tskr=0);
62  static void loadObj(const IOPar&,TaskRunner* tskr=0);
64  void fillPar(IOPar&) const;
65 
66  static const char* sKeyLines();
67  static const char* sKeyUserType();
68 
69 protected:
70 
75  mutable uiString errmsg_;
76 
77  TaskRunner& getTr() const
78  { return *((TaskRunner*)(tr_ ? tr_ : &deftr_)); }
79 };
80 
81 
83 {
84 public:
85  PreLoadDataEntry(const DBKey&,Pos::GeomID,int dpid);
86 
87  bool equals(const DBKey&,Pos::GeomID) const;
88 
91  int dpid_;
92  bool is2d_;
94 };
95 
96 
98 {
99 public:
100  void add(const DBKey&,DataPack*);
101  void add(const DBKey&,Pos::GeomID,DataPack*);
102  void remove(const DBKey&,Pos::GeomID =-1);
103  void remove(int dpid);
104  void removeAll();
105 
106  RefMan<DataPack> get(const DBKey&,Pos::GeomID =-1);
107  RefMan<DataPack> get(int dpid);
108  ConstRefMan<DataPack> get(const DBKey&,Pos::GeomID =-1) const;
109  ConstRefMan<DataPack> get(int dpid) const;
110  template<class T>
111  inline RefMan<T> getAndCast(const DBKey&,Pos::GeomID =-1);
112 
113  void getInfo(const DBKey&,Pos::GeomID,
114  BufferString&) const;
115 
116  void getIDs(DBKeySet&) const;
117  bool isPresent(const DBKey&,Pos::GeomID =-1) const;
118 
119  const ObjectSet<PreLoadDataEntry>& getEntries() const;
120 
121 protected:
122 
125 
126 public:
127  PreLoadDataManager();
128  ~PreLoadDataManager();
129 };
130 
132 
133 
134 template <class T> inline
135 RefMan<T> PreLoadDataManager::getAndCast( const DBKey& mid, Pos::GeomID gid )
136 {
137  RefMan<DataPack> dp = get( mid, gid );
138  mDynamicCastGet( T*, casted, dp.ptr() );
139  return RefMan<T>( casted );
140 }
141 
142 } // namespace Seis
#define mExpClass(module)
Definition: commondefs.h:157
Seismics.
Definition: segydirectdef.h:20
ManagedObjectSet< PreLoadDataEntry > entries_
Definition: seispreload.h:124
const GeometryManager & GM()
Pos::GeomID geomid_
Definition: seispreload.h:90
Pos::GeomID geomid_
Definition: seispreload.h:72
Definition: ioobj.h:57
TaskRunner * tr_
Definition: seispreload.h:73
int dpid_
Definition: seispreload.h:91
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
#define mGlobal(module)
Definition: commondefs.h:160
DataPackMgr & dpmgr_
Definition: seispreload.h:123
Definition: seispreload.h:82
Definition: dbkey.h:98
DBKey dbkey_
Definition: seispreload.h:89
FPDataRepType
Definition: commontypes.h:63
Definition: uistring.h:88
Set of BufferString objects.
Definition: bufstringset.h:25
uiString errMsg() const
Definition: seispreload.h:58
A data packet: data+positioning and more that needs to be shared.
Definition: datapack.h:39
Set of pointers to objects.
Definition: commontypes.h:28
Manages DataPacks.
Definition: datapack.h:174
TaskRunner & getTr() const
Definition: seispreload.h:77
BufferString name_
Definition: seispreload.h:93
DBKey dbkey_
Definition: seispreload.h:71
void removeAll()
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
Class that can execute a task.
Definition: task.h:193
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:32
Definition: seispreload.h:97
Position.
Definition: commontypes.h:38
const DBKey & id() const
Definition: seispreload.h:36
uiString errmsg_
Definition: seispreload.h:75
Scaling of floating point numbers.
Definition: scaler.h:30
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
#define mDynamicCastGet(typ, out, in)
Definition: commondefs.h:123
Definition: seispreload.h:29
bool is2d_
Definition: seispreload.h:92
Index_Type GeomID
Definition: commontypes.h:48
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
Definition: commontypes.h:64
PreLoadDataManager & PLDM()
BufferString errmsg_
Definition: horizontracker.h:117
void setTaskRunner(TaskRunner &t)
Definition: seispreload.h:38
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
ObjectSet where the objects contained are owned by this set.
Definition: manobjectset.h:49
TaskRunner deftr_
Definition: seispreload.h:74
const T * ptr() const
Definition: ptrman.h:95
Pos::GeomID geomID() const
Definition: seispreload.h:37

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