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

#include <zq_seismic_trace.hpp>

Inheritance diagram for ZqSeismicTrace:
ZqView ZqView ZqbView ZqObject ZqbView ZqObject ZqbView ZqObject ZqbView ZqObject

Public Member Functions

 ZqSeismicTrace (ZqbNatGroup &rNatTime, ZqbNatGroup &rNatCoord, const char *szName=NULL)
 
 ZqSeismicTrace (ZqbNatGroup &rNatTime, ZqbNatGroup &rNatCoord, ZqbPlaceholder *pPh, const char *szName=NULL)
 
virtual void setLedgeSize (int nPixels)
 
virtual int getLedgeSize () const
 
virtual void setThickness (int nPixels)
 
virtual int getThickness () const
 
virtual bool compatibleDoc (const ZdDocument *pDoc) const
 
virtual void describeTrace (const ZqbAbstrTrace &atr)
 
virtual void attachTrace (ZdTrace *pTrace, double coord)
 
virtual void detachDoc ()
 
virtual ZdTracetrace ()
 
virtual double & coord ()
 
virtual void drawTrace (ZqbBarDraw &drawer, double coord, int half_area, const float *pSamples, float fT0=0.0)
 
virtual void drawTrace (ZqbSeismicTraceCGM *pCGM, double coord, int half_area, const float *pSamples, float fT0=0.0)
 
virtual void redraw (QPainter &paint)
 
virtual void traceOutline (QPointArray &paOutline, double coord, int half_area, const float *pSamples)
 
int ampl2pixel (int iSample, float fAmpl)
 
float pixel2ampl (int iSample, int iPixel)
 
 ZqSeismicTrace (ZqbNatGroup &rNatTime, ZqbNatGroup &rNatCoord, const char *szName=NULL)
 
 ZqSeismicTrace (ZqbNatGroup &rNatTime, ZqbNatGroup &rNatCoord, ZqbPlaceholder *pPh, const char *szName=NULL)
 
virtual void setLedgeSize (int nPixels)
 
virtual int getLedgeSize () const
 
virtual void setThickness (int nPixels)
 
virtual int getThickness () const
 
virtual bool compatibleDoc (const ZdDocument *pDoc) const
 
virtual void describeTrace (const ZqbAbstrTrace &atr)
 
virtual void attachTrace (ZdTrace *pTrace, double coord)
 
virtual void detachDoc ()
 
virtual ZdTracetrace ()
 
virtual double & coord ()
 
virtual void drawTrace (ZqbBarDraw &drawer, double coord, int half_area, const float *pSamples, float fT0=0.0)
 
virtual void drawTrace (ZqbSeismicTraceCGM *pCGM, double coord, int half_area, const float *pSamples, float fT0=0.0)
 
virtual void redraw (QPainter &paint)
 
virtual void traceOutline (QPolygon &paOutline, double coord, int half_area, const float *pSamples)
 
int ampl2pixel (int iSample, float fAmpl)
 
float pixel2ampl (int iSample, int iPixel)
 
- Public Member Functions inherited from ZqView
 ZqView (const char *szName=NULL)
 
 ZqView (ZqbPlaceholder *pPh, const char *szName=NULL)
 
virtual void updateView ()
 
virtual void attachDoc (ZdDocument *pData)
 
 ZqView (const char *szName=NULL)
 
 ZqView (ZqbPlaceholder *pPh, const char *szName=NULL)
 
virtual void updateView ()
 
virtual void attachDoc (ZdDocument *pData)
 
- Public Member Functions inherited from ZqObject
 ZqObject (const char *szName=NULL)
 
 ZqObject (ZqbPlaceholder *pPh, const char *szName=NULL)
 
virtual ~ZqObject ()
 
virtual void debugState ()
 
virtual void clearPlace ()
 
virtual ZqbPlaceholderVector * placeholders ()
 
virtual ZqbEventHint input (QEvent &event)
 
virtual void updateLimits (QPainter *paint=NULL)
 
virtual void updateGeometry ()
 
virtual QPainter * getScreenPainter () const
 
virtual void setScreenPainter (QPainter *pPainter)
 
virtual QzqAreagetArea () const
 
virtual QWidget * getAreaWidget () const
 
virtual void setAreaWidget (QWidget *pWidget)
 
virtual bool isHardcopy () const
 
bool isPlaced () const
 
ZqbPlaceholdergetPlace () const
 
ZqbPixGrpMemberpx () const
 
ZqbPixGrpMemberpy () const
 
bool getRect (QRect &rect) const
 
virtual bool attachToPlace (ZqbPlaceholder *pPh)
 
virtual bool detachFromPlace ()
 
virtual void setDirty ()
 
virtual void resetDirty ()
 
virtual bool isDirty () const
 
void setInteractive (bool bInteractive)
 
bool isInteractive () const
 
