|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F>ļ<EFBFBD>: SegY<67>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
|
|
|
|
|
|
//
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д: 2011-4-1
|
|
|
|
|
|
//
|
|
|
|
|
|
//
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include "BuilderBase.h"
|
|
|
|
|
|
#include "SeisIndex2D.h"
|
|
|
|
|
|
#include "SeisIndex3D.h"
|
|
|
|
|
|
#include "SeisFileHeader.h"
|
|
|
|
|
|
#include "ProgressThreadBase.h"
|
|
|
|
|
|
|
|
|
|
|
|
namespace NSeis
|
|
|
|
|
|
{
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//ͨ<><CDA8>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SegY<67>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5>ŵķ<C5B5>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ϵ<EFBFBD><CFB5>
|
|
|
|
|
|
//Ϊ<><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD>ת<E0BBA5><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D7BC>
|
|
|
|
|
|
//һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>SegY<67>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><CEAC>ά
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
class AFX_EXT_CLASS CSeisScanner : public CProgressThreadBase
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CSeisScanner(void);
|
|
|
|
|
|
~CSeisScanner(void);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
CSeisFileHeader fileHeader;
|
|
|
|
|
|
CSeisTraceHeader traceHeader;
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><CEAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>Ϣ
|
|
|
|
|
|
bool InitFileHeader(CFileSegy& fr, CSeisFileHeader& fileHeader);
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
CString m_strFileName;
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
//<2F><>Ҫ<EFBFBD><D2AA>д<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>
|
|
|
|
|
|
virtual bool DoThreadWork() = 0; //ִ<><D6B4><EFBFBD>̴߳<DFB3><CCB4><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
class AFX_EXT_CLASS CSeisScanner2D : public CSeisScanner
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CSeisScanner2D(void);
|
|
|
|
|
|
~CSeisScanner2D(void);
|
|
|
|
|
|
|
|
|
|
|
|
void AttachIndex(CSeisIndex2D* pIndex);
|
|
|
|
|
|
CSeisIndex2D* GetIndex() { return m_pIndex2D;}
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĽڵ㣬<DAB5>Ӷ<EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>
|
|
|
|
|
|
void SetRedundantError(double re) { m_dRedundantError = re; }
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>
|
|
|
|
|
|
bool ScannerAdd(LPCTSTR lpszFileName); //<2F><><EFBFBD><EFBFBD><EFBFBD>̣߳<DFB3><CCA3><EFBFBD><EFBFBD>ȴ<EFBFBD><C8B4>߳<EFBFBD>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŷ<EFBFBD><C5B7><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>SegY<67>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2D<32><44>ʽ<EFBFBD><CABD><EFBFBD>ӣ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ScannerAddһ<64><D2BB>
|
|
|
|
|
|
int SearchAdd(LPCTSTR lpszFilePath, LPCTSTR lpszExtName=_T("*.sgy"));
|
|
|
|
|
|
|
|
|
|
|
|
//<2F>Զ<EFBFBD>ά<EFBFBD><CEAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD>裬<EFBFBD><E8A3AC><EFBFBD>ɺص<F3B2A2BB><D8B5><EFBFBD>ά<EFBFBD>嶨λ<E5B6A8><CEBB>
|
|
|
|
|
|
bool ProcessFunc(); //<2F><>ʹ<EFBFBD><CAB9><EFBFBD>̷߳<DFB3>ʽ<EFBFBD><CABD>ֱ<EFBFBD><D6B1>ɨ<EFBFBD><C9A8><EFBFBD>ļ<EFBFBD>
|
|
|
|
|
|
CSeisIndexLine2D* Scanner(LPCTSTR lpszFileName);//ֱ<><D6B1>ɨ<EFBFBD><C9A8><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
virtual bool DoThreadWork() ; //ִ<><D6B4><EFBFBD>̴߳<DFB3><CCB4><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>ָ<EFBFBD><D6B8>
|
|
|
|
|
|
CSeisIndex2D* m_pIndex2D;
|
|
|
|
|
|
double m_dRedundantError; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
class AFX_EXT_CLASS CSeisScanner3D
|
|
|
|
|
|
: public CSeisScanner
|
|
|
|
|
|
, public CAttachBase
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CSeisScanner3D(void);
|
|
|
|
|
|
~CSeisScanner3D(void);
|
|
|
|
|
|
|
|
|
|
|
|
CSeisIndex3D* GetIndex() { return (CSeisIndex3D*)GetInput(); }
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ά<EFBFBD><CEAC><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>
|
|
|
|
|
|
bool Scanner(LPCTSTR lpszFileName); //<2F><><EFBFBD><EFBFBD><EFBFBD>̣߳<DFB3><CCA3><EFBFBD><EFBFBD>ȴ<EFBFBD><C8B4>߳<EFBFBD>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŷ<EFBFBD><C5B7><EFBFBD>
|
|
|
|
|
|
bool ProcessFunc(); //<2F><>ʹ<EFBFBD><CAB9><EFBFBD>̷߳<DFB3>ʽ<EFBFBD><CABD>ֱ<EFBFBD><D6B1>ɨ<EFBFBD><C9A8><EFBFBD>ļ<EFBFBD>
|
|
|
|
|
|
bool Scanner(CFileSegy& fr); //ֱ<><D6B1>ɨ<EFBFBD><C9A8><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>߳<EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
virtual bool DoThreadWork() ; //ִ<><D6B4><EFBFBD>̴߳<DFB3><CCB4><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
} //namespace NSeis
|
|
|
|
|
|
|
|
|
|
|
|
using namespace NSeis;
|