UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ZdF3DSeismic Class Reference

#include <zd_f3d_seismic.hpp>

Inheritance diagram for ZdF3DSeismic:
ZdFunction3D ZdFunction3D ZdDocument ZdDocument ZdDocument ZdDocument ZqbAutoName ZqbAutoName ZqbAutoName ZqbAutoName ZqbAutoName ZqbAutoName ZqbAutoName ZqbAutoName

Public Member Functions

 ZdF3DSeismic (const char *szFuncName)
 
virtual ~ZdF3DSeismic ()
 
void setSeismicFile (ZdSeismicFile *zdSeisFile, const ZqbSVOptions &rSVO)
 
ZdSeismicFilegetSeismicFile () const
 
const ZqbSVOptionsgetSVOptions () const
 
virtual bool compatibleType (const char *szType) const
 
virtual int countX ()
 
virtual int countY ()
 
virtual double argX (int iX)
 
virtual double argY (int iY)
 
virtual double func (int iX, int iY)
 
virtual double argStepX ()
 
virtual double argStepY ()
 
virtual void getArgBoundsX (double b[2])
 
virtual void getArgBoundsY (double b[2])
 
virtual void getFuncBounds (double b[2])
 
virtual int argIndexX (double x)
 
virtual int argIndexY (double y)
 
 ZdF3DSeismic (const char *szFuncName)
 
virtual ~ZdF3DSeismic ()
 
void setSeismicFile (ZdSeismicFile *zdSeisFile, const ZqbSVOptions &rSVO)
 
ZdSeismicFilegetSeismicFile () const
 
const ZqbSVOptionsgetSVOptions () const
 
virtual bool compatibleType (const char *szType) const
 
virtual int countX ()
 
virtual int countY ()
 
virtual double argX (int iX)
 
virtual double argY (int iY)
 
virtual double func (int iX, int iY)
 
virtual double argStepX ()
 
virtual double argStepY ()
 
virtual void getArgBoundsX (double b[2])
 
virtual void getArgBoundsY (double b[2])
 
virtual void getFuncBounds (double b[2])
 
virtual int argIndexX (double x)
 
virtual int argIndexY (double y)
 
- Public Member Functions inherited from ZdFunction3D
 ZdFunction3D (const char *szFuncName=NULL)
 
virtual ~ZdFunction3D ()
 
virtual void argX (std::vector< double > &vX)
 
virtual void argY (std::vector< double > &vY)
 
virtual bool isNullAll ()
 
virtual bool isNullFunc (int iX, int iY)
 
virtual double minArgX ()
 
virtual double maxArgX ()
 
virtual double minArgY ()
 
virtual double maxArgY ()
 
double minFunc ()
 
virtual double maxFunc ()
 
 ZdFunction3D (const char *szFuncName=NULL)
 
virtual ~ZdFunction3D ()
 
virtual void argX (std::vector< double > &vX)
 
virtual void argY (std::vector< double > &vY)
 
virtual bool isNullAll ()
 
virtual bool isNullFunc (int iX, int iY)
 
virtual double minArgX ()
 
virtual double maxArgX ()
 
virtual double minArgY ()
 
virtual double maxArgY ()
 
double minFunc ()
 
virtual double maxFunc ()
 
- Public Member Functions inherited from ZdDocument
 ZdDocument (const char *szName=NULL)
 
virtual ~ZdDocument ()
 
virtual void updateViews ()
 
virtual bool isChanged ()
 
virtual void setChanges ()
 
virtual void resetChanges ()
 
 ZdDocument (const char *szName=NULL)
 
virtual ~ZdDocument ()
 
virtual void updateViews ()
 
virtual bool isChanged ()
 
virtual void setChanges ()
 
virtual void resetChanges ()
 
- Public Member Functions inherited from ZqbAutoName
 ZqbAutoName (int *pCounter, const char *szRoot, const char *szCustomName=NULL)
 
virtual ~ZqbAutoName ()
 
 ZqbAutoName (int *pCounter, const char *szRoot, const char *szCustomName=NULL)
 
virtual ~ZqbAutoName ()
 
