////////////////////////////////////////////////////////////////////////////// //文件: 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);