OpendTect  6.6
tracedata.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: 10-5-1995
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "generalmod.h"
15 #include "databuf.h"
16 #include "datainterp.h"
17 
19 class Scaler;
20 
21 
32 {
33 public:
34 
36  : data_(0), interp_(0), nrcomp_(0) {}
37  TraceData( const TraceData& td )
38  : data_(0), interp_(0), nrcomp_(0) { copyFrom(td);}
40  bool allOk() const;
41  bool isEmpty() const;
42 
43  inline TraceData& operator=( const TraceData& td )
44  { copyFrom( td ); return *this; }
45  void copyFrom(const TraceData&);
47  void copyFrom(const TraceData&,int comp_from,int comp_to);
50  bool preserve_data=true);
51  void convertToFPs(bool preserve_data=true);
52 
53  inline int nrComponents() const
54  { return nrcomp_; }
55  inline int size( int icomp=0 ) const
56  { return icomp >= nrcomp_ ? 0 : data_[icomp]->size(); }
57  inline int bytesPerSample( int icomp=0 ) const
58  { return icomp >= nrcomp_ ? 1
59  : data_[icomp]->bytesPerSample(); }
60  inline bool isZero( int icomp=0 ) const
61  { return icomp >= nrcomp_ || data_[icomp]->isZero(); }
62 
63  bool isValidComp(int icomp=0) const;
64  float getValue(int isamp,int icomp=0) const;
65  void setValue(int isamp,float,int icomp=0);
66 
67  inline DataBuffer* getComponent( int icomp=0 )
68  { return data_[icomp]; }
69  inline const DataBuffer* getComponent( int icomp=0 ) const
70  { return data_[icomp]; }
71  inline TraceDataInterpreter* getInterpreter( int icomp=0 )
72  { return interp_[icomp]; }
73  inline const TraceDataInterpreter* getInterpreter( int icomp=0 ) const
74  { return interp_[icomp]; }
75 
76  void addComponent(int ns,const DataCharacteristics&,
77  bool cleardata=false);
78  void delComponent(int);
79  void setComponent(const DataCharacteristics&,int icomp=0);
80  void setNrComponents(int nrcomp,
82 
83  void reSize(int,int icomp=-1,bool copydata=false);
85  void scale(const Scaler&,int icomp=-1);
87  void zero(int icomp=-1);
89 
92 
93 
94 protected:
95 
96 
99  int nrcomp_;
100 
101 };
102 
103 
104 
TraceData::setNrComponents
void setNrComponents(int nrcomp, DataCharacteristics::UserType)
TraceData
A set of data buffers and their interpreters.
Definition: tracedata.h:32
TraceData::reSize
void reSize(int, int icomp=-1, bool copydata=false)
-1 = all data buffers
TraceData::addComponent
void addComponent(int ns, const DataCharacteristics &, bool cleardata=false)
TraceData::~TraceData
~TraceData()
TraceData::setComponent
void setComponent(const DataCharacteristics &, int icomp=0)
TraceData::getComponent
const DataBuffer * getComponent(int icomp=0) const
Definition: tracedata.h:69
TraceData::zero
void zero(int icomp=-1)
-1 = all data buffers
TraceData::TraceData
TraceData(const TraceData &td)
Definition: tracedata.h:37
TraceData::isEmpty
bool isEmpty() const
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
TraceData::data_
DataBuffer ** data_
pre-swaps all buffers that need it
Definition: tracedata.h:97
datainterp.h
TraceData::allOk
bool allOk() const
DataInterpreter< float >
TraceData::convertToFPs
void convertToFPs(bool preserve_data=true)
TraceData::size
int size(int icomp=0) const
Definition: tracedata.h:55
TraceData::isValidComp
bool isValidComp(int icomp=0) const
TraceData::nrComponents
int nrComponents() const
Definition: tracedata.h:53
Scaler
Scaling of floating point numbers.
Definition: scaler.h:33
TraceData::copyFrom
void copyFrom(const TraceData &)
copy all components, making an exact copy.
TraceData::getInterpreter
const TraceDataInterpreter * getInterpreter(int icomp=0) const
Definition: tracedata.h:73
TraceData::getInterpreter
TraceDataInterpreter * getInterpreter(int icomp=0)
Definition: tracedata.h:71
DataBuffer
Raw data array with memory management.
Definition: databuf.h:22
TraceDataInterpreter
DataInterpreter< float > TraceDataInterpreter
Definition: tracedata.h:18
TraceData::isZero
bool isZero(int icomp=0) const
Definition: tracedata.h:60
DataCharacteristics::UserType
UserType
Definition: datachar.h:87
TraceData::setValue
void setValue(int isamp, float, int icomp=0)
TraceData::getValue
float getValue(int isamp, int icomp=0) const
TraceData::bytesPerSample
int bytesPerSample(int icomp=0) const
Definition: tracedata.h:57
TraceData::scale
void scale(const Scaler &, int icomp=-1)
-1 = all data buffers
TraceData::operator=
TraceData & operator=(const TraceData &td)
Definition: tracedata.h:43
TraceData::getComponent
DataBuffer * getComponent(int icomp=0)
Definition: tracedata.h:67
databuf.h
TraceData::delComponent
void delComponent(int)
TraceData::TraceData
TraceData()
Definition: tracedata.h:35
TraceData::interp_
TraceDataInterpreter ** interp_
Definition: tracedata.h:98
TraceData::handleDataSwapping
void handleDataSwapping()
TraceData::convertTo
void convertTo(const DataCharacteristics &, bool preserve_data=true)
TraceData::nrcomp_
int nrcomp_
Definition: tracedata.h:99
DataCharacteristics
byte-level data characteristics of stored data.
Definition: datachar.h:37
TraceData::copyFrom
void copyFrom(const TraceData &, int comp_from, int comp_to)
copy comp_from of argument to my comp_to

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