- Public Member Functions inherited from ZqbName
 ZqbName (const char *szRoot, const char *szCustomName=NULL)
 
 ZqbName (const ZqbName &name)
 
virtual ~ZqbName ()
 
ZqbNameoperator= (const ZqbName &name)
 
virtual const char * getName () const
 
virtual const char * getType () const
 
bool hasName (const char *szString) const
 
 ZqbName (const char *szRoot, const char *szCustomName=NULL)
 
 ZqbName (const ZqbName &name)
 
virtual ~ZqbName ()
 
ZqbNameoperator= (const ZqbName &name)
 
virtual const char * getName () const
 
virtual const char * getType () const
 
bool hasName (const char *szString) const
 

Protected Member Functions

void updateMinMax (const float mm[2])
 
void updateMinMax (const float mm[2])
 

Protected Attributes

float * m_pfSeismic
 
ZdSeismicFilem_zdSeisFile
 
std::vector< double > m_vfCoords
 
std::vector< int > m_viTraceIds
 
double m_fCoordStep
 
ZqbSVOptions m_Options
 
float m_pfMinMax [2]
 
- Protected Attributes inherited from ZdDocument
ZqbViewVector m_Views
 
- Protected Attributes inherited from ZqbName
char * m_szName
 
char * m_szRoot
 

Detailed Description

Class to represent some ZdSeismicFile object as a ZdFunction3D. The first trace of each ensemble becomes drawn and all rest are skipped.

The representation depends on Z_SV_TRACE_VIEW switch in ZqbSVOptions: Z_SV_VIEW_VSP causes X-time, Y-coordinate and Z_SV_VIEW_S2D causes X-coordinate, Y-time.

Normalization procedure (and parameters in ZqbSVOptions) is applied to seismic traces before drawing.

Constructor & Destructor Documentation

ZdF3DSeismic::ZdF3DSeismic ( const char *  szFuncName)

Create uninitialized mapping from ZdSeismicFile properties to ZdFunction3D ones. Some iterations over ZdSeismicFile may be performed to evaluate coordinates, amplitudes distribution etc.

virtual ZdF3DSeismic::~ZdF3DSeismic ( )
virtual

Destroy the object.

ZdF3DSeismic::ZdF3DSeismic ( const char *  szFuncName)

Create uninitialized mapping from ZdSeismicFile properties to ZdFunction3D ones. Some iterations over ZdSeismicFile may be performed to evaluate coordinates, amplitudes distribution etc.

virtual ZdF3DSeismic::~ZdF3DSeismic ( )
virtual

Destroy the object.

Member Function Documentation

virtual int ZdF3DSeismic::argIndexX ( double  x)
virtual

Return index of given X coordinate value. Complexity depends on uniformness of the step along the axis: 1 for uniform step and N for non-uniform.

Reimplemented from ZdFunction3D.

virtual int ZdF3DSeismic::argIndexX ( double  x)
virtual

Return index of given X coordinate value. Complexity depends on uniformness of the step along the axis: 1 for uniform step and N for non-uniform.

Reimplemented from ZdFunction3D.

virtual int ZdF3DSeismic::argIndexY ( double  y)
virtual

Return index of given Y coordinate value. Complexity depends on uniformness of the step along the axis: 1 for uniform step and N for non-uniform.

Reimplemented from ZdFunction3D.

virtual int ZdF3DSeismic::argIndexY ( double  y)
virtual

Return index of given Y coordinate value. Complexity depends on uniformness of the step along the axis: 1 for uniform step and N for non-uniform.

Reimplemented from ZdFunction3D.

virtual double ZdF3DSeismic::argStepX ( )
virtual

Return step along X axis. Zero if the step is not uniform and otherwise if arguments along the axis goes with the same step determined with some precesion. Also returns 0 in case of errors (seismic is not set or number of coordinates is zero).

Reimplemented from ZdFunction3D.

virtual double ZdF3DSeismic::argStepX ( )
virtual

Return step along X axis. Zero if the step is not uniform and otherwise if arguments along the axis goes with the same step determined with some precesion. Also returns 0 in case of errors (seismic is not set or number of coordinates is zero).