virtual void fullRedraw (bool bForce=false)
 
virtual void interactiveRedraw ()
 
 ZqObject (const char *szName=NULL)
 
 ZqObject (ZqbPlaceholder *pPh, const char *szName=NULL)
 
virtual ~ZqObject ()
 
virtual void debugState ()
 
virtual void clearPlace ()
 
virtual ZqbPlaceholderVector * placeholders ()
 
virtual ZqbEventHint input (QEvent &event)
 
virtual void updateLimits (QPainter *paint=NULL)
 
virtual void updateGeometry ()
 
virtual QPainter * getScreenPainter () const
 
virtual void setScreenPainter (QPainter *pPainter)
 
virtual QzqAreagetArea () const
 
virtual QWidget * getAreaWidget () const
 
virtual void setAreaWidget (QWidget *pWidget)
 
virtual bool isHardcopy () const
 
bool isPlaced () const
 
ZqbPlaceholdergetPlace () const
 
ZqbPixGrpMemberpx () const
 
ZqbPixGrpMemberpy () const
 
bool getRect (QRect &rect) const
 
virtual bool attachToPlace (ZqbPlaceholder *pPh)
 
virtual bool detachFromPlace ()
 
virtual void setDirty ()
 
virtual void resetDirty ()
 
virtual bool isDirty () const
 
void setInteractive (bool bInteractive)
 
bool isInteractive () const
 
virtual void fullRedraw (bool bForce=false)
 
virtual void interactiveRedraw ()
 
- 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
 
- Public Member Functions inherited from ZqbVisible
 ZqbVisible (bool bDrawable=false, bool bInputable=false, bool bTipable=false)
 
virtual ~ZqbVisible ()
 
virtual bool isDrawable () const
 
virtual void setDrawable (bool bFlag)
 
virtual void redraw ()
 
virtual void setTipable (bool bFlag)
 
virtual bool isTipable () const
 
virtual bool tip (const QPoint &p, QString &qsShort, QString &qsLong)
 
virtual bool isInputable () const
 
virtual void setInputable (bool bFlag)
 
virtual bool getRect (QRect &)
 
virtual bool setRect (const QRect &)
 
 ZqbVisible (bool bDrawable=false, bool bInputable=false, bool bTipable=false)
 
virtual ~ZqbVisible ()
 
virtual bool isDrawable () const
 
virtual void setDrawable (bool bFlag)
 
virtual void redraw ()
 
virtual void setTipable (bool bFlag)
 
virtual bool isTipable () const
 
virtual bool tip (const QPoint &p, QString &qsShort, QString &qsLong)
 
virtual bool isInputable () const
 
virtual void setInputable (bool bFlag)
 
virtual bool getRect (QRect &)
 
virtual bool setRect (const QRect &)
 
- Public Member Functions inherited from ZqbView
 ZqbView (const char *szName=NULL)
 
virtual ~ZqbView ()
 
virtual ZdDocumentdoc ()
 
virtual void updateDoc ()
 
 ZqbView (const char *szName=NULL)
 
virtual ~ZqbView ()
 
virtual ZdDocumentdoc ()
 
virtual void updateDoc ()
 

Public Attributes

ZqbNatGrpMember m_Time
 
ZqbNatGrpMember m_Coord
 
float m_fAmax
 
ZqbSVOptions m_Options
 
bool m_bAltDrawMethod
 

Static Public Attributes

static bool s_bPaintToCGM
 

Protected Attributes

ZqbAbstrTrace m_aTrace
 
ZdTracem_pTrace
 
double m_fTrCoord
 
int m_iLedgeSize
 
int m_iThickness
 
- Protected Attributes inherited from ZqObject
ZqbPlaceholderm_pPh
 
ZqbPixGrpMemberm_pPx
 
ZqbPixGrpMemberm_pPy
 
bool m_bInteractive
 
- Protected Attributes inherited from ZqbName
char * m_szName
 
char * m_szRoot
 

Additional Inherited Members

- Static Public Member Functions inherited from ZqbView
static bool findTypeAmong (const ZdDocument *pDoc, const char *szExpectedType1,...)
 
static bool findTypeAmong (const ZdDocument *pDoc, const char *szExpectedType1,...)
 

Detailed Description

Object for seismic trace drawing in wiggle mode.

It's supposed to use this object in two different modes:

Orientation of time axis (vertical or horizontal) is controlled in point ZdTrace attachment (temporal or permanent). Z_F_ARG_VER means usual orientation for surface seismic and Z_F_ARG_HOR is usual for VSP.

No gain control procedures are applied here! Do them outside.

test_zq_seismic_trace_2.png

Constructor & Destructor Documentation

ZqSeismicTrace::ZqSeismicTrace ( ZqbNatGroup rNatTime,
ZqbNatGroup rNatCoord,
const char *  szName = NULL 
)

