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.
kev/Drawer/SSBase/MxnFormat/SeisTraceReader.h

58 lines
1.5 KiB
C

1 month ago
//////////////////////////////////////////////////////////////////////////////
//<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 "SeisSampleInfo.h"
#include "SeisTraceData.h"
namespace NSeis
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ݵĶ<DDB5>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
class AFX_EXT_CLASS CSeisTraceReader
{
public:
CSeisTraceReader();
~CSeisTraceReader(void);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>ͷָ<CDB7><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*******************
void SetSampleInfo(unsigned short sn, unsigned short si, CFileSegy::EDataType type, BOOL bSwap);
void SetSampleInfo(const CSeisSampleInfo& info);
CSeisTraceData* GetTraceData() { return m_pData; }
CSeisSampleInfo& GetSampleInfo(){ return m_sampleInfo; }
//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EBA3AC><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1>ʹ<EFBFBD><CAB9>Attachʱ<68><CAB1><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5>øú<C3B8><C3BA><EFBFBD>
bool Initialize();
void Clear();
//<2F><>ȡһ<C8A1><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>Ҫ<EFBFBD><D2AA><EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD>
int Read(CFileSegy& fr);
//<2F><><EFBFBD><EFBFBD>m_sampleInfo<66>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><E4B7BD><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>ʹ<EFBFBD>øú<C3B8><C3BA><EFBFBD>ǰ<EFBFBD><C7B0>Ҫ<EFBFBD><D2AA>λ<EFBFBD><CEBB><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>ʼλ<CABC><CEBB>
int ReadRange(CFileSegy& fr);
//<2F><>ָ<EFBFBD><D6B8>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>а󶨣<D0B0><F3B6A8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Detach<63><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>Ը<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void Attach(CSeisTraceData* pData);
CSeisTraceData* Detach(void); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EBA3AC><EFBFBD>ڲ<EFBFBD><DAB2>ÿ<EFBFBD>
//<2F><><EFBFBD>øõ<C3B8><C3B5>е<EFBFBD>nIndex<65><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
inline double GetValue(int nIndex) { return m_pData->GetValue(nIndex, m_sampleInfo.GetFormatCode()); }
public:
CSeisSampleInfo m_sampleInfo; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><E5A3AC>Ҫ<EFBFBD><D2AA>ǰָ<C7B0><D6B8>
protected:
CSeisTraceData* m_pData; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
} //namespace NSeis