Reimplemented from ZdFunction3D.

virtual double ZdF3DSeismic::argStepY ( )
virtual

Return step along Y axis. Zero if the step is not uniform and otherwise if arguments along the axis goes with the same step determined with some precesion. Also returns 0 in case of errors (seismic is not set or number of coordinates is zero).

Reimplemented from ZdFunction3D.

virtual double ZdF3DSeismic::argStepY ( )
virtual

Return step along Y axis. Zero if the step is not uniform and otherwise if arguments along the axis goes with the same step determined with some precesion. Also returns 0 in case of errors (seismic is not set or number of coordinates is zero).

Reimplemented from ZdFunction3D.

virtual double ZdF3DSeismic::argX ( int  iX)
virtual

Get time for given sample (Z_SV_VIEW_VSP) or exact coordinate (Z_SV_VIEW_S2D) or return 0 in case of error (seismic is not set or number of coordinates is zero).

Implements ZdFunction3D.

virtual double ZdF3DSeismic::argX ( int  iX)
virtual

Get time for given sample (Z_SV_VIEW_VSP) or exact coordinate (Z_SV_VIEW_S2D) or return 0 in case of error (seismic is not set or number of coordinates is zero).

Implements ZdFunction3D.

virtual double ZdF3DSeismic::argY ( int  iY)
virtual

Get exact coordinate (Z_SV_VIEW_VSP) or time for given sample (Z_SV_VIEW_S2D) or return 0 in case of error (seismic is not set or number of coordinates is zero).

Implements ZdFunction3D.

virtual double ZdF3DSeismic::argY ( int  iY)
virtual

Get exact coordinate (Z_SV_VIEW_VSP) or time for given sample (Z_SV_VIEW_S2D) or return 0 in case of error (seismic is not set or number of coordinates is zero).

Implements ZdFunction3D.

virtual bool ZdF3DSeismic::compatibleType ( const char *  szType) const
virtual

Return true if given type is compatible with this document.

Reimplemented from ZdFunction3D.

virtual bool ZdF3DSeismic::compatibleType ( const char *  szType) const
virtual

Return true if given type is compatible with this document.

Reimplemented from ZdFunction3D.

virtual int ZdF3DSeismic::countX ( )
virtual

Get number of time samples (Z_SV_VIEW_VSP) or number of unique coordinates (Z_SV_VIEW_S2D). Returns 0 if seismic is not set.

Implements ZdFunction3D.

virtual int ZdF3DSeismic::countX ( )
virtual

Get number of time samples (Z_SV_VIEW_VSP) or number of unique coordinates (Z_SV_VIEW_S2D). Returns 0 if seismic is not set.

Implements ZdFunction3D.

virtual int ZdF3DSeismic::countY ( )
virtual

Get number of number of unique coordinates (Z_SV_VIEW_VSP) or time samples (Z_SV_VIEW_S2D). Returns 0 if seismic is not set.

Implements ZdFunction3D.

virtual int ZdF3DSeismic::countY ( )
virtual

Get number of number of unique coordinates (Z_SV_VIEW_VSP) or time samples (Z_SV_VIEW_S2D). Returns 0 if seismic is not set.

Implements ZdFunction3D.

virtual double ZdF3DSeismic::func ( int  iX,
int  iY 
)
virtual

Get value of function in given point - z=f(iX,iY). In case of Z_SV_VIEW_VSP X means time and Y means coordinate. In case of Z_SV_VIEW_S2D X means coordinate and Y means time. If one of indeces is out of allowed range then simple extrapolation is performed.

Implements ZdFunction3D.

virtual double ZdF3DSeismic::func ( int  iX,
int  iY 
)
virtual

Get value of function in given point - z=f(iX,iY). In case of Z_SV_VIEW_VSP X means time and Y means coordinate. In case of Z_SV_VIEW_S2D X means coordinate and Y means time. If one of indeces is out of allowed range then simple extrapolation is performed.

Implements ZdFunction3D.

virtual void ZdF3DSeismic::getArgBoundsX ( double  b[2])
virtual