Create seismic trace drawing object without placeholder. Natural coordinates for time and coordinate axis are provided.

ZqSeismicTrace::ZqSeismicTrace ( ZqbNatGroup rNatTime,
ZqbNatGroup rNatCoord,
ZqbPlaceholder pPh,
const char *  szName = NULL 
)

Create seismic trace drawing object at given place. Natural coordinates for time and amplitude axis are provided.

ZqSeismicTrace::ZqSeismicTrace ( ZqbNatGroup rNatTime,
ZqbNatGroup rNatCoord,
const char *  szName = NULL 
)

Create seismic trace drawing object without placeholder. Natural coordinates for time and coordinate axis are provided.

ZqSeismicTrace::ZqSeismicTrace ( ZqbNatGroup rNatTime,
ZqbNatGroup rNatCoord,
ZqbPlaceholder pPh,
const char *  szName = NULL 
)

Create seismic trace drawing object at given place. Natural coordinates for time and amplitude axis are provided.

Member Function Documentation

int ZqSeismicTrace::ampl2pixel ( int  iSample,
float  fAmpl 
)

Calculate pixel offset (at given sample) from zero line for given amplitude according to current gain control operator and currently attched trace. The function is slow for drawing, but fast enough for sample-by-sample interactive trace editing.

int ZqSeismicTrace::ampl2pixel ( int  iSample,
float  fAmpl 
)

Calculate pixel offset (at given sample) from zero line for given amplitude according to current gain control operator and currently attched trace. The function is slow for drawing, but fast enough for sample-by-sample interactive trace editing.

virtual void ZqSeismicTrace::attachTrace ( ZdTrace pTrace,
double  coord 
)
virtual

Attach trace with samples supplying the information about trace coordinate and starting-ending of actual samples. The attached trace is redrawn permanently until detach. This is method of single trace mode.

virtual void ZqSeismicTrace::attachTrace ( ZdTrace pTrace,
double  coord 
)
virtual

Attach trace with samples supplying the information about trace coordinate and starting-ending of actual samples. The attached trace is redrawn permanently until detach. This is method of single trace mode.

virtual bool ZqSeismicTrace::compatibleDoc ( const ZdDocument pDoc) const
virtual

Return true if passed object is in list of compatible documents for this view. ZdTrace and subclasses are welcome.

Implements ZqbView.

virtual bool ZqSeismicTrace::compatibleDoc ( const ZdDocument pDoc) const
virtual

Return true if passed object is in list of compatible documents for this view. ZdTrace and subclasses are welcome.

Implements ZqbView.

virtual double& ZqSeismicTrace::coord ( )
virtual

Return coordinate of attached trace. The result is valid only if trace()!=NULL.

virtual double& ZqSeismicTrace::coord ( )
virtual

Return coordinate of attached trace. The result is valid only if trace()!=NULL.

virtual void ZqSeismicTrace::describeTrace ( const ZqbAbstrTrace atr)
virtual

Set common trace parameters. This is preparation for trace painter mode. It's not advised to change m_Options after this procedure.

virtual void ZqSeismicTrace::describeTrace ( const ZqbAbstrTrace atr)
virtual

Set common trace parameters. This is preparation for trace painter mode. It's not advised to change m_Options after this procedure.

virtual void ZqSeismicTrace::detachDoc ( )
virtual

Detach trace disabling drawin in single trace mode. Withdraws information about ranges for coordinate and time of the trace.

Reimplemented from ZqView.

virtual void ZqSeismicTrace::detachDoc ( )
virtual

Detach trace disabling drawin in single trace mode. Withdraws information about ranges for coordinate and time of the trace.

Reimplemented from ZqView.

virtual void ZqSeismicTrace::drawTrace ( ZqbBarDraw drawer,
double  coord,
int  half_area,
const float *  pSamples,
float  fT0 = 0.0 
)
virtual

Superdirect draw procedure for given trace without making copy of it in intermediate buffer. Z_SV_WIGGLE_CODING is used in rectangle around given coordinate in given pixel area. Half height/width of pixel area is provided unsually by getLedgeSize().

virtual void ZqSeismicTrace::drawTrace ( ZqbBarDraw drawer,
double  coord,
int  half_area,
const float *  pSamples,
float  fT0 = 0.0 
)
virtual

Superdirect draw procedure for given trace without making copy of it in intermediate buffer. Z_SV_WIGGLE_CODING is used in rectangle around given coordinate in given pixel area. Half height/width of pixel area is provided unsually by getLedgeSize().

virtual void ZqSeismicTrace::drawTrace ( ZqbSeismicTraceCGM *  pCGM,
double  coord,
int  half_area,
const float *  pSamples,
float  fT0 = 0.0 
)
virtual

