You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
2.2 KiB
C++
59 lines
2.2 KiB
C++
//////////////////////////////////////////////////////////////////////////////
|
|
//文件: SegY文件操作类
|
|
//主要功能:
|
|
//
|
|
//程序编写: 2005-12-07
|
|
//
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#pragma once
|
|
#include "sectionbase.h"
|
|
|
|
class AFX_EXT_CLASS CSectionDraw :
|
|
public CSectionBase
|
|
{
|
|
public:
|
|
CSectionDraw(void);
|
|
virtual ~CSectionDraw(void);
|
|
|
|
virtual void Serialize(CArchive& ar, const short& ver);
|
|
virtual void Clear(void);
|
|
virtual void operator=(CSectionDraw& sb);
|
|
|
|
protected:
|
|
virtual void SectionMath(CVector& vt); //对读取的地震道进行处理
|
|
void DrawRightSolid(CDC* pDC,CCurve &mCurve,double x0, double y0, double dx, double dy,int height,int nStartIndex,int nEndIndex);
|
|
void DrawLeftSolid (CDC* pDC,CCurve &mCurve,double x0, double y0, double dx, double dy,int height,int nStartIndex,int nEndIndex);
|
|
void DrawT0 (CDC *pDC,CCurve &mCurve,double x0, double y0, double dx, double dy,int height,int nStartIndex,int nEndIndex);
|
|
void Draw2Vdf(CDC *pDC,int x1,int x2,double y0,double dy,CVector *v,void *pColor,int height,int nStartIndex,int nEndIndex);
|
|
void Draw2V(CDC *pDC,int x1,int x2,double y0,double dy,CVector *v,void *pColor,int height,int nStartIndex,int nEndIndex);
|
|
CPoint* pSolid; //块充填数组
|
|
|
|
public:
|
|
double m_dSolidMinimumWidth; //变面积显示时的最小充填块的实际振幅宽度
|
|
double m_dSolidMaximalWidth; //变面积显示时的最大充填块的实际振幅宽度
|
|
int WidthPixel;
|
|
int HeightPixel;
|
|
|
|
//滤波参数
|
|
double filter1,filter2;
|
|
long filter_mode;
|
|
|
|
public:
|
|
void DrawOld (CDC *pDC,double x0, double y0,double dx, double dy,int step,double times,int IsSolid);
|
|
void DrawOld (CDC *pDC,double x0, double y0,double dx, double dy,int step,void *pColor,int IsDF=0);
|
|
|
|
void Draw (CDC *pDC,double x0, double y0,double dx, double dy,int step,double times,int IsSolid);
|
|
void Draw (CDC *pDC,double x0, double y0,double dx, double dy,int step,void *pColor,int IsDF=0);
|
|
void DrawDepth (CDC *pDC,double x0, double y0,double dx, double dy,int step,void *pColor,int IsDF=0);
|
|
|
|
BOOL IsFilterMode(void);
|
|
};
|
|
|
|
|
|
AFX_EXT_API void WINAPI GetMaximum(CVector &vt,CCurve &cu);
|
|
AFX_EXT_API void WINAPI GetMaximum(CCurve &cu);
|
|
AFX_EXT_API void WINAPI GetMaximum(CVector &vt,int times);
|
|
AFX_EXT_API void WINAPI GetMaximum(CVector &vt);
|