15 #include "generalmod.h" 24 template <
class T>
class Array2D;
25 template <
class T>
class Array3D;
31 namespace ZDomain {
class Info; }
40 virtual int size()
const = 0;
41 virtual BinID binID(
int)
const = 0;
42 virtual float z(
int)
const = 0;
43 virtual Coord coord(
int)
const;
44 virtual int trcNr(
int)
const {
return 0; }
54 : DataPack( categry ) {}
78 {
return mUdf(
float); }
84 virtual const char*
dimName(
bool dim0 )
const 85 {
return dim0 ?
"X1" :
"X2"; }
87 virtual Coord3 getCoord(
int,
int)
const;
95 virtual double getAltDim0Value(
int ikey,
int idim0)
const;
101 virtual float nrKBytes()
const;
102 virtual void dumpInfo(
IOPar&)
const;
104 virtual int size(
bool dim0)
const;
135 void setDimNames(
const char*,
const char*,
bool forxy);
136 const char* dimName(
bool dim0 )
const;
140 void setPosCoord(
bool yn);
142 virtual void getAuxInfo(
int idim0,
int idim1,
IOPar&)
const;
154 float getValAtIdx(
int,
int)
const;
155 friend class MapDataPackXYRotater;
176 virtual const char* dimName(
char dim)
const;
177 virtual double getPos(
char dim,
int idx)
const;
178 int size(
char dim)
const;
179 virtual float nrKBytes()
const;
180 virtual void dumpInfo(
IOPar&)
const;
205 virtual bool is2D()
const = 0;
206 virtual int nrTrcs()
const = 0;
207 virtual TrcKey getTrcKey(
int globaltrcidx)
const = 0;
208 virtual int getGlobalIdx(
const TrcKey&)
const = 0;
209 virtual int getNearestGlobalIdx(
const TrcKey&)
const;
213 virtual bool addComponent(
const char* nm) = 0;
218 int comp,
int globaltrcidx)
const;
221 const float* getTrcData(
int comp,
int globaltrcidx)
const;
222 float* getTrcData(
int comp,
int globaltrcidx);
225 {
return arrays_.size(); }
227 {
return arrays_.isEmpty(); }
229 {
return arrays_.validIdx( comp ); }
230 void setComponentName(
const char*,
int comp=0);
231 const char* getComponentName(
int comp=0)
const;
233 static const char* categoryStr(
bool isvertical,
bool is2d);
240 {
return *zdomaininfo_; }
242 void setScaler(
const Scaler&);
247 { refnrs_ = refnrs; }
248 float getRefNr(
int globaltrcidx)
const;
254 float nrKBytes()
const;
255 void dumpInfo(
IOPar&)
const;
256 void setRandomLineID(
int);
257 int getRandomLineID()
const;
259 int getComponentIdx(
const char* nm,
260 int defcompidx=-1)
const;
265 bool addArray(
int sz0,
int sz1,
int sz2);
266 bool addArrayNoInit(
int sz0,
int sz1,
int sz2);
#define mExpClass(module)
Definition: commondefs.h:160
BinDataDesc desc_
Definition: datapackbase.h:272
Threads::Lock initlock_
Definition: datapackbase.h:161
const Array2D< float > & rawData() const
Definition: datapackbase.h:133
ZDomain::Info * zdomaininfo_
Definition: datapackbase.h:271
virtual bool dimValuesInInt(const char *key) const
Definition: datapackbase.h:96
bool posDataIsCoord() const
Definition: datapackbase.h:139
const BinDataDesc & getDataDesc() const
Definition: datapackbase.h:250
DataPack for 2D data to be plotted on a Map.
Definition: datapackbase.h:124
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class...
Definition: threadlock.h:53
Positioning of flat 'bulk' data. Only the 'x1' axis can be irregular.
Definition: flatposdata.h:26
const Array2D< float > & data() const
Definition: datapackbase.h:74
Array3D< float > * arr3d_
Definition: datapackbase.h:193
virtual bool simpleCoords() const
If true, coords are always SI().tranform(b)
Definition: datapackbase.h:46
DataPack for volume data. Should be renamed to VolumeDataPack later.
Definition: datapackbase.h:200
Array2D< float > * xyrotarr2d_
Definition: datapackbase.h:157
virtual FlatPosData & posData()
Definition: datapackbase.h:80
TypeSet< float > refnrs_
Definition: datapackbase.h:270
DataPack for volume data, where the dims correspond to inl/crl/z .
Definition: datapackbase.h:169
Array2D< float > * arr2d_
Definition: datapackbase.h:112
ValueSeries of offsets.
Definition: valseries.h:69
virtual Array2D< float > & data()
Definition: datapackbase.h:73
A cartesian coordinate in 2D space.
Definition: coord.h:25
virtual const char * dimName(bool dim0) const
Definition: datapackbase.h:84
Set of BufferString objects.
Definition: bufstringset.h:28
virtual bool isOrdered() const
If yes, one can draw a line between the pts.
Definition: datapackbase.h:48
DataPack for point data.
Definition: datapackbase.h:36
FlatPosData & xyrotposdata_
Definition: datapackbase.h:158
const ZDomain::Info & zDomain() const
Definition: datapackbase.h:239
bool isposcoord_
Definition: datapackbase.h:159
A data packet: data+positioning and more that needs to be shared.
Definition: datapack.h:34
Set of pointers to objects.
Definition: commontypes.h:32
virtual bool posDataIsCoord() const
Definition: datapackbase.h:91
const FlatPosData & rawPosData() const
Definition: datapackbase.h:134
PointDataPack(const char *categry)
Definition: datapackbase.h:53
TypeSet< BufferString > axeslbls_
Definition: datapackbase.h:160
virtual int trcNr(int) const
Definition: datapackbase.h:44
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:47
Array2D ( Subclass of ArrayND ) is a two dimensional array.
Definition: arraynd.h:131
Class that can execute a task.
Definition: task.h:169
int nrComponents() const
Definition: datapackbase.h:224
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:272
const Scaler * scaler_
Definition: datapackbase.h:273
virtual void getAltDim0Keys(BufferStringSet &) const
First one is 'default'.
Definition: datapackbase.h:93
bool isEmpty() const
Definition: datapackbase.h:226
void setRefNrs(const TypeSet< float > &refnrs)
Definition: datapackbase.h:246
Scaling of floating point numbers.
Definition: scaler.h:33
FlatPosData & posdata_
Definition: datapackbase.h:113
A cartesian coordinate in 3D space.
Definition: coord.h:72
const Scaler * getScaler() const
Definition: datapackbase.h:244
BufferStringSet componentnames_
Definition: datapackbase.h:268
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:30
bool is2D(const PicksType &picks)
Definition: pickset.h:142
Implementation of Array3D.
Definition: arrayndimpl.h:151
ObjectSet< Array3DImpl< float > > arrays_
Definition: datapackbase.h:269
DataPack for flat data.
Definition: datapackbase.h:64
bool validComp(int comp) const
Definition: datapackbase.h:228
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:28
const FlatPosData & posData() const
Definition: datapackbase.h:81
virtual float getPosDistance(bool dim0, float posfidx) const
Definition: datapackbase.h:77
Description of binary data.
Definition: bindatadesc.h:43
Array3D ( Subclass of ArrayND ) is a three dimensional array.
Definition: arraynd.h:153
Information of z-domain.
Definition: zdomain.h:91
int rdlid_
Definition: datapackbase.h:274
virtual void getAuxInfo(int idim0, int idim1, IOPar &) const
Definition: datapackbase.h:99