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.

69 lines
1.6 KiB
C

1 month ago
//////////////////////////////////////////////////////////////////////////////
//<2F>ļ<EFBFBD>: SegY<67><59>ʽ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
//
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д:
//<2F><><EFBFBD>ڣ<EFBFBD>2005-12-07
//
//
/////////////////////////////////////////////////////////////////////////////
#pragma once
#include "..\DrawLocal\FileSegy.h"
#include "format.h"
#include "formatitem.h"
namespace NMxn
{
class AFX_EXT_CLASS CMxnBase
{
public:
CMxnBase(void);
virtual ~CMxnBase(void);
public:
CFormatItem item; //<2F><>ǰ<EFBFBD><C7B0>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char * head; //<2F>ļ<EFBFBD>ͷ
virtual int Initialize(CString name);
virtual void Close(void);
__int64 GetTotalTraceNumber() { return m; }
int GetSampleNumber() { return n; }
double GetSampleInterval() { return m_SampleInterval; }
int GetFormatCode(void) { return m_nFormatCode; }
int GetSampleByteLength(void) { return sz;}
CString GetSegyName(void) { return m_segy; }
CFileSegy* GetFile(void) { return &fr; }
BOOL OpenSegy(void);
BOOL OpenSegyWrite(void);
BOOL OpenSegyReadWrite(void);
void CloseSegy(void);
BOOL IsOpenSegy(void) { return fr.IsOpen(); }
void operator=(CMxnBase& mb);
__int64 SeekToTrace(__int64 nTraceIndex); //<2F><>λ<EFBFBD><CEBB>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>
__int64 GetTracePos(__int64 nTraceIndex); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>е<EFBFBD>λ<EFBFBD><CEBB>
double BinaryToDouble(CBinaryPosition &fmt, int origin);//origin=SEEK_SET,SEEK_CUR,SEEK_END
double DoubleToBinary(double val, CBinaryPosition &fmt, int origin);
public:
CString m_segy;
CFormat format;
CFileSegy fr;
long m, n; //mΪ<6D>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ܵĵ<DCB5><C4B5><EFBFBD>,nΪÿ<CEAA><C3BF><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int sz; //ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽڳ<D6BD><DAB3><EFBFBD>
int m_nFormatCode; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵĸ<DDB5>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>,1=IBM float,5=IEEE float
double m_SampleInterval; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
}//namespace
using namespace NMxn;