Superdirect draw procedure for given trace without making copy of it in intermediate buffer. Z_SV_WIGGLE_CODING is used in rectangle around given coordinate in given pixel area. Half height/width of pixel area is provided usually by getLedgeSize(). CGM painting device is used as a target.

virtual void ZqSeismicTrace::drawTrace ( ZqbSeismicTraceCGM *  pCGM,
double  coord,
int  half_area,
const float *  pSamples,
float  fT0 = 0.0 
)
virtual

Superdirect draw procedure for given trace without making copy of it in intermediate buffer. Z_SV_WIGGLE_CODING is used in rectangle around given coordinate in given pixel area. Half height/width of pixel area is provided usually by getLedgeSize(). CGM painting device is used as a target.

virtual int ZqSeismicTrace::getLedgeSize ( ) const
virtual

Return size of maximum amplitude in pixels.

virtual int ZqSeismicTrace::getLedgeSize ( ) const
virtual

Return size of maximum amplitude in pixels.

virtual int ZqSeismicTrace::getThickness ( ) const
virtual

Get thickness of alternative trace drawing method.

virtual int ZqSeismicTrace::getThickness ( ) const
virtual

Get thickness of alternative trace drawing method.

float ZqSeismicTrace::pixel2ampl ( int  iSample,
int  iPixel 
)

Calculate amplitude (at given sample) from pixel offset (based from zero line) according to current gain control operator and currently attched trace.

float ZqSeismicTrace::pixel2ampl ( int  iSample,
int  iPixel 
)

Calculate amplitude (at given sample) from pixel offset (based from zero line) according to current gain control operator and currently attched trace.

virtual void ZqSeismicTrace::redraw ( QPainter &  paint)
virtual

General drawing method for single trace mode. Just calls for drawTrace() with stored coordinate and getLedgeSize().

Reimplemented from ZqObject.

virtual void ZqSeismicTrace::redraw ( QPainter &  paint)
virtual

General drawing method for single trace mode. Just calls for drawTrace() with stored coordinate and getLedgeSize().

Reimplemented from ZqObject.

virtual void ZqSeismicTrace::setLedgeSize ( int  nPixels)
virtual

Set size of maximum amplitude in pixels. This is half of bounding box height/width (for VSP/S2D trace orientation).

virtual void ZqSeismicTrace::setLedgeSize ( int  nPixels)
virtual

Set size of maximum amplitude in pixels. This is half of bounding box height/width (for VSP/S2D trace orientation).

virtual void ZqSeismicTrace::setThickness ( int  nPixels)
virtual

Set thickness of alternative trace drawing method.

virtual void ZqSeismicTrace::setThickness ( int  nPixels)
virtual

Set thickness of alternative trace drawing method.

virtual ZdTrace* ZqSeismicTrace::trace ( )
virtual

Return pointer to attached trace.

virtual ZdTrace* ZqSeismicTrace::trace ( )
virtual

Return pointer to attached trace.

virtual void ZqSeismicTrace::traceOutline ( QPolygon &  paOutline,
double  coord,
int  half_area,
const float *  pSamples 
)
virtual

The procedure creates polyline of pixel points. The method takes into account next m_Options: m_eTraceView, m_fCutLevel, m_fAlmostZeroThd.

virtual void ZqSeismicTrace::traceOutline ( QPointArray &  paOutline,
double  coord,
int  half_area,
const float *  pSamples 
)
virtual

The procedure creates polyline of pixel points. The method takes into account next m_Options: m_eTraceView, m_fCutLevel, m_fAlmostZeroThd.

Member Data Documentation

ZqbAbstrTrace ZqSeismicTrace::m_aTrace
protected

Parameters of traces in trace painter mode.

bool ZqSeismicTrace::m_bAltDrawMethod

Use alternative mode of drawing (don't use ZqbBarDraw). Less drawing options are supported. This mode is off by default.

ZqbNatGrpMember ZqSeismicTrace::m_Coord

Bounds for coordinate axis and access to natural group.

float ZqSeismicTrace::m_fAmax

Maximum amplitude.

double ZqSeismicTrace::m_fTrCoord
protected

Coordinate of attached trace.

int ZqSeismicTrace::m_iLedgeSize
protected

Half-size of bounding box of a trace drawing area. It's pixel equivalent to maximum amplitude of the trace after gain control procedure.

int ZqSeismicTrace::m_iThickness
protected

Thickness of line drawn in alternative drawing method.

ZqbSVOptions ZqSeismicTrace::m_Options

Drawing options.

ZdTrace * ZqSeismicTrace::m_pTrace
protected

Pointer to attached trace for single trace mode or NULL.

ZqbNatGrpMember ZqSeismicTrace::m_Time

Bounds for time axis and access to natural group.

static bool ZqSeismicTrace::s_bPaintToCGM
static

Special flag for drawing traces to CGM painting device. It's off by default.


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