Return minimum and maximum values for X axis. If number of points along the axis is zero or if seismic is not set then {0,0} is returned.

Reimplemented from ZdFunction3D.

virtual void ZdF3DSeismic::getArgBoundsX ( double  b[2])
virtual

Return minimum and maximum values for X axis. If number of points along the axis is zero or if seismic is not set then {0,0} is returned.

Reimplemented from ZdFunction3D.

virtual void ZdF3DSeismic::getArgBoundsY ( double  b[2])
virtual

Return minimum and maximum values for Y axis. If number of points along the axis is zero or if seismic is not set then {0,0} is returned.

Reimplemented from ZdFunction3D.

virtual void ZdF3DSeismic::getArgBoundsY ( double  b[2])
virtual

Return minimum and maximum values for Y axis. If number of points along the axis is zero or if seismic is not set then {0,0} is returned.

Reimplemented from ZdFunction3D.

virtual void ZdF3DSeismic::getFuncBounds ( double  b[2])
virtual

Return minimum and maximum amplitudes in seismic file. If number of points is zero or seismic is not set then {0,0} is returned.

Reimplemented from ZdFunction3D.

virtual void ZdF3DSeismic::getFuncBounds ( double  b[2])
virtual

Return minimum and maximum amplitudes in seismic file. If number of points is zero or seismic is not set then {0,0} is returned.

Reimplemented from ZdFunction3D.

ZdSeismicFile* ZdF3DSeismic::getSeismicFile ( ) const

Get pointer to the seismic file object.

INLINE ZdSeismicFile * ZdF3DSeismic::getSeismicFile ( ) const

Get pointer to the seismic file object.

const ZqbSVOptions& ZdF3DSeismic::getSVOptions ( ) const

Get currently used seismic view options.

INLINE const ZqbSVOptions & ZdF3DSeismic::getSVOptions ( ) const

Get currently used seismic view options.

void ZdF3DSeismic::setSeismicFile ( ZdSeismicFile zdSeisFile,
const ZqbSVOptions rSVO 
)

Re-initialize ZdFunction3D by linking another seismic file and visualization options for it. It's possible to replace seismic file object by another one. A cache is created in memory to store all traces of seismic file (truely, only first trace of each ensemble is taken into the cache). Normalization procedure is applied before cache becomes filled.

void ZdF3DSeismic::setSeismicFile ( ZdSeismicFile zdSeisFile,
const ZqbSVOptions rSVO 
)

Re-initialize ZdFunction3D by linking another seismic file and visualization options for it. It's possible to replace seismic file object by another one. A cache is created in memory to store all traces of seismic file (truely, only first trace of each ensemble is taken into the cache). Normalization procedure is applied before cache becomes filled.

void ZdF3DSeismic::updateMinMax ( const float  mm[2])
protected

Update minimum and maximum.

INLINE void ZdF3DSeismic::updateMinMax ( const float  mm[2])
protected

Update minimum and maximum.

Member Data Documentation

double ZdF3DSeismic::m_fCoordStep
protected

Constant step along coordinate axis if > 0.0

ZqbSVOptions ZdF3DSeismic::m_Options
protected

Seismic view options are used in this object for next purposes:

  • mode of seismic traces drawing (Z_SV_VIEW_VSP - Y-axis coordinate, X-axis time; Z_SV_VIEW_S2D - X-axis coordinate, Y-axis time)
  • gain control options used by ZqbGainControl for amplitudes preprocessing
float ZdF3DSeismic::m_pfMinMax
protected

Min and max amplitudes in the whole seismic file after amplitudes normalization.

float * ZdF3DSeismic::m_pfSeismic
protected

Buffer used to cache seismic samples. Traces are placed consequently corodinate by coordinate and this order does not depend on axis interpretation.

std::vector< double > ZdF3DSeismic::m_vfCoords
protected

List of coordinates.

std::vector< int > ZdF3DSeismic::m_viTraceIds
protected

List of trace ids.

ZdSeismicFile * ZdF3DSeismic::m_zdSeisFile
protected

Attached seismic file which is represented via ZdFunction3D interface.


The documentation for this class was generated from